smalltalk-matrix/.github/workflows/release-candidate.yml

61 lines
2.0 KiB
YAML

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@v2
with:
submodules: 'recursive'
- uses: actions/setup-java@v2
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)