Skip to content

Add refresh code button (#27) #71

Add refresh code button (#27)

Add refresh code button (#27) #71

Workflow file for this run

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