diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d088c4165..382ccfdbb 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -44,6 +44,8 @@ jobs: DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} run: | echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 - name: Set up Go uses: actions/setup-go@v2 with: diff --git a/.github/workflows/test-snapshot.yml b/.github/workflows/test-snapshot.yml new file mode 100644 index 000000000..708c4d21f --- /dev/null +++ b/.github/workflows/test-snapshot.yml @@ -0,0 +1,46 @@ +# Running goreleaser with the snapshot flag allows us to run some custom validations +# on our build without publishing: https://goreleaser.com/customization/snapshots/ + +name: test-snapshot + +on: + push: + paths: + - '.goreleaser/**' + pull_request: + paths: + - 'goreleaser/**' + +jobs: + build-linux: + runs-on: ubuntu-latest + env: + # https://goreleaser.com/customization/docker_manifest/ + DOCKER_CLI_EXPERIMENTAL: "enabled" + + steps: + - name: Code checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - + name: Docker Login + env: + DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} + run: | + echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: 1.19 + - name: Run GoReleaser Snapshot + uses: goreleaser/goreleaser-action@v2 + with: + version: v0.184.0 + args: release -f .goreleaser/linux.yml --rm-dist --snapshot + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + ARTIFACTORY_SECRET: ${{ secrets.ARTIFACTORY_SECRET }} diff --git a/.goreleaser/linux.yml b/.goreleaser/linux.yml index f9d7bd5a7..3657c45b2 100644 --- a/.goreleaser/linux.yml +++ b/.goreleaser/linux.yml @@ -65,7 +65,8 @@ nfpms: formats: - rpm dockers: - - goos: linux + - use: buildx + goos: linux goarch: amd64 ids: - stripe @@ -81,7 +82,9 @@ dockers: - "--label=org.opencontainers.image.version={{.Version}}" - "--label=repository=https://github.com/stripe/stripe-cli" - "--label=homepage=https://stripe.com" - - goos: linux + - "--platform=linux/amd64" + - use: buildx + goos: linux goarch: arm64 ids: - stripe @@ -97,6 +100,7 @@ dockers: - "--label=org.opencontainers.image.version={{.Version}}" - "--label=repository=https://github.com/stripe/stripe-cli" - "--label=homepage=https://stripe.com" + - "--platform=linux/arm64/v8" docker_manifests: - name_template: "stripe/stripe-cli:latest" image_templates: