From 5cb5c325df56acaea3f1c03f0d91fd9c43587f5d Mon Sep 17 00:00:00 2001 From: Zefir Kirilov Date: Tue, 10 Dec 2024 00:10:29 +0200 Subject: [PATCH 1/2] use ghcr.io package instead of building on every run --- action.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/action.yaml b/action.yaml index 0d2a713..ddefd2e 100644 --- a/action.yaml +++ b/action.yaml @@ -9,7 +9,7 @@ inputs: required: true runs: using: docker - image: Dockerfile + image: docker://ghcr.io/cloudnode-pro/release-upload-asset:1.0.0 env: GH_INPUTS: ${{ toJSON(inputs) }} From b55f40857ed4b6ef18ed02aca8e1df5f3b8b97f1 Mon Sep 17 00:00:00 2001 From: Zefir Kirilov Date: Tue, 10 Dec 2024 00:18:15 +0200 Subject: [PATCH 2/2] create workflow to publish action image on GHCR --- .github/workflows/publish.yaml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 .github/workflows/publish.yaml diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml new file mode 100644 index 0000000..90fcb25 --- /dev/null +++ b/.github/workflows/publish.yaml @@ -0,0 +1,30 @@ +name: Publish + +on: + release: + types: [published] + +env: + IMAGE_NAME: release-upload-asset + +jobs: + publish: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Build image + run: docker build . --file Dockerfile --tag $IMAGE_NAME --label "runnumber=${GITHUB_RUN_ID}" + + - name: Log in to GitHub Container Registry + run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin + + - name: Push image + run: | + IMAGE_ID=ghcr.io/${{ github.repository_owner }}/$IMAGE_NAME + IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]') + TAG=${{ github.event.release.tag_name }} + VERSION=${TAG#v} + docker tag $IMAGE_NAME $IMAGE_ID:$VERSION + docker push $IMAGE_ID:$VERSION