Skip to content

Commit

Permalink
fix: cgo goreleaser alt solution (#2613)
Browse files Browse the repository at this point in the history
<!-- Feel free to delete comments as you fill this in -->

<!-- summary of changes -->

## Test Plan
<!-- detail ways in which this PR has been tested or needs to be tested
-->
* [ ] acceptance tests
<!-- add more below if you think they are relevant -->
* [ ] …

## References
<!-- issues documentation links, etc  -->

*
  • Loading branch information
sfc-gh-swinkler authored Mar 18, 2024
1 parent c48ec7d commit 5d31856
Show file tree
Hide file tree
Showing 3 changed files with 104 additions and 19 deletions.
85 changes: 85 additions & 0 deletions .github/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# Run Locally

First install [act](https://github.com/nektos/act).

```bash
brew install act
```

And you need to have a container runtime. For example, [Docker Desktop](https://www.docker.com/products/docker-desktop/) or [Colima](https://github.com/abiosoft/colima)


```bash
brew install colima
colima start
```

## Generate GPG Key

You need a local GPG key. If you don't have one, you can generate one following the instructions [here](https://developer.hashicorp.com/terraform/tutorials/providers-plugin-framework/providers-plugin-framework-release-publish)

Next, ensure you have secrets that would have been set on the environment of the GitHub repo locally puto in a `.secrets` file. Example:

```bash
GITHUB_TOKEN="ghp_Y26ot7vs2Zldl1PjUisTPI2qm3tqx32ubCef"
GPG_PASSPHRASE="12345678"
GPG_PRIVATE_KEY="-----BEGIN PGP PUBLIC KEY BLOCK-----
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
XB9qyVLh+018OvKWPdnRMQ==
=0qkj
-----END PGP PUBLIC KEY BLOCK-----"

```

## Run specific workflow

```bash
act -W '.github/workflows/build.yml' -P macos-latest=-self-hosted
```
30 changes: 13 additions & 17 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ on:
tags:
- '*'

name: release-please
name: release
jobs:
release-please:
runs-on: ubuntu-latest
runs-on: macos-latest
steps:
- uses: actions/github-script@v6
id: configure-changelog
Expand All @@ -20,16 +20,15 @@ jobs:
{type: "chore", section: "🔧 **Misc**", hidden: false},
{type: "fix", section: "🐛 **Bug fixes:**", hidden: false},
]
return JSON.stringify(changelogTypes)
# See https://docs.github.com/en/actions/security-guides/automatic-token-authentication#using-the-github_token-in-a-workflow
# For why we need to generate a token and not use the default
- name: Generate token
id: generate_token
uses: chanzuckerberg/github-app-token@v1.1.4
- name: Create token
id: create-token
uses: actions/create-github-app-token@v1
with:
app_id: ${{ secrets.CZI_RELEASE_PLEASE_APP_ID }}
private_key: ${{ secrets.CZI_RELEASE_PLEASE_PK }}
app-id: ${{ secrets.CZI_RELEASE_PLEASE_APP_ID }}
private-key: ${{ secrets.CZI_RELEASE_PLEASE_PK }}

- name: Import GPG key
id: import_gpg
Expand All @@ -39,33 +38,30 @@ jobs:
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}

- name: release please
- name: Release please
uses: google-github-actions/release-please-action@v3
id: release
with:
release-type: simple
bump-minor-pre-major: true
changelog-types: ${{ steps.configure-changelog.outputs.result }}
token: ${{ steps.generate_token.outputs.token }}
token: ${{ steps.create-token.outputs.token }}

- uses: actions/checkout@v3
- uses: actions/checkout@v4
# we need to fetch all history and tags
# so we build the proper version
with:
fetch-depth: 0
if: ${{ steps.release.outputs.release_created }}

- uses: actions/setup-go@v4
- uses: actions/setup-go@v5
with:
go-version-file: ./go.mod
if: ${{ steps.release.outputs.release_created }}

- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v5
with:
version: latest
args: release --rm-dist --verbose
args: release --clean --verbose
env:
GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}
GITHUB_TOKEN: ${{ steps.create-token.outputs.token }}
GPG_FINGERPRINT: ${{ steps.import_gpg.outputs.fingerprint }}
if: ${{ steps.release.outputs.release_created }}
8 changes: 6 additions & 2 deletions .goreleaser.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
builds:
- env:
- CGO_ENABLED=0
- >-
{{- if or (eq .Os "windows") (eq .Os "darwin") -}}
CGO_ENABLED=1
{{- else -}}
CGO_ENABLED=0
{{- end -}}
goos:
- windows
- linux
Expand All @@ -12,7 +17,6 @@ builds:
- '386'
flags:
- -trimpath
ignore:
binary: '{{ .ProjectName }}_v{{ .Version }}'

archives:
Expand Down

0 comments on commit 5d31856

Please sign in to comment.