divide workflow #24
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: goreleaser | |
on: | |
push: | |
tags: [ 'v*' ] | |
permissions: | |
contents: write | |
id-token: write | |
packages: write | |
jobs: | |
release: | |
runs-on: ubuntu-latest | |
env: | |
flags: "" | |
steps: | |
- if: ${{ !startsWith(github.ref, 'refs/tags/v') }} | |
run: echo "flags=--snapshot" >> $GITHUB_ENV | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-go@v3 | |
with: | |
go-version: 1.21 | |
cache: true | |
- uses: sigstore/[email protected] | |
- uses: anchore/sbom-action/[email protected] | |
- uses: goreleaser/goreleaser-action@v4 | |
with: | |
distribution: goreleaser | |
version: latest | |
args: release --clean ${{ env.flags }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
COSIGN_PWD: ${{ secrets.COSIGN_PWD }} | |
HOMEBREW_TOKEN: ${{ secrets.HOMEBREW_TOKEN}} | |
- name: Publish rpm to Gemfury | |
env: | |
FURY_TOKEN: ${{ secrets.FURY_TOKEN }} | |
run: | | |
for filename in dist/vfox*.rpm; do | |
curl -F package=@"$filename" https://{$FURY_TOKEN}@push.fury.io/versionfox/ | |
done | |
compile-inno-setup: | |
name: Compile setup and publish | |
needs: release | |
runs-on: windows-latest | |
defaults: | |
run: | |
working-directory: inno_setup | |
steps: | |
- name: Checkout version-fox | |
uses: actions/checkout@v3 | |
- name: Get version-fox version | |
id: version-fox-version | |
uses: actions/github-script@v6 | |
with: | |
github-token: NO_NEED | |
result-encoding: string | |
script: return "${{ github.ref }}".substring(11) | |
- name: Install Inno Setup | |
run: | | |
curl --retry 10 --retry-all-errors -L -o installer.exe https://jrsoftware.org/download.php/is.exe | |
./installer.exe /verysilent /allusers /dir=inst | |
sleep 60 | |
- name: Download version-fox packages | |
env: | |
VFOX_VERSION: ${{ steps.version-fox-version.outputs.result }} | |
DOWNLOAD_URL: https://github.com/${{ github.event.repository.full_name }}/releases/download | |
run: | | |
curl -L -o i386.zip ${{ env.DOWNLOAD_URL }}/v${{ env.VFOX_VERSION }}/vfox_${{ env.VFOX_VERSION }}_windows_i386.zip && unzip i386.zip | |
curl -L -o x86_64.zip ${{ env.DOWNLOAD_URL }}/v${{ env.VFOX_VERSION }}/vfox_${{ env.VFOX_VERSION }}_windows_x86_64.zip && unzip x86_64.zip | |
curl -L -o aarch64.zip ${{ env.DOWNLOAD_URL }}/v${{ env.VFOX_VERSION }}/vfox_${{ env.VFOX_VERSION }}_windows_aarch64.zip && unzip aarch64.zip | |
- name: Compile by Inno Setup | |
env: | |
VFOX_VERSION: ${{ steps.version-fox-version.outputs.result }} | |
run: | | |
./inst/iscc vfox_windows_i386.iss | |
./inst/iscc vfox_windows_x86_64.iss | |
./inst/iscc vfox_windows_aarch64.iss | |
- name: Upload Inno Setup Assets | |
uses: trzsz/upload-release-assets@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
release_id: ${{ github.event.release.id }} | |
assets_path: inno_setup/Output/*.exe |