66 runs-on : ubuntu-24.04
77 steps :
88 - name : Prepare repository
9- uses : actions/checkout@v4
9+ uses : actions/checkout@v6
1010 with :
1111 fetch-depth : 0
1212 - name : Install Flutter
2525 - name : install dependencies
2626 run : |
2727 cargo install cargo-ndk
28- rustup target add x86_64-unknown-linux-gnu
28+ rustup install 1.85.1 1.89.0
29+ rustup target add x86_64-unknown-linux-gnu --toolchain 1.89.0
2930 sudo apt update
30- sudo apt install -y meson ninja-build libglib2.0-dev libgcrypt20-dev libgirepository1.0-dev unzip automake build-essential file pkg-config git python3 libtool cmake openjdk-8-jre-headless libgit2-dev clang libncurses5-dev libncursesw5-dev zlib1g-dev llvm debhelper libclang-dev opencl-headers libssl-dev ocl-icd-opencl-dev libc6-dev-i386
31+ sudo apt install -y meson ninja-build libglib2.0-dev libgcrypt20-dev libgirepository1.0-dev unzip automake build-essential file pkg-config git python3 libtool cmake openjdk-8-jre-headless libgit2-dev clang libncurses5-dev libncursesw5-dev zlib1g-dev llvm debhelper libclang-dev opencl-headers libssl-dev ocl-icd-opencl-dev libc6-dev-i386 valac libtss2-dev
3132 # - name: Build Epic Cash
3233 #run: |
3334 #cd crypto_plugins/flutter_libepiccash/scripts/linux/
@@ -36,65 +37,39 @@ jobs:
3637 - name : Configure app
3738 run : |
3839 cd scripts
39- yes yes | ./build_app.sh -v "0.0.1" -b "1" -p "linux" -a "stack_wallet" || true
40+ echo " yes" | ./build_app.sh -v "0.0.1" -b "1" -p "linux" -a "stack_wallet"
4041
4142 - name : Get dependencies
4243 run : flutter pub get
4344
44- - name : Create temp files
45- id : secret-file1
45+ - name : Create git_versions.dart stubs
4646 run : |
47- $secretFileExchange = Join-Path -Path $env:GITHUB_WORKSPACE -ChildPath "lib/external_api_keys.dart";
48- $encodedBytes = [System.Convert]::FromBase64String($env:CHANGE_NOW);
49- Set-Content $secretFileExchange -Value $encodedBytes -AsByteStream;
50- $secretFileExchangeHash = Get-FileHash $secretFileExchange;
51- Write-Output "Secret file $secretFileExchange has hash $($secretFileExchangeHash.Hash)";
52-
53- $secretFileBitcoin = Join-Path -Path $env:GITHUB_WORKSPACE -ChildPath "test/services/coins/bitcoin/bitcoin_wallet_test_parameters.dart";
54- $encodedBytes = [System.Convert]::FromBase64String($env:BITCOIN_TEST);
55- Set-Content $secretFileBitcoin -Value $encodedBytes -AsByteStream;
56- $secretFileBitcoinHash = Get-FileHash $secretFileBitcoin;
57- Write-Output "Secret file $secretFileBitcoin has hash $($secretFileBitcoinHash.Hash)";
58-
59- $secretFileDogecoin = Join-Path -Path $env:GITHUB_WORKSPACE -ChildPath "test/services/coins/dogecoin/dogecoin_wallet_test_parameters.dart";
60- $encodedBytes = [System.Convert]::FromBase64String($env:DOGECOIN_TEST);
61- Set-Content $secretFileDogecoin -Value $encodedBytes -AsByteStream;
62- $secretFileDogecoinHash = Get-FileHash $secretFileDogecoin;
63- Write-Output "Secret file $secretFileDogecoin has hash $($secretFileDogecoinHash.Hash)";
64-
65- $secretFileFiro = Join-Path -Path $env:GITHUB_WORKSPACE -ChildPath "test/services/coins/firo/firo_wallet_test_parameters.dart";
66- $encodedBytes = [System.Convert]::FromBase64String($env:FIRO_TEST);
67- Set-Content $secretFileFiro -Value $encodedBytes -AsByteStream;
68- $secretFileFiroHash = Get-FileHash $secretFileFiro;
69- Write-Output "Secret file $secretFileFiro has hash $($secretFileFiroHash.Hash)";
70-
71- $secretFileBitcoinCash = Join-Path -Path $env:GITHUB_WORKSPACE -ChildPath "test/services/coins/bitcoincash/bitcoincash_wallet_test_parameters.dart";
72- $encodedBytes = [System.Convert]::FromBase64String($env:BITCOINCASH_TEST);
73- Set-Content $secretFileBitcoinCash -Value $encodedBytes -AsByteStream;
74- $secretFileBitcoinCashHash = Get-FileHash $secretFileBitcoinCash;
75- Write-Output "Secret file $secretFileBitcoinCash has hash $($secretFileBitcoinCashHash.Hash)";
76-
77- $secretFileNamecoin = Join-Path -Path $env:GITHUB_WORKSPACE -ChildPath "test/services/coins/namecoin/namecoin_wallet_test_parameters.dart";
78- $encodedBytes = [System.Convert]::FromBase64String($env:NAMECOIN_TEST);
79- Set-Content $secretFileNamecoin -Value $encodedBytes -AsByteStream;
80- $secretFileNamecoinHash = Get-FileHash $secretFileNamecoin;
81- Write-Output "Secret file $secretFileNamecoin has hash $($secretFileNamecoinHash.Hash)";
82-
83- $secretFileParticl = Join-Path -Path $env:GITHUB_WORKSPACE -ChildPath "test/services/coins/particl/particl_wallet_test_parameters.dart";
84- $encodedBytes = [System.Convert]::FromBase64String($env:PARTICL_TEST);
85- Set-Content $secretFileParticl -Value $encodedBytes -AsByteStream;
86- $secretFileParticlHash = Get-FileHash $secretFileParticl;
87- Write-Output "Secret file $secretFileParticl has hash $($secretFileParticlHash.Hash)";
88-
89- shell : pwsh
47+ mkdir -p crypto_plugins/flutter_libepiccash/lib
48+ mkdir -p crypto_plugins/flutter_libmwc/lib
49+
50+ cat > crypto_plugins/flutter_libepiccash/lib/git_versions.dart << 'EOF'
51+ String getPluginVersion() => "stub-for-tests";
52+ EOF
53+
54+ cat > crypto_plugins/flutter_libmwc/lib/git_versions.dart << 'EOF'
55+ String getPluginVersion() => "stub-for-tests";
56+ EOF
57+
58+ - name : Decode secrets
9059 env :
9160 CHANGE_NOW : ${{ secrets.CHANGE_NOW }}
92- BITCOIN_TEST : ${{ secrets.BITCOIN_TEST }}
93- DOGECOIN_TEST : ${{ secrets.DOGECOIN_TEST }}
94- FIRO_TEST : ${{ secrets.FIRO_TEST }}
95- BITCOINCASH_TEST : ${{ secrets.BITCOINCASH_TEST }}
96- NAMECOIN_TEST : ${{ secrets.NAMECOIN_TEST }}
97- PARTICL_TEST : ${{ secrets.PARTICL_TEST }}
61+ run : |
62+ echo "$CHANGE_NOW" | base64 --decode > lib/external_api_keys.dart
63+
64+ - name : Ensure app config for tests
65+ run : bash scripts/ensure_test_app_config.sh
66+
67+ - name : Create test stubs
68+ run : bash prebuild.sh
69+ working-directory : scripts
70+
71+ - name : Regenerate mocks
72+ run : dart run build_runner build --delete-conflicting-outputs
9873
9974 - name : Check formatting of changed files
10075 run : |
@@ -114,29 +89,14 @@ jobs:
11489# - name: Analyze
11590# run: flutter analyze
11691 - name : Test
117- run : flutter test --coverage
92+ run : |
93+ bash scripts/ensure_test_app_config.sh
94+ test -s lib/app_config.g.dart
95+ grep -Fq "part of 'app_config.dart';" lib/app_config.g.dart
96+ flutter test --coverage
11897 - name : Upload to code coverage
11998 uses : codecov/codecov-action@v1.2.2
12099 if : success() || failure()
121100 with :
122101 token : ${{secrets.CODECOV_TOKEN}}
123102 file : coverage/lcov.info
124- - name : Delete temp files
125- run : |
126- $secretFileExchange = Join-Path -Path $env:GITHUB_WORKSPACE -ChildPath "lib/external_api_keys.dart";
127- $secretFileBitcoin = Join-Path -Path $env:GITHUB_WORKSPACE -ChildPath "test/services/coins/bitcoin/bitcoin_wallet_test_parameters.dart";
128- $secretFileDogecoin = Join-Path -Path $env:GITHUB_WORKSPACE -ChildPath "test/services/coins/dogecoin/dogecoin_wallet_test_parameters.dart";
129- $secretFileFiro = Join-Path -Path $env:GITHUB_WORKSPACE -ChildPath "test/services/coins/firo/firo_wallet_test_parameters.dart";
130- $secretFileBitcoinCash = Join-Path -Path $env:GITHUB_WORKSPACE -ChildPath "test/services/coins/bitcoincash/bitcoincash_wallet_test_parameters.dart";
131- $secretFileNamecoin = Join-Path -Path $env:GITHUB_WORKSPACE -ChildPath "test/services/coins/namecoin/namecoin_wallet_test_parameters.dart";
132- $secretFileParticl = Join-Path -Path $env:GITHUB_WORKSPACE -ChildPath "test/services/coins/particl/particl_wallet_test_parameters.dart";
133-
134- Remove-Item -Path $secretFileExchange;
135- Remove-Item -Path $secretFileBitcoin;
136- Remove-Item -Path $secretFileDogecoin;
137- Remove-Item -Path $secretFileFiro;
138- Remove-Item -Path $secretFileBitcoinCash;
139- Remove-Item -Path $secretFileNamecoin;
140- Remove-Item -Path $secretFileParticl;
141- shell : pwsh
142- if : always()
0 commit comments