Add refresh code button (#27) #71
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
workflow_dispatch: | |
workflow_call: | |
env: | |
KEY_PROPERTIES_PATH: "android/key.properties" | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
if: "github.actor != 'github-actions[bot]'" | |
container: | |
image: ghcr.io/iyox-studios/flutter_rust | |
volumes: | |
- ${{ GITHUB.WORKSPACE }}:/root/wormhole | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Cache rust build | |
id: cache-rust | |
uses: actions/cache@v4 | |
with: | |
path: native/target | |
key: ${{ runner.os }}-build-cache-rust-${{ hashFiles('native/Cargo.lock') }} | |
restore-keys: ${{ runner.os }}-build-cache-rust- | |
- name: Cache flutter build | |
id: cache-flutter | |
uses: actions/cache@v4 | |
with: | |
path: build | |
key: ${{ runner.os }}-build-cache-flutter-${{ hashFiles('pubspec.lock') }} | |
restore-keys: ${{ runner.os }}-build-cache-flutter- | |
- name: Lint | |
run: | | |
make lint | |
build_android: | |
name: Build Android | |
needs: lint | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/iyox-studios/flutter_rust | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Cache rust build | |
id: cache-rust | |
uses: actions/cache@v4 | |
with: | |
path: native/target | |
key: ${{ runner.os }}-build-cache-rust-${{ hashFiles('native/Cargo.lock') }} | |
restore-keys: ${{ runner.os }}-build-cache-rust- | |
- name: Cache flutter build | |
id: cache-flutter | |
uses: actions/cache@v4 | |
with: | |
path: build | |
key: ${{ runner.os }}-build-cache-flutter-${{ hashFiles('pubspec.lock') }} | |
restore-keys: ${{ runner.os }}-build-cache-flutter- | |
- name: Create Keystore | |
run: | | |
echo keyPassword="${{ secrets.KEY_STORE_PASSWORD }}" > ${{ env.KEY_PROPERTIES_PATH}} | |
echo storePassword="${{ secrets.KEY_PASSWORD }}" >> ${{env.KEY_PROPERTIES_PATH}} | |
echo keyAlias="${{ secrets.KEY_ALIAS }}" >> ${{env.KEY_PROPERTIES_PATH}} | |
echo storeFile="./keystore.jks" >> ${{env.KEY_PROPERTIES_PATH}} | |
echo "${{ secrets.KEY_STORE }}" | base64 --decode > android/keystore.jks | |
echo "${{ secrets.KEY_STORE }}" | base64 --decode > android/app/keystore.jks | |
- name: Build Android | |
run: | | |
make get-dep | |
make apk | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: app-armeabi-v7a-release.apk | |
retention-days: 5 | |
path: build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: app-arm64-v8a-release.apk | |
retention-days: 5 | |
path: build/app/outputs/flutter-apk/app-arm64-v8a-release.apk | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: app-x86_64-release.apk | |
retention-days: 5 | |
path: build/app/outputs/flutter-apk/app-x86_64-release.apk | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: app-release.aab | |
retention-days: 5 | |
path: build/app/outputs/bundle/release/app-release.aab | |
build_linux: | |
name: Build Linux | |
needs: lint | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/iyox-studios/flutter_rust | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Cache rust build | |
id: cache-rust | |
uses: actions/cache@v4 | |
with: | |
path: native/target | |
key: ${{ runner.os }}-build-cache-rust-${{ hashFiles('native/Cargo.lock') }} | |
restore-keys: ${{ runner.os }}-build-cache-rust- | |
- name: Cache flutter build | |
id: cache-flutter | |
uses: actions/cache@v4 | |
with: | |
path: build | |
key: ${{ runner.os }}-build-cache-flutter-${{ hashFiles('pubspec.lock') }} | |
restore-keys: ${{ runner.os }}-build-cache-flutter- | |
- name: Build Linux | |
run: | | |
export HOME=/root/ | |
make get-dep | |
make linux | |
cp -r build/linux/x64/release/bundle/ linux-x86_64 | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: linux-x86_64 | |
retention-days: 5 | |
path: | | |
linux-x86_64 |