debugging #326
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "Generate Releases" | |
on: | |
release: | |
types: [ published ] | |
# To test this workflow without creating a release, uncomment the following and add a branch name (making sure "push" | |
# is at the same indent level as "release": | |
push: | |
branches: | |
- 'feature/issue-756_airgap' | |
jobs: | |
release: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ windows-latest ] # add macos-latest-xlarge for silicon (a paid feature) | |
steps: | |
- name: "Create base filename for all artifacts" | |
id: basefn | |
shell: bash | |
run: | | |
FILEPATH=$(echo rctab_${{ github.ref_name }}_${{ runner.os }}_${{ runner.arch }} | sed -e 's/\//_/g') | |
echo "FILEPATH=$FILEPATH" >> $GITHUB_OUTPUT | |
# Normalize platform-specific filepaths generated by gradle | |
- name: "Create .zip filename" | |
id: zipfn | |
shell: bash | |
run: echo "FILEPATH=build/${{ steps.basefn.outputs.FILEPATH }}.zip" >> $GITHUB_OUTPUT | |
- name: "Get extension" | |
id: ext | |
shell: bash | |
run: | | |
if [ ${{ runner.os }} == 'Windows' ]; then | |
echo "EXT=.exe" >> $GITHUB_OUTPUT | |
elif [ ${{ runner.os }} == 'Linux' ]; then | |
echo "EXT=.deb" >> $GITHUB_OUTPUT | |
else | |
echo "EXT=.dmg" >> $GITHUB_OUTPUT | |
fi | |
- name: "Get jpackage output filepath" | |
id: jpackagefn | |
shell: bash | |
run: | | |
# TODO Sync version number with Main.java and build.gradle (github.com/BrightSpots/rcv/issues/662) | |
# The version numbers are hardcoded because the files below include the version number in them, | |
# and while we could use some regex to figure out the version number automatically, it seems cleaner | |
# to know the expected version number upfront. | |
if [ ${{ runner.os }} == 'Windows' ]; then | |
echo "FILEPATH=build/jpackage/RCTab-1.3.999.exe" >> $GITHUB_OUTPUT | |
elif [ ${{ runner.os }} == 'Linux' ]; then | |
echo "FILEPATH=build/jpackage/rctab_1.3.999_amd64.deb" >> $GITHUB_OUTPUT | |
else | |
echo "FILEPATH=build/jpackage/RCTab-1.3.999.dmg" >> $GITHUB_OUTPUT | |
fi | |
- name: "Create executable filename" | |
id: exefn | |
shell: bash | |
run: echo "FILEPATH=build/${{ steps.basefn.outputs.FILEPATH }}${{ steps.ext.outputs.EXT }}" >> $GITHUB_OUTPUT | |
- uses: actions/checkout@v3 | |
- name: "Set up JDK 20.0.1" | |
uses: actions/setup-java@v3 | |
with: | |
java-version: '20.0.1' | |
distribution: 'temurin' | |
- name: "Validate Gradle wrapper" | |
uses: gradle/wrapper-validation-action@ccb4328a959376b642e027874838f60f8e596de3 | |
- name: "Create zip with jlinkZip" | |
uses: ./.github/actions/gradle-and-sha | |
with: | |
gradle-command: jlinkZip | |
intermediate-filepath: build/rcv.zip | |
final-filepath: ${{ steps.zipfn.outputs.FILEPATH }} | |
- name: "Create caches filename" | |
id: cachefn | |
shell: bash | |
run: | | |
mkdir cache | |
echo "FILEPATH=cache/${{ steps.basefn.outputs.FILEPATH }}.cache.zip" >> $GITHUB_OUTPUT | |
- name: "Create checksum filename" | |
id: checksumsfn | |
shell: bash | |
run: | | |
echo "FILEPATH=cache/checksums.csv" >> $GITHUB_OUTPUT | |
- name: "Generate Golden SHA512 for jlinkZip" | |
uses: ./.github/actions/sha-of-zip | |
with: | |
zipFilename: ${{ steps.zipfn.outputs.FILEPATH }} | |
shaA: 512 | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: Package | |
if-no-files-found: error | |
path: | | |
${{ github.workspace }}/${{ steps.zipfn.outputs.FILEPATH }}.golden.sha512 | |
retention-days: 1 | |
- name: "Upload binaries to release" | |
uses: svenstaro/upload-release-action@v2 | |
if: github.event_name == 'release' | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: build/${{ steps.basefn.outputs.FILEPATH }}* | |
tag: ${{ github.ref_name }} | |
overwrite: true | |
file_glob: true |