feat: add per-environment overrides for connections #10
Workflow file for this run
This file contains hidden or 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.24" | |
| - name: Run GoReleaser | |
| uses: goreleaser/goreleaser-action@v5 | |
| with: | |
| version: v2.12.1 | |
| args: release -f .goreleaser/mac.yml --clean | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| build-linux: | |
| runs-on: ubuntu-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.24" | |
| - name: Run GoReleaser | |
| uses: goreleaser/goreleaser-action@v5 | |
| with: | |
| version: v2.12.1 | |
| args: release -f .goreleaser/linux.yml --clean | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.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.24" | |
| - name: Run GoReleaser | |
| uses: goreleaser/goreleaser-action@v5 | |
| with: | |
| version: v2.12.1 | |
| args: release -f .goreleaser/windows.yml --clean | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| publish-npm: | |
| runs-on: ubuntu-latest | |
| needs: [build-windows, build-linux, build-mac] | |
| permissions: | |
| id-token: write | |
| contents: write | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| fetch-depth: 0 | |
| - name: Determine release branch | |
| id: get_branch | |
| run: | | |
| BRANCHES=$(git branch -r --contains ${{ github.ref_name }} | sed 's/ *origin\///' | grep -v HEAD) | |
| if echo "$BRANCHES" | grep -q -w "main"; then | |
| RELEASE_BRANCH="main" | |
| else | |
| RELEASE_BRANCH=$(echo "$BRANCHES" | head -n 1) | |
| fi | |
| echo "RELEASE_BRANCH=${RELEASE_BRANCH}" >> $GITHUB_OUTPUT | |
| - name: Checkout release branch | |
| run: git checkout ${{ steps.get_branch.outputs.RELEASE_BRANCH }} | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: "22.x" | |
| registry-url: "https://registry.npmjs.org" | |
| - name: Install latest npm (trusted publishing requires >= 11.5.1) | |
| run: npm install -g npm@latest | |
| - name: Get GitHub tag version | |
| id: tag-version | |
| run: | | |
| TAG_VERSION=${GITHUB_REF_NAME#v} | |
| echo "TAG_VERSION=$TAG_VERSION" >> $GITHUB_OUTPUT | |
| - name: Update package.json version | |
| uses: jossef/action-set-json-field@v2.1 | |
| 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: "chore: update package.json version to ${{ steps.tag-version.outputs.TAG_VERSION }}" | |
| add: "package.json" | |
| - name: Set up Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.24" | |
| - name: Build npm binaries with GoReleaser | |
| uses: goreleaser/goreleaser-action@v5 | |
| with: | |
| version: v2.12.1 | |
| args: build -f .goreleaser/npm.yml --clean --skip validate | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Determine npm tag for pre-releases | |
| id: npm_tag | |
| run: | | |
| TAG_VERSION="${{ steps.tag-version.outputs.TAG_VERSION }}" | |
| NPM_TAG="latest" | |
| if [[ "$TAG_VERSION" == *-* ]]; then | |
| NPM_TAG=$(echo "$TAG_VERSION" | cut -d'-' -f2 | cut -d'.' -f1) | |
| fi | |
| echo "tag=${NPM_TAG}" >> $GITHUB_OUTPUT | |
| - run: npm publish --provenance --tag ${{ steps.npm_tag.outputs.tag }} |