Skip to content

Bump version to 2.0.4 #48

Bump version to 2.0.4

Bump version to 2.0.4 #48

Workflow file for this run

name: Release
on:
workflow_dispatch:
inputs:
version:
description: The version to release
push:
tags:
- "*"
env:
REF: ${{ github.event.inputs.tag || github.event.inputs.version }}
jobs:
goreleaser:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
# - name: Login to DockerHub
# uses: docker/login-action@v1
# with:
# username: ${{ secrets.DOCKER_USERNAME }}
# password: ${{ secrets.DOCKER_PASSWORD }}
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: 1.19
- name: Set Tag Name
id: tagName
run: |
echo "tag-name=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
- name: Install osslsigncode
run: sudo apt-get install -y osslsigncode
- name: Obtain signing cert
run: |
cert="$(mktemp -t cert.XXX)"
echo $CERT_CONTENTS | base64 --decode > "$cert"
echo "CERT_FILE=$cert" >> $GITHUB_ENV
env:
CERT_CONTENTS: ${{ secrets.SPOSS_SIGNING_CERTS }}
- name: Obtain signing key
run: |
key="$(mktemp -t cert.XXX)"
echo $KEY_CONTENTS | base64 --decode > "$key"
echo "KEY_FILE=$key" >> $GITHUB_ENV
env:
KEY_CONTENTS: ${{ secrets.SPOSS_SIGNING_KEY }}
- name: Set env
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v4
with:
version: "~1.13.1"
args: release
env:
GITHUB_TOKEN: ${{secrets.PUBLISHER_TOKEN}}
GORELEASER_CURRENT_TAG: ${{steps.tagName.outputs.tag-name}}
CERT_PASSWORD: ${{secrets.WINDOWS_CERT_PASSWORD}}
msi:
needs: goreleaser
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Download sail.exe
id: download_exe
shell: bash
run: |
gh release download "${GITHUB_REF#refs/tags/}" -p '*windows_amd64*.zip'
printf "zip=%s\n" *.zip >> $GITHUB_OUTPUT
unzip -o *.zip && rm -v *.zip
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
- name: Prepare PATH
id: setupmsbuild
uses: microsoft/[email protected]
- name: Build MSI
id: buildmsi
shell: bash
env:
ZIP_FILE: ${{ steps.download_exe.outputs.zip }}
MSBUILD_PATH: ${{ steps.setupmsbuild.outputs.msbuildPath }}
run: |
name="$(basename "$ZIP_FILE" ".zip")"
version="$(echo -e ${GITHUB_REF#refs/tags/} | sed s/-.*$//)"
"${MSBUILD_PATH}\MSBuild.exe" ./build/windows/sail.wixproj -p:SourceDir="$PWD" -p:OutputPath="$PWD" -p:OutputName="$name" -p:ProductVersion="$version"
- name: Obtain signing cert
id: obtain_cert
shell: bash
run: |
echo $CERT_CONTENTS | base64 --decode > ./cert.pfx
printf "cert-file=%s\n" ".\\cert.pfx" >> $GITHUB_OUTPUT
env:
CERT_CONTENTS: ${{ secrets.SPOSS_SIGNING_PFX }}
- name: Sign MSI
env:
CERT_FILE: ${{ steps.obtain_cert.outputs.cert-file }}
EXE_FILE: ${{ steps.buildmsi.outputs.msi }}
CERT_PASSWORD: ${{ secrets.SPOSS_SIGNING_PASS }}
run: .\assets\signtool sign /d "SailPoint CLI" /f $env:CERT_FILE /p $env:CERT_PASSWORD /fd sha256 /tr http://timestamp.digicert.com /v $env:EXE_FILE
- name: Upload MSI
shell: bash
run: |
tag_name="${GITHUB_REF#refs/tags/}"
gh release upload "$tag_name" "$MSI_FILE"
release_url="$(gh api repos/:owner/:repo/releases -q ".[]|select(.tag_name==\"${tag_name}\")|.url")"
publish_args=( -F draft=false )
gh api -X PATCH "$release_url" "${publish_args[@]}"
env:
MSI_FILE: ${{ steps.buildmsi.outputs.msi }}
DISCUSSION_CATEGORY: General
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}