name: "Release Build" on: workflow_dispatch: push: branches: - main - dev paths: - ".github/workflows/release-build.yml" - "android/**" - "assets/**" - "lib/**" - ".releaserc.js" - "pubspec.yaml" jobs: release: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up JDK uses: actions/setup-java@v4 with: java-version: "17" distribution: "zulu" - uses: subosito/flutter-action@v2 with: channel: "stable" - name: Cache Node modules uses: actions/cache@v4 with: path: | node_modules key: npm-${{ hashFiles('package-lock.json') }} - name: Setup semantic-release run: npm install - name: Set up Flutter run: flutter pub get - name: Generate files with Builder run: dart run build_runner build --delete-conflicting-outputs - name: Build with Flutter env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} signingKey: "keystore.jks" keyStorePassword: ${{ secrets.SIGNING_KEYSTORE_PASSWORD }} keyAlias: ${{ secrets.SIGNING_KEY_ALIAS }} keyPassword: ${{ secrets.SIGNING_KEY_PASSWORD }} run: | echo "${{ secrets.SIGNING_KEYSTORE }}" | base64 --decode > android/app/keystore.jks npx semantic-release