Skip to content

Sign MacOS Binaries with JFrog Certificate #4

Sign MacOS Binaries with JFrog Certificate

Sign MacOS Binaries with JFrog Certificate #4

name: Prepare MacOS binaries for CLI release
on:
push:
branches:
- v2 # TODO remove after testings
- *

Check failure on line 6 in .github/workflows/createMacOSBinaries.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/createMacOSBinaries.yml

Invalid workflow file

You have an error in your yaml syntax on line 6
env:
# Name of the binary file that will be singed and uploaded
binaryFileName: jf
jobs:
# If the commit message contains 'Bump version from'
# extract the release version number and clear previous artifacts
Extract_Release_Version:
name: Extract Release Version
if: ${{ contains(github.event.head_commit.message, 'Bump version from') }}
runs-on: ubuntu-latest
outputs:
version: ${{ steps.extract_version.outputs.version }}
steps:
- name: Extract version
id: extract_version
run: |
VERSION=$(echo "${{ github.event.head_commit.message }}" | awk -F'to ' '{print $2}' | sed 's/[^0-9.]*//g')
echo "version=$VERSION" >> $GITHUB_OUTPUT
- name: Delete-Old-Artifacts
uses: kolpav/purge-artifacts-action@v1
with:
token: ${{ secrets.JF_GIT_TOKEN }}
expire-in: 0 # Setting this to 0 will delete all artifacts
# Builds, signs and uploads the macOS binaries
prepareBinary:
name: Prepare-Binary
needs: Extract_Release_Version
runs-on: macos-latest
strategy:
matrix:
goarch: [ arm64,amd64 ]
steps:
- name: Set Environment Variable
run: |
echo "releaseVersion=${{ needs.Extract_Release_Version.outputs.version }}" >> $GITHUB_ENV
echo "goarch=${{ matrix.goarch }}" >> $GITHUB_ENV
# Setup
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: 1.22.x
cache: false
# Build
- name: Checkout Source
uses: actions/checkout@v4
with:
ref: v2
- name: Build
run: ./build/build.sh
# Sign
- name: Sign Binary
env:
APPLE_CERT_DATA: ${{ secrets.APPLE_CERT_DATA }}
APPLE_CERT_PASSWORD: ${{ secrets.APPLE_CERT_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
BINARY_FILE_NAME: ${{ env.binaryFileName }}
run: ./build/macOsSign/darwin-binary-sign.sh
# Upload
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: jf-darwin-v${{ env.releaseVersion }}-${{ matrix.goarch }}
path: ./${{binaryFileName}}
retention-days: 1