name: Release the go gRPC client as `gen/go/$VERSION` on: workflow_dispatch: inputs: version: description: The version to release. Should be a patch of the latest Keto release. required: true release: types: - created env: CGO_ENABLED: "0" jobs: tag: # this is set on dispatch this should prevent the action from triggering itself if: github.event.inputs.version || !startsWith(github.ref, 'gen/go/') runs-on: ubuntu-latest name: Publish steps: - uses: actions/checkout@v7 - uses: actions/setup-go@v6 with: check-latest: true go-version-file: go.mod - name: Download dependencies run: go -C gen/go mod tidy - name: Test run: go -C gen/go test ./... - name: Create git tag run: | git config --global user.email "60093411+ory-bot@users.noreply.github.com" git config --global user.name "ory-bot" RELEASE_VERSION="$(sed 's#^refs/tags/##' <(echo "$RELEASE_REF"))" git tag -a "gen/go/$RELEASE_VERSION" -m "Release $RELEASE_VERSION of the go gRPC Client. See CHANGELOG.md for more info." git push origin "gen/go/$RELEASE_VERSION" env: RELEASE_REF: ${{ github.event.inputs.version || github.ref }}