name: Release on: workflow_dispatch: push: branches: - main - dev paths: - ".github/workflows/release.yml" - "android/**" - "assets/**" - "lib/**" - "pubspec.yaml" jobs: release: name: Release permissions: contents: write runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Setup Java run: echo "JAVA_HOME=$JAVA_HOME_17_X64" >> $GITHUB_ENV - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: "lts/*" cache: 'npm' - name: Set up Flutter uses: subosito/flutter-action@v2 with: channel: stable - name: Install dependencies run: npm ci - name: Get dependencies run: flutter pub get - name: Generate translations run: dart run slang - name: Generate code files run: dart run build_runner build --delete-conflicting-outputs - name: Setup keystore run: | echo "${{ secrets.KEYSTORE }}" | base64 --decode > "keystore.jks"} - name: Release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }} KEYSTORE_ENTRY_ALIAS: ${{ secrets.KEYSTORE_ENTRY_ALIAS }} KEYSTORE_ENTRY_PASSWORD: ${{ secrets.KEYSTORE_ENTRY_PASSWORD }} run: | npx semantic-release