From 69c91ee4f79a4eb4da2fe0f313e31aaf35e2a89d Mon Sep 17 00:00:00 2001 From: "Mikhail f. Shiryaev" Date: Thu, 19 Dec 2024 23:14:13 +0100 Subject: [PATCH 1/4] Fix push to packagecloud.com --- Makefile | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 40254ed..7690732 100644 --- a/Makefile +++ b/Makefile @@ -113,15 +113,19 @@ $(SUM_FILES): nfpm .ONESHELL: +packagecloud-push-rpm: SHELL:=/bin/bash +packagecloud-push-rpm: REPOS=$(shell echo el/{7..9}) packagecloud-push-rpm: $(wildcard out/$(NAME)-$(VERSION)*.rpm) - for repo in el/{7..9}; do + for repo in $(REPOS); do pkgcloud-push $(REPO)/$${repo} $^ || true done .ONESHELL: +packagecloud-push-deb: SHELL:=/bin/bash +packagecloud-push-deb: REPOS=$(shell echo ubuntu/{bionic,focal,jammy,nomble} debian/{buster,bullseye,bookworm}) packagecloud-push-deb: $(wildcard out/$(NAME)_$(VERSION)*.deb) - for repo in ubuntu/{bionic,focal,jammy,nomble} debian/{buster,bullseye,bookworm}; do - pkgcloud-push $(REPO)/$${repo} $^ || true + for repo in $(REPOS); do + pkgcloud-push $(REPO)/$${repo} $^ || true done packagecloud-push: nfpm From 19f269fd6e1694a17aad8f186b51ceadfd495dd8 Mon Sep 17 00:00:00 2001 From: "Mikhail f. Shiryaev" Date: Thu, 19 Dec 2024 23:27:51 +0100 Subject: [PATCH 2/4] Merge two release related workflows into one --- .github/workflows/docker.yml | 51 +++++++++++++++++++++++++++-- .github/workflows/upload-assets.yml | 51 ----------------------------- 2 files changed, 49 insertions(+), 53 deletions(-) delete mode 100644 .github/workflows/upload-assets.yml diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index aa99738..d4d85b4 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -1,5 +1,6 @@ -name: Upload Docker images to ghcr.io -on: +--- +name: Create new release +'on': release: types: [published] workflow_dispatch: @@ -12,6 +13,13 @@ jobs: docker: name: Build image runs-on: ubuntu-latest + # https://docs.github.com/en/actions/use-cases-and-examples/publishing-packages/publishing-docker-images#publishing-images-to-github-packages + permissions: + packages: write + contents: read + attestations: write + id-token: write + steps: - name: Check out code uses: actions/checkout@v4 @@ -45,3 +53,42 @@ jobs: context: . tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} + + build: + name: Publish assets and packages + runs-on: ubuntu-latest + permissions: + contents: write + + steps: + - uses: actions/checkout@v4 + name: Checkout + with: + # Otherwise there's a risk to not get latest tag + # We hope, that the current commit at + # least 100 commits close to the latest release + fetch-depth: 100 + fetch-tags: ${{ inputs.ref != '' }} + ref: ${{ inputs.ref }} + - name: Set up Go 1 + uses: actions/setup-go@v5 + with: + go-version: ^1 + - name: Build packages + id: build + run: | + go install github.com/goreleaser/nfpm/v2/cmd/nfpm@v2.40.0 + make -e CGO_ENABLED=0 packages + - name: Upload release assets + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + TAG="${{ inputs.ref && inputs.ref || github.event.release.tag_name }}" + gh release upload --clobber --repo ${{ github.repository }} "$TAG" \ + out/*.deb out/*.rpm out/*sum + - name: Upload packages to packagecloud.com + env: + PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} + run: | + go install github.com/mlafeldt/pkgcloud/cmd/pkgcloud-push@e79e9efc + make packagecloud-stable diff --git a/.github/workflows/upload-assets.yml b/.github/workflows/upload-assets.yml deleted file mode 100644 index a81745a..0000000 --- a/.github/workflows/upload-assets.yml +++ /dev/null @@ -1,51 +0,0 @@ ---- -name: Upload Packages to new release - -'on': - release: - types: - - published - workflow_dispatch: - inputs: - ref: - description: 'Git tag to push the image' - required: true - type: string - -jobs: - build: - name: Build - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - name: Checkout - with: - # Otherwise there's a risk to not get latest tag - # We hope, that the current commit at - # least 100 commits close to the latest release - fetch-depth: 100 - fetch-tags: ${{ inputs.ref != '' }} - ref: ${{ inputs.ref }} - - name: Set up Go 1 - uses: actions/setup-go@v5 - with: - go-version: ^1 - - name: Build packages - id: build - run: | - go install github.com/goreleaser/nfpm/v2/cmd/nfpm@v2.40.0 - make -e CGO_ENABLED=0 packages - - name: Upload release assets - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - TAG="${{ inputs.ref && inputs.ref || github.event.release.tag_name }}" - gh release upload --clobber --repo ${{ github.repository }} "$TAG" \ - out/*.deb out/*.rpm out/*sum - - name: Upload packages to packagecloud.com - env: - PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} - run: | - go install github.com/mlafeldt/pkgcloud/cmd/pkgcloud-push@e79e9efc - make packagecloud-stable From 4dd415bd0d40e04e8e5c1ccf3a9921b6bf1644e4 Mon Sep 17 00:00:00 2001 From: "Mikhail f. Shiryaev" Date: Fri, 20 Dec 2024 00:31:00 +0100 Subject: [PATCH 3/4] Use pkgcloud-push with updated os/release, use any --- Makefile | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index 7690732..d16c1f0 100644 --- a/Makefile +++ b/Makefile @@ -113,20 +113,12 @@ $(SUM_FILES): nfpm .ONESHELL: -packagecloud-push-rpm: SHELL:=/bin/bash -packagecloud-push-rpm: REPOS=$(shell echo el/{7..9}) packagecloud-push-rpm: $(wildcard out/$(NAME)-$(VERSION)*.rpm) - for repo in $(REPOS); do - pkgcloud-push $(REPO)/$${repo} $^ || true - done + pkgcloud-push $(REPO)/rpm_any/rpm_any $^ || true .ONESHELL: -packagecloud-push-deb: SHELL:=/bin/bash -packagecloud-push-deb: REPOS=$(shell echo ubuntu/{bionic,focal,jammy,nomble} debian/{buster,bullseye,bookworm}) packagecloud-push-deb: $(wildcard out/$(NAME)_$(VERSION)*.deb) - for repo in $(REPOS); do - pkgcloud-push $(REPO)/$${repo} $^ || true - done + pkgcloud-push $(REPO)/any/any $^ || true packagecloud-push: nfpm @$(MAKE) packagecloud-push-rpm From 81e2c6b3d3860c2534c09cbfba02880cb7a86824 Mon Sep 17 00:00:00 2001 From: "Mikhail f. Shiryaev" Date: Wed, 25 Dec 2024 00:17:34 +0100 Subject: [PATCH 4/4] Rename the workflow for a release --- .github/workflows/{docker.yml => release.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{docker.yml => release.yml} (100%) diff --git a/.github/workflows/docker.yml b/.github/workflows/release.yml similarity index 100% rename from .github/workflows/docker.yml rename to .github/workflows/release.yml