name: Generate and publish Release Candidate on: push: branches: - 'release' jobs: publish-release-candidate: name: Publish release candidate runs-on: ubuntu-latest concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true steps: - uses: actions/checkout@v3 with: submodules: 'recursive' - uses: actions/setup-java@v3 with: distribution: 'adopt' java-version: '11' - uses: actions/setup-node@v3 with: node-version: 16 - run: npm ci working-directory: ./tools/beta-release/ - name: Write secrets run: | mkdir .secrets touch .secrets/upload-key.jks touch .secrets/service-account.json touch .secrets/matrix.json echo -n '${{ secrets.UPLOAD_KEY }}' | base64 --decode >> .secrets/upload-key.jks echo -n '${{ secrets.FDROID_KEY }}' | base64 --decode >> .secrets/fdroid.keystore echo -n '${{ secrets.SERVICE_ACCOUNT }}' | base64 --decode >> .secrets/service-account.json echo -n '${{ secrets.MATRIX }}' | base64 --decode >> .secrets/matrix.json - name: Assemble release variant run: | ./tools/generate-release.sh "${{ secrets.STORE_PASS }}" ./tools/generate-fdroid-release.sh "${{ secrets.FDROID_STORE_PASS }}" - uses: actions/github-script@v6 with: github-token: ${{ secrets.MY_PAT }} script: | const { publishRelease } = await import('${{ github.workspace }}/tools/beta-release/app.js') const artifacts = { bundle: '${{ github.workspace }}/app/build/outputs/bundle/release/app-release.aab', mapping: '${{ github.workspace }}/app/build/outputs/mapping/release/mapping.txt', fossApkPath: '${{ github.workspace }}/app/build/outputs/apk/release/app-foss-release-signed.apk', } await publishRelease(github, artifacts)