name: Determine pseudo version description: "Determine go-like pseudo version to use as container image tag." outputs: semanticVersion: description: "Semantic version based on the current HEAD" value: ${{ steps.pseudo-version.outputs.semanticVersion }} version: description: "Version based on branch name" value: ${{ steps.pseudo-version.outputs.version }} timestamp: description: "Commit timestamp based on the current HEAD" value: ${{ steps.pseudo-version.outputs.timestamp }} branchName: description: "Branch name" value: ${{ steps.pseudo-version.outputs.branchName }} # Linux runner only (homedir trick does not work on macOS, required for private runner) runs: using: "composite" steps: - name: get version id: pseudo-version shell: bash working-directory: hack/pseudo-version run: | homedir="$(getent passwd $(id -u) | cut -d ":" -f 6)" export GOCACHE=${homedir}/.cache/go-build export GOPATH=${homedir}/go export GOMODCACHE=${homedir}/.cache/go-mod version=$(go run .) semanticVersion=$(go run . -semantic-version) timestamp=$(go run . -print-timestamp) branchName=$(go run . -print-branch) echo "version=${version}" >> $GITHUB_OUTPUT echo "semanticVersion=${semanticVersion}" >> $GITHUB_OUTPUT echo "timestamp=${timestamp}" >> $GITHUB_OUTPUT echo "branchName=${branchName}" >> $GITHUB_OUTPUT