Merge pull request #101 from hookdeck/fix/persist-api-key-with-login #64
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: release | |
on: | |
push: | |
tags: | |
- "v*" | |
jobs: | |
build-mac: | |
runs-on: macos-latest | |
steps: | |
- name: Code checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.18.1 | |
- name: Run GoReleaser | |
uses: goreleaser/goreleaser-action@v4 | |
with: | |
version: latest | |
args: release -f .goreleaser/mac.yml --clean | |
env: | |
GITHUB_TOKEN: ${{ secrets.GORELEASER_GITHUB_TOKEN }} | |
build-linux: | |
runs-on: ubuntu-latest | |
env: | |
# https://goreleaser.com/customization/docker_manifest/ | |
DOCKER_CLI_EXPERIMENTAL: "enabled" | |
steps: | |
- name: Code checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Docker Login | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_USERNAME }} | |
password: ${{ secrets.DOCKER_PASSWORD }} | |
- name: Set up Docker QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.18.1 | |
- name: Run GoReleaser | |
uses: goreleaser/goreleaser-action@v4 | |
with: | |
version: latest | |
args: release -f .goreleaser/linux.yml --clean | |
env: | |
GITHUB_TOKEN: ${{ secrets.GORELEASER_GITHUB_TOKEN }} | |
build-windows: | |
runs-on: windows-latest | |
steps: | |
- name: Code checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.18.1 | |
- name: Run GoReleaser | |
uses: goreleaser/goreleaser-action@v5 | |
with: | |
version: latest | |
args: release -f .goreleaser/windows.yml --clean | |
env: | |
GITHUB_TOKEN: ${{ secrets.GORELEASER_GITHUB_TOKEN }} | |
build-windows-npm: | |
runs-on: windows-latest | |
steps: | |
- name: Code checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.18.1 | |
- name: Run GoReleaser | |
uses: goreleaser/goreleaser-action@v5 | |
with: | |
version: latest | |
args: release -f .goreleaser/windows-npm.yml --clean | |
env: | |
GITHUB_TOKEN: ${{ secrets.GORELEASER_GITHUB_TOKEN }} | |
publish-npm: | |
runs-on: ubuntu-latest | |
needs: [build-windows-npm, build-linux, build-mac] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
# Checkout on main so that the later commit works | |
ref: main | |
# With permission to push to a protected branch | |
token: ${{ secrets.READ_WRITE_PAT }} | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: "20.x" | |
registry-url: "https://registry.npmjs.org" | |
- name: Get GitHub tag version | |
# Store the version, stripping any v-prefix | |
id: tag-version | |
run: | | |
TAG_VERSION=${GITHUB_REF_NAME#v} | |
echo Version: $TAG_VERSION | |
echo "TAG_VERSION=$TAG_VERSION" >> $GITHUB_OUTPUT | |
- name: Update package.json version | |
uses: jossef/[email protected] | |
with: | |
file: package.json | |
field: version | |
value: ${{ steps.tag-version.outputs.TAG_VERSION }} | |
- name: Commit package.json version | |
uses: EndBug/add-and-commit@v9 | |
with: | |
default_author: github_actions | |
message: 'Update package.json version to ${{ steps.tag-version.outputs.TAG_VERSION }}' | |
add: 'package.json' | |
- run: npm ci | |
- run: npm publish | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} |