summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcyan <cyjan@mrcyjanek.net>2024-08-14 16:50:06 +0200
committerGitHub <noreply@github.com>2024-08-14 16:50:06 +0200
commit2faf430cdd1f4644479254148a3a7399edc357e2 (patch)
tree4f59c45113d9d6fc65ba56c3595971b0f2d8baa6
parent923385c1890bc5717c65cedee1f32976445c173e (diff)
parentcfc9fc2d7a2330873ff5f49416dac866fad08c27 (diff)
Merge branch 'master' into monero-v0_18_3_4
-rw-r--r--.github/workflows/cake_wallet.yaml249
-rw-r--r--.github/workflows/full_check.yaml (renamed from .github/workflows/compat.yaml)254
-rw-r--r--.github/workflows/xmruw.yaml106
3 files changed, 241 insertions, 368 deletions
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
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