From 97589e6aedf6ada2dfd5499c15e8b7fcdca7e961 Mon Sep 17 00:00:00 2001 From: Terry Cain Date: Wed, 17 Mar 2021 14:27:08 +0000 Subject: [PATCH] Added goreleaser and github actions --- .github/workflows/release.yml | 35 ++++++++++++++++++++++++++++ .goreleaser.yml | 43 +++++++++++++++++++++++++++++++++++ gon_config.hcl | 16 +++++++++++++ 3 files changed, 94 insertions(+) create mode 100644 .github/workflows/release.yml create mode 100644 .goreleaser.yml create mode 100644 gon_config.hcl diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..3d91fdf8 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,35 @@ +name: release +on: + push: + tags: + - 'v*' +jobs: + goreleaser: + runs-on: ubuntu-latest + steps: + - + name: Checkout + uses: actions/checkout@v2 + - + name: Unshallow + run: git fetch --prune --unshallow + - + name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: 1.16 + - + name: Import GPG key + id: import_gpg + uses: paultyng/ghaction-import-gpg@v2.1.0 + env: + GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} + - + name: Run GoReleaser + uses: goreleaser/goreleaser-action@v2 + with: + version: latest + args: release --rm-dist + env: + GPG_FINGERPRINT: ${{ steps.import_gpg.outputs.fingerprint }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.goreleaser.yml b/.goreleaser.yml new file mode 100644 index 00000000..c645f61e --- /dev/null +++ b/.goreleaser.yml @@ -0,0 +1,43 @@ + +builds: +- env: + - CGO_ENABLED=0 + mod_timestamp: '{{ .CommitTimestamp }}' + flags: + - -trimpath + ldflags: + - '-s -w -X main.version={{.Version}} -X main.commit={{.Commit}}' + goos: + - freebsd + - windows + - linux + - darwin + goarch: + - amd64 + - '386' + - arm + - arm64 + ignore: + - goos: darwin + goarch: '386' + binary: '{{ .ProjectName }}_v{{ .Version }}' +archives: +- format: zip + name_template: '{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}' +checksum: + name_template: '{{ .ProjectName }}_{{ .Version }}_SHA256SUMS' + algorithm: sha256 +signs: + - artifacts: checksum + args: + # if you are using this is a GitHub action or some other automated pipeline, you + # need to pass the batch flag to indicate its not interactive. + - "--batch" + - "--local-user" + - "{{ .Env.GPG_FINGERPRINT }}" # set this environment variable for your signing key + - "--output" + - "${signature}" + - "--detach-sign" + - "${artifact}" +changelog: + skip: true diff --git a/gon_config.hcl b/gon_config.hcl new file mode 100644 index 00000000..45098dfa --- /dev/null +++ b/gon_config.hcl @@ -0,0 +1,16 @@ +source = ["./build/terraform-provider-chef-darwin-amd64"] +bundle_id = "com.terrycain.github.terraform-provider-chef" + +apple_id { + username = "terry@dolphincorp.co.uk" + password = "@env:APPLE_APP_PW" +} + +sign { + application_identity = "Developer ID Application: Terry Cain (UT7M7Z36B6)" +} + + +zip { + output_path = "build/terraform-provider-chef-darwin-amd64.zip" +}