diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 6dcaced..9436061 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -25,11 +25,23 @@ jobs: with: gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} passphrase: ${{ secrets.GPG_PASSPHRASE }} + - name: Set up QEMU + uses: https://github.com/docker/setup-qemu-action@v3 + - name: Set up Docker Buildx + uses: https://github.com/docker/setup-buildx-action@v3 + - name: Install GoReleaser - uses: https://github.com/goreleaser/goreleaser-action@v5 + uses: https://github.com/goreleaser/goreleaser-action@v6 with: install-only: true + - name: Docker login + run: | + REGISTRY="${GITHUB_SERVER_URL#https://}" + echo "${{ secrets.PACKAGES_TOKEN }}" | docker login "$REGISTRY" -u "${{ github.repository_owner }}" --password-stdin + echo "DOCKER_REGISTRY=$REGISTRY" >> "$GITHUB_ENV" + echo "DOCKER_ORG=$(echo '${{ github.repository_owner }}' | tr '[:upper:]' '[:lower:]')" >> "$GITHUB_ENV" + - name: Run GoReleaser run: | unset GITHUB_TOKEN diff --git a/.gitignore b/.gitignore index 51e51e1..412df10 100644 --- a/.gitignore +++ b/.gitignore @@ -13,5 +13,9 @@ coverage.html *.swp *.swo +dist/ + +.claude/ + # OS .DS_Store diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 69352a1..7e27b2c 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -1,4 +1,4 @@ -version: 1 +version: 2 project_name: resource-collector @@ -26,14 +26,23 @@ builds: archives: - id: default - format: tar.gz + formats: + - tar.gz name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}" checksum: name_template: checksums.txt snapshot: - name_template: "{{ incpatch .Version }}-next" + version_template: "{{ incpatch .Version }}-next" + +dockers_v2: + - images: + - "{{ .Env.DOCKER_REGISTRY }}/{{ .Env.DOCKER_ORG }}/resource-collector" + tags: + - "{{ .Version }}" + - latest + dockerfile: Dockerfile.goreleaser changelog: sort: asc diff --git a/Dockerfile.goreleaser b/Dockerfile.goreleaser new file mode 100644 index 0000000..69c2616 --- /dev/null +++ b/Dockerfile.goreleaser @@ -0,0 +1,4 @@ +FROM gcr.io/distroless/static:nonroot +ARG TARGETPLATFORM +COPY ${TARGETPLATFORM}/resource-collector /resource-collector +ENTRYPOINT ["/resource-collector"]