diff --git a/.github/workflows/cake_wallet.yaml b/.github/workflows/cake_wallet.yaml deleted file mode 100644 index 987a7cc..0000000 --- a/.github/workflows/cake_wallet.yaml +++ /dev/null @@ -1,249 +0,0 @@ -name: Build cake_wallet for android -on: [push] -permissions: - issues: write - pull-requests: write - -jobs: - cake_wallet: - runs-on: ubuntu-20.04 - env: - STORE_PASS: test@cake_wallet - KEY_PASS: test@cake_wallet - PR_NUMBER: ${{ github.ref_name }} - - steps: - - name: set branch name - run: echo "BRANCH_NAME=${{ github.ref_name }}" >> $GITHUB_ENV - - - uses: actions/checkout@v4 - with: - repository: MrCyjaneK/monero_c - fetch-depth: 0 - submodules: recursive - - - name: Patch sources - run: | - git config --global --add safe.directory '*' - git config --global user.email "ci@mrcyjanek.net" - git config --global user.name "CI mrcyjanek.net" - ./apply_patches.sh monero - ./apply_patches.sh wownero - - - name: ccache - uses: hendrikmuhs/ccache-action@v1.2 - with: - key: ${{ github.job }}-monero - - - name: Cache built - if: ${{ !startsWith(github.ref, 'refs/tags/v') }} - uses: actions/cache@v4 - with: - path: | - */contrib/depends/built/* - key: depends-${{ github.job }}-monero-${{ hashFiles('*/contrib/depends/packages/*.mk') }} - - - name: build monero_c - run: | - ./build_single.sh monero aarch64-linux-android -j$(nproc) - ./build_single.sh wownero aarch64-linux-android -j$(nproc) - unxz -f -k release/*/*.xz - mv release /opt/monero_c_release - - - name: Free Disk Space (Ubuntu) - uses: insightsengineering/disk-space-reclaimer@v1 - with: - tools-cache: true - android: false - dotnet: true - haskell: true - large-packages: true - swap-storage: true - docker-images: true - - - uses: actions/setup-java@v4 - with: - distribution: 'zulu' - java-version: "17.x" - - name: Configure placeholder git details - run: | - git config --global user.email "CI@cakewallet.com" - git config --global user.name "Cake Github Actions" - - name: Flutter action - uses: subosito/flutter-action@v2 - with: - flutter-version: "3.19.6" - channel: stable - - - name: Install package dependencies - run: sudo apt-get install -y curl unzip automake build-essential file pkg-config git python libtool libtinfo5 cmake clang - - - name: Execute Build and Setup Commands - run: | - sudo mkdir -p /opt/android - sudo chown $USER /opt/android - cd /opt/android - -y curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh - cargo install cargo-ndk - git clone https://github.com/cake-tech/cake_wallet.git --branch main --depth=1 - cd cake_wallet/scripts/android/ - ./install_ndk.sh - source ./app_env.sh cakewallet - chmod +x pubspec_gen.sh - ./app_config.sh - mkdir -p /opt/android/cake_wallet/scripts/monero_c - mv /opt/monero_c_release /opt/android/cake_wallet/scripts/monero_c/release - - - name: Install Flutter dependencies - run: | - cd /opt/android/cake_wallet - flutter pub get - - - name: Generate KeyStore - run: | - cd /opt/android/cake_wallet/android/app - keytool -genkey -v -keystore key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias testKey -noprompt -dname "CN=CakeWallet, OU=CakeWallet, O=CakeWallet, L=Florida, S=America, C=USA" -storepass $STORE_PASS -keypass $KEY_PASS - - - name: Generate key properties - run: | - cd /opt/android/cake_wallet - flutter packages pub run tool/generate_android_key_properties.dart keyAlias=testKey storeFile=key.jks storePassword=$STORE_PASS keyPassword=$KEY_PASS - - - name: Generate localization - run: | - cd /opt/android/cake_wallet - flutter packages pub run tool/generate_localization.dart - - - name: Build generated code - run: | - cd /opt/android/cake_wallet - ./model_generator.sh - - - name: Add secrets - run: | - cd /opt/android/cake_wallet - touch lib/.secrets.g.dart - touch cw_evm/lib/.secrets.g.dart - touch cw_solana/lib/.secrets.g.dart - touch cw_core/lib/.secrets.g.dart - touch cw_nano/lib/.secrets.g.dart - touch cw_tron/lib/.secrets.g.dart - echo "const salt = 'd551f8841584b0ce37edf6fd59177d35';" > lib/.secrets.g.dart - echo "const keychainSalt = '34c626b6a4f8cb6789897c09';" >> lib/.secrets.g.dart - echo "const key = 'd8ab7230137ebadeb1c4e429395eced1';" >> lib/.secrets.g.dart - echo "const walletSalt = 'a9a49562';" >> lib/.secrets.g.dart - echo "const shortKey = 'c1b21c5050527842350dc8f5';" >> lib/.secrets.g.dart - echo "const backupSalt = 'b3e42404f90ca8e8';" >> lib/.secrets.g.dart - echo "const backupKeychainSalt = '9e0f3c4d347bc99509695a86';" >> lib/.secrets.g.dart - echo "const changeNowApiKey = '';" >> lib/.secrets.g.dart - echo "const changeNowApiKeyDesktop = '';" >> lib/.secrets.g.dart - echo "const wyreSecretKey = '';" >> lib/.secrets.g.dart - echo "const wyreApiKey = '';" >> lib/.secrets.g.dart - echo "const wyreAccountId = '';" >> lib/.secrets.g.dart - echo "const moonPayApiKey = '';" >> lib/.secrets.g.dart - echo "const moonPaySecretKey = '';" >> lib/.secrets.g.dart - echo "const sideShiftAffiliateId = '';" >> lib/.secrets.g.dart - echo "const simpleSwapApiKey = '';" >> lib/.secrets.g.dart - echo "const simpleSwapApiKeyDesktop = '';" >> lib/.secrets.g.dart - echo "const onramperApiKey = '';" >> lib/.secrets.g.dart - echo "const anypayToken = '';" >> lib/.secrets.g.dart - echo "const ioniaClientId = '';" >> lib/.secrets.g.dart - echo "const twitterBearerToken = '';" >> lib/.secrets.g.dart - echo "const trocadorApiKey = '';" >> lib/.secrets.g.dart - echo "const trocadorExchangeMarkup = '';" >> lib/.secrets.g.dart - echo "const anonPayReferralCode = '';" >> lib/.secrets.g.dart - echo "const fiatApiKey = '';" >> lib/.secrets.g.dart - echo "const payfuraApiKey = '';" >> lib/.secrets.g.dart - echo "const ankrApiKey = '';" >> lib/.secrets.g.dart - echo "const etherScanApiKey = '';" >> cw_evm/lib/.secrets.g.dart - echo "const moralisApiKey = '';" >> cw_evm/lib/.secrets.g.dart - echo "const chatwootWebsiteToken = '';" >> lib/.secrets.g.dart - echo "const exolixApiKey = '';" >> lib/.secrets.g.dart - echo "const robinhoodApplicationId = '';" >> lib/.secrets.g.dart - echo "const exchangeHelperApiKey = '';" >> lib/.secrets.g.dart - echo "const walletConnectProjectId = '';" >> lib/.secrets.g.dart - echo "const moralisApiKey = '';" >> lib/.secrets.g.dart - echo "const polygonScanApiKey = '';" >> cw_evm/lib/.secrets.g.dart - echo "const ankrApiKey = '';" >> cw_solana/lib/.secrets.g.dart - echo "const testCakePayApiKey = '';" >> lib/.secrets.g.dart - echo "const cakePayApiKey = '';" >> lib/.secrets.g.dart - echo "const authorization = '';" >> lib/.secrets.g.dart - echo "const CSRFToken = '';" >> lib/.secrets.g.dart - echo "const quantexExchangeMarkup = '';" >> lib/.secrets.g.dart - echo "const nano2ApiKey = '';" >> cw_nano/lib/.secrets.g.dart - echo "const nanoNowNodesApiKey = '';" >> cw_nano/lib/.secrets.g.dart - echo "const tronGridApiKey = '';" >> cw_tron/lib/.secrets.g.dart - echo "const tronNowNodesApiKey = '';" >> cw_tron/lib/.secrets.g.dart - - - name: Rename app - run: | - echo -e "id=com.cakewallet.moneroc_${{ env.PR_NUMBER }}\nname=${{ github.ref_name }}" | sed 's/[^a-zA-Z0-9=\n.]//g' > /opt/android/cake_wallet/android/app.properties - - - name: Build - run: | - cd /opt/android/cake_wallet - flutter build apk --release --split-per-abi - - - name: Rename apk file - run: | - cd /opt/android/cake_wallet/build/app/outputs/flutter-apk - mkdir test-apk - cp app-arm64-v8a-release.apk "test-apk/$(echo ${{ github.ref_name }} | sed 's/[^a-zA-Z0-9]//g').apk" - - - name: Upload Artifact - uses: kittaakos/upload-artifact-as-is@v0 - with: - path: /opt/android/cake_wallet/build/app/outputs/flutter-apk/test-apk/ - - - name: remove android_ndk - run: | - rm -rf monero/contrib/depends/built/*/android_ndk - rm -rf monero/contrib/depends/sources/android-ndk-r26d-linux.zip - rm -rf wownero/contrib/depends/built/*/android_ndk - rm -rf wownero/contrib/depends/sources/android-ndk-r26d-linux.zip - - uses: actions/github-script@v7 - continue-on-error: true - id: get_issue_number - with: - script: | - if (context.issue.number) { - // Return issue number if present - return context.issue.number; - } else { - // Otherwise return issue number from commit - return ( - await github.rest.repos.listPullRequestsAssociatedWithCommit({ - commit_sha: context.sha, - owner: context.repo.owner, - repo: context.repo.repo, - }) - ).data[0].number; - } - result-encoding: string - - name: Find Comment - continue-on-error: true - uses: peter-evans/find-comment@v3 - id: fc - with: - issue-number: ${{steps.get_issue_number.outputs.result}} - comment-author: 'github-actions[bot]' - body-includes: download cake_wallet - - - name: Create or update comment - continue-on-error: true - if: steps.fc.outcome == 'success' - uses: peter-evans/create-or-update-comment@v4 - with: - comment-id: ${{ steps.fc.outputs.comment-id }} - issue-number: ${{steps.get_issue_number.outputs.result}} - body: | - [download cake_wallet #${{github.run_id}}](https://nightly.link/MrCyjaneK/monero_c/actions/runs/${{github.run_id}}) - edit-mode: replace - - name: Create comment - continue-on-error: true - if: steps.fc.outcome == 'failure' - uses: peter-evans/create-or-update-comment@v4 - with: - issue-number: ${{steps.get_issue_number.outputs.result}} - body: | - [download cake_wallet #${{github.run_id}}](https://nightly.link/MrCyjaneK/monero_c/actions/runs/${{github.run_id}}) (this comment will update whenever you push) diff --git a/.github/workflows/compat.yaml b/.github/workflows/full_check.yaml similarity index 64% rename from .github/workflows/compat.yaml rename to .github/workflows/full_check.yaml index df42742..3c8dd88 100644 --- a/.github/workflows/compat.yaml +++ b/.github/workflows/full_check.yaml @@ -1,10 +1,10 @@ -name: compatibility check +name: full compatibility check on: [push] permissions: issues: write pull-requests: write jobs: - mingw: + lib_mingw: strategy: matrix: coin: [monero, wownero] @@ -59,7 +59,7 @@ jobs: with: name: mingw ${{ matrix.coin }} path: release/${{ matrix.coin }} - android: + lib_android: strategy: matrix: coin: [monero, wownero] @@ -131,7 +131,7 @@ jobs: run: | rm -rf ${{ matrix.coin }}/contrib/depends/built/*/android_ndk rm -rf ${{ matrix.coin }}/contrib/depends/sources/android-ndk-r26d-linux.zip - linux: + lib_linux: strategy: matrix: coin: [monero, wownero] @@ -188,7 +188,7 @@ jobs: with: name: linux ${{ matrix.coin }} path: release/${{ matrix.coin }} - sailfishos_aarch64: + lib_sailfishos_aarch64: strategy: matrix: coin: [monero, wownero] @@ -243,7 +243,7 @@ jobs: with: name: sfos aarch64 ${{ matrix.coin }} path: release/${{ matrix.coin }} - sailfishos_i486: + lib_sailfishos_i486: strategy: matrix: coin: [monero, wownero] @@ -291,7 +291,7 @@ jobs: with: name: sfos_i486 ${{ matrix.coin }} path: release/${{ matrix.coin }} - darwin: + lib_darwin: strategy: matrix: coin: [monero, wownero] @@ -353,7 +353,7 @@ jobs: rm -rf ${{ matrix.coin }}/contrib/depends/built/*/native_clang rm -rf ${{ matrix.coin }}/contrib/depends/sources/clang-llvm*.tar.xz rm -rf ${{ matrix.coin }}/contrib/depends/sources/MacOSX*sdk.tar.xz - macos: + lib_macos: strategy: matrix: coin: [monero, wownero] @@ -410,7 +410,7 @@ jobs: with: name: macos ${{ matrix.coin }} path: release/${{ matrix.coin }} - ios: + lib_ios: strategy: matrix: coin: [monero, wownero] @@ -467,11 +467,239 @@ jobs: with: name: ios ${{ matrix.coin }} path: release/${{ matrix.coin }} + + # Extra stuff below, not strictly required for monero_c, but we do want to ensure + # that nothing really broke the app when we work on some feature. + + wallet_cake_android: + needs: [ lib_android ] + runs-on: ubuntu-20.04 + env: + STORE_PASS: test@cake_wallet + KEY_PASS: test@cake_wallet + PR_NUMBER: ${{ github.ref_name }} + + steps: + - name: set branch name + run: echo "BRANCH_NAME=${{ github.ref_name }}" >> $GITHUB_ENV + + - uses: actions/download-artifact@v4 + with: + name: android monero + path: release/monero + - uses: actions/download-artifact@v4 + with: + name: android wownero + path: release/wownero + + - name: unpack and move monero_c + run: | + unxz -f -k release/*/*.xz + mv release /opt/monero_c_release + + - name: Free Disk Space (Ubuntu) + uses: insightsengineering/disk-space-reclaimer@v1 + with: + tools-cache: true + android: false + dotnet: true + haskell: true + large-packages: true + swap-storage: true + docker-images: true + + - uses: actions/setup-java@v4 + with: + distribution: 'zulu' + java-version: "17.x" + - name: Configure placeholder git details + run: | + git config --global user.email "CI@cakewallet.com" + git config --global user.name "Cake Github Actions" + - name: Flutter action + uses: subosito/flutter-action@v2 + with: + flutter-version: "3.19.6" + channel: stable + + - name: Install package dependencies + run: sudo apt-get install -y curl unzip automake build-essential file pkg-config git python libtool libtinfo5 cmake clang + + - name: Execute Build and Setup Commands + run: | + sudo mkdir -p /opt/android + sudo chown $USER /opt/android + cd /opt/android + -y curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh + cargo install cargo-ndk + git clone https://github.com/cake-tech/cake_wallet.git --branch main --depth=1 + cd cake_wallet/scripts/android/ + ./install_ndk.sh + source ./app_env.sh cakewallet + chmod +x pubspec_gen.sh + ./app_config.sh + mkdir -p /opt/android/cake_wallet/scripts/monero_c + mv /opt/monero_c_release /opt/android/cake_wallet/scripts/monero_c/release + + - name: Install Flutter dependencies + run: | + cd /opt/android/cake_wallet + flutter pub get + + - name: Generate KeyStore + run: | + cd /opt/android/cake_wallet/android/app + keytool -genkey -v -keystore key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias testKey -noprompt -dname "CN=CakeWallet, OU=CakeWallet, O=CakeWallet, L=Florida, S=America, C=USA" -storepass $STORE_PASS -keypass $KEY_PASS + + - name: Generate key properties + run: | + cd /opt/android/cake_wallet + flutter packages pub run tool/generate_android_key_properties.dart keyAlias=testKey storeFile=key.jks storePassword=$STORE_PASS keyPassword=$KEY_PASS + + - name: Generate localization + run: | + cd /opt/android/cake_wallet + flutter packages pub run tool/generate_localization.dart + + - name: Build generated code + run: | + cd /opt/android/cake_wallet + ./model_generator.sh + + - name: Add secrets + run: | + cd /opt/android/cake_wallet + touch lib/.secrets.g.dart + touch cw_evm/lib/.secrets.g.dart + touch cw_solana/lib/.secrets.g.dart + touch cw_core/lib/.secrets.g.dart + touch cw_nano/lib/.secrets.g.dart + touch cw_tron/lib/.secrets.g.dart + echo "const salt = 'd551f8841584b0ce37edf6fd59177d35';" > lib/.secrets.g.dart + echo "const keychainSalt = '34c626b6a4f8cb6789897c09';" >> lib/.secrets.g.dart + echo "const key = 'd8ab7230137ebadeb1c4e429395eced1';" >> lib/.secrets.g.dart + echo "const walletSalt = 'a9a49562';" >> lib/.secrets.g.dart + echo "const shortKey = 'c1b21c5050527842350dc8f5';" >> lib/.secrets.g.dart + echo "const backupSalt = 'b3e42404f90ca8e8';" >> lib/.secrets.g.dart + echo "const backupKeychainSalt = '9e0f3c4d347bc99509695a86';" >> lib/.secrets.g.dart + echo "const changeNowApiKey = '';" >> lib/.secrets.g.dart + echo "const changeNowApiKeyDesktop = '';" >> lib/.secrets.g.dart + echo "const wyreSecretKey = '';" >> lib/.secrets.g.dart + echo "const wyreApiKey = '';" >> lib/.secrets.g.dart + echo "const wyreAccountId = '';" >> lib/.secrets.g.dart + echo "const moonPayApiKey = '';" >> lib/.secrets.g.dart + echo "const moonPaySecretKey = '';" >> lib/.secrets.g.dart + echo "const sideShiftAffiliateId = '';" >> lib/.secrets.g.dart + echo "const simpleSwapApiKey = '';" >> lib/.secrets.g.dart + echo "const simpleSwapApiKeyDesktop = '';" >> lib/.secrets.g.dart + echo "const onramperApiKey = '';" >> lib/.secrets.g.dart + echo "const anypayToken = '';" >> lib/.secrets.g.dart + echo "const ioniaClientId = '';" >> lib/.secrets.g.dart + echo "const twitterBearerToken = '';" >> lib/.secrets.g.dart + echo "const trocadorApiKey = '';" >> lib/.secrets.g.dart + echo "const trocadorExchangeMarkup = '';" >> lib/.secrets.g.dart + echo "const anonPayReferralCode = '';" >> lib/.secrets.g.dart + echo "const fiatApiKey = '';" >> lib/.secrets.g.dart + echo "const payfuraApiKey = '';" >> lib/.secrets.g.dart + echo "const ankrApiKey = '';" >> lib/.secrets.g.dart + echo "const etherScanApiKey = '';" >> cw_evm/lib/.secrets.g.dart + echo "const moralisApiKey = '';" >> cw_evm/lib/.secrets.g.dart + echo "const chatwootWebsiteToken = '';" >> lib/.secrets.g.dart + echo "const exolixApiKey = '';" >> lib/.secrets.g.dart + echo "const robinhoodApplicationId = '';" >> lib/.secrets.g.dart + echo "const exchangeHelperApiKey = '';" >> lib/.secrets.g.dart + echo "const walletConnectProjectId = '';" >> lib/.secrets.g.dart + echo "const moralisApiKey = '';" >> lib/.secrets.g.dart + echo "const polygonScanApiKey = '';" >> cw_evm/lib/.secrets.g.dart + echo "const ankrApiKey = '';" >> cw_solana/lib/.secrets.g.dart + echo "const testCakePayApiKey = '';" >> lib/.secrets.g.dart + echo "const cakePayApiKey = '';" >> lib/.secrets.g.dart + echo "const authorization = '';" >> lib/.secrets.g.dart + echo "const CSRFToken = '';" >> lib/.secrets.g.dart + echo "const quantexExchangeMarkup = '';" >> lib/.secrets.g.dart + echo "const nano2ApiKey = '';" >> cw_nano/lib/.secrets.g.dart + echo "const nanoNowNodesApiKey = '';" >> cw_nano/lib/.secrets.g.dart + echo "const tronGridApiKey = '';" >> cw_tron/lib/.secrets.g.dart + echo "const tronNowNodesApiKey = '';" >> cw_tron/lib/.secrets.g.dart + + - name: Rename app + run: | + echo -e "id=com.cakewallet.moneroc_${{ env.PR_NUMBER }}\nname=${{ github.ref_name }}" | sed 's/[^a-zA-Z0-9=\n.]//g' > /opt/android/cake_wallet/android/app.properties + + - name: Build + run: | + cd /opt/android/cake_wallet + flutter build apk --release --split-per-abi + + - name: Upload APK + uses: actions/upload-artifact@v4 + with: + name: cake wallet android + path: /opt/android/cake_wallet/build/app/outputs/flutter-apk/*.apk + + - name: remove android_ndk + run: | + rm -rf monero/contrib/depends/built/*/android_ndk + rm -rf monero/contrib/depends/sources/android-ndk-r26d-linux.zip + rm -rf wownero/contrib/depends/built/*/android_ndk + rm -rf wownero/contrib/depends/sources/android-ndk-r26d-linux.zip + + wallet_xmruw_android: + needs: [ lib_android ] + strategy: + matrix: + coin: [monero, wownero] + runs-on: ubuntu-latest + steps: + - name: Install dependencies + run: | + sudo apt update + sudo apt install -y build-essential pkg-config autoconf libtool ccache make cmake gcc g++ git curl lbzip2 libtinfo5 gperf unzip python-is-python3 jq + - uses: actions/download-artifact@v4 + with: + name: android ${{ matrix.coin }} + path: release/${{ matrix.coin }} + - name: clone xmruw + run: | + git clone https://github.com/mrcyjanek/unnamed_monero_wallet + cd unnamed_monero_wallet + cp -a .fvm* .. + - uses: kuhnroyal/flutter-fvm-config-action@v2 + id: fvm-config-action + - uses: subosito/flutter-action@v2 + with: + flutter-version: ${{ steps.fvm-config-action.outputs.FLUTTER_VERSION }} + channel: ${{ steps.fvm-config-action.outputs.FLUTTER_CHANNEL }} + - uses: actions/setup-java@v4 + with: + distribution: 'zulu' + java-version: '17' + - name: build xmruw (${{ matrix.coin }}) + run: | + cd unnamed_monero_wallet + if [[ "${{ matrix.coin }}" == "monero" ]]; then ./codegen.sh -DCOIN_MONERO -DLIBSTEALTH_DISABLED; fi + if [[ "${{ matrix.coin }}" == "wownero" ]]; then ./codegen.sh -DCOIN_WOWNERO -DLIBSTEALTH_DISABLED; fi + flutter pub get + make version + ./build_changelog.sh + cp ../release/${{ matrix.coin }}/aarch64-linux-android_libwallet2_api_c.so.xz android/app/src/main/jniLibs/arm64-v8a/lib${{ matrix.coin }}_libwallet2_api_c.so.xz + cp ../release/${{ matrix.coin }}/x86_64-linux-android_libwallet2_api_c.so.xz android/app/src/main/jniLibs/x86_64/lib${{ matrix.coin }}_libwallet2_api_c.so.xz + cp ../release/${{ matrix.coin }}/armv7a-linux-androideabi_libwallet2_api_c.so.xz android/app/src/main/jniLibs/armeabi-v7a/lib${{ matrix.coin }}_libwallet2_api_c.so.xz + unxz -f android/app/src/main/jniLibs/*/*.xz + flutter build apk --release --flavor clean_${{ matrix.coin }} + - name: Upload APK + uses: actions/upload-artifact@v4 + with: + name: ${{ matrix.coin }} xmruw apk + path: unnamed_monero_wallet/build/app/outputs/flutter-apk/*.apk + comment_pr: name: comment on pr runs-on: ubuntu-latest needs: [ - mingw, android, linux, sailfishos_aarch64, sailfishos_i486, darwin, macos, ios + lib_mingw, lib_android, lib_linux, lib_sailfishos_aarch64, lib_sailfishos_i486, lib_darwin, lib_macos, lib_ios, + wallet_cake_android, + wallet_xmruw_android ] steps: - uses: actions/github-script@v7 @@ -500,7 +728,7 @@ jobs: with: issue-number: ${{steps.get_issue_number.outputs.result}} comment-author: 'github-actions[bot]' - body-includes: download libraries + body-includes: download artifacts - name: Update comment continue-on-error: true if: steps.fc.outcome == 'success' @@ -509,7 +737,7 @@ jobs: comment-id: ${{ steps.fc.outputs.comment-id }} issue-number: ${{steps.get_issue_number.outputs.result}} body: | - [download libraries #${{github.run_id}}](https://nightly.link/MrCyjaneK/monero_c/actions/runs/${{github.run_id}}) + [download artifacts #${{github.run_id}}](https://nightly.link/MrCyjaneK/monero_c/actions/runs/${{github.run_id}}) edit-mode: replace - name: Create comment continue-on-error: true @@ -518,4 +746,4 @@ jobs: with: issue-number: ${{steps.get_issue_number.outputs.result}} body: | - [download libraries #${{github.run_id}}](https://nightly.link/MrCyjaneK/monero_c/actions/runs/${{github.run_id}}) (this comment will update whenever you push) \ No newline at end of file + [download artifacts #${{github.run_id}}](https://nightly.link/MrCyjaneK/monero_c/actions/runs/${{github.run_id}}) (this comment will update whenever you push) \ No newline at end of file diff --git a/.github/workflows/xmruw.yaml b/.github/workflows/xmruw.yaml deleted file mode 100644 index fd34933..0000000 --- a/.github/workflows/xmruw.yaml +++ /dev/null @@ -1,106 +0,0 @@ -name: Build xmruw -on: [push] -permissions: - issues: write - pull-requests: write - -jobs: - android: - strategy: - matrix: - coin: [monero, wownero] - runs-on: ubuntu-latest - steps: - - name: Install dependencies - run: | - sudo apt update - sudo apt install -y build-essential pkg-config autoconf libtool ccache make cmake gcc g++ git curl lbzip2 libtinfo5 gperf unzip python-is-python3 jq - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - submodules: recursive - - name: Patch sources - run: | - git config --global --add safe.directory '*' - git config --global user.email "ci@mrcyjanek.net" - git config --global user.name "CI mrcyjanek.net" - ./apply_patches.sh ${{ matrix.coin }} - - name: ${{ matrix.coin }}/aarch64-linux-android - run: ./build_single.sh ${{ matrix.coin }} aarch64-linux-android -j$(nproc) - - name: clone xmruw - run: | - git clone https://github.com/mrcyjanek/unnamed_monero_wallet - cd unnamed_monero_wallet - cp -a .fvm* .. - - uses: kuhnroyal/flutter-fvm-config-action@v2 - id: fvm-config-action - - uses: subosito/flutter-action@v2 - with: - flutter-version: ${{ steps.fvm-config-action.outputs.FLUTTER_VERSION }} - channel: ${{ steps.fvm-config-action.outputs.FLUTTER_CHANNEL }} - - uses: actions/setup-java@v4 - with: - distribution: 'zulu' - java-version: '17' - - name: build xmruw (${{ matrix.coin }}) - run: | - cd unnamed_monero_wallet - if [[ "${{ matrix.coin }}" == "monero" ]]; then ./codegen.sh -DCOIN_MONERO -DLIBSTEALTH_DISABLED; fi - if [[ "${{ matrix.coin }}" == "wownero" ]]; then ./codegen.sh -DCOIN_WOWNERO -DLIBSTEALTH_DISABLED; fi - flutter pub get - make version - ./build_changelog.sh - cp ../release/${{ matrix.coin }}/aarch64-linux-android_libwallet2_api_c.so.xz android/app/src/main/jniLibs/arm64-v8a/lib${{ matrix.coin }}_libwallet2_api_c.so.xz - unxz -f android/app/src/main/jniLibs/arm64-v8a/*.xz - flutter build apk --debug --flavor clean_${{ matrix.coin }} - - name: Upload APK - uses: actions/upload-artifact@v4 - with: - name: ${{ matrix.coin }} xmruw apk - path: unnamed_monero_wallet/build/app/outputs/flutter-apk/*.apk - - uses: actions/github-script@v7 - continue-on-error: true - id: get_issue_number - with: - script: | - if (context.issue.number) { - // Return issue number if present - return context.issue.number; - } else { - // Otherwise return issue number from commit - return ( - await github.rest.repos.listPullRequestsAssociatedWithCommit({ - commit_sha: context.sha, - owner: context.repo.owner, - repo: context.repo.repo, - }) - ).data[0].number; - } - result-encoding: string - - name: Find Comment - continue-on-error: true - uses: peter-evans/find-comment@v3 - id: fc - with: - issue-number: ${{steps.get_issue_number.outputs.result}} - comment-author: 'github-actions[bot]' - body-includes: download xmruw - - - name: Update comment - continue-on-error: true - if: steps.fc.outcome == 'success' - uses: peter-evans/create-or-update-comment@v4 - with: - comment-id: ${{ steps.fc.outputs.comment-id }} - issue-number: ${{steps.get_issue_number.outputs.result}} - body: | - [download xmruw #${{github.run_id}}](https://nightly.link/MrCyjaneK/monero_c/actions/runs/${{github.run_id}}) - edit-mode: replace - - name: Create comment - continue-on-error: true - if: steps.fc.outcome == 'failure' - uses: peter-evans/create-or-update-comment@v4 - with: - issue-number: ${{steps.get_issue_number.outputs.result}} - body: | - [download xmruw #${{github.run_id}}](https://nightly.link/MrCyjaneK/monero_c/actions/runs/${{github.run_id}}) (this link will update whenever you push) \ No newline at end of file