From 41a64a1ca3d49642b2d04572a87e843cc27fe409 Mon Sep 17 00:00:00 2001 From: Esteban Beltran Date: Tue, 17 Sep 2024 15:56:00 +0200 Subject: [PATCH 1/9] Add testing workflow for dockerhub --- .drone.yml | 62 ----------------------- .github/workflows/test-docker-release.yml | 24 +++++++++ 2 files changed, 24 insertions(+), 62 deletions(-) delete mode 100644 .drone.yml create mode 100644 .github/workflows/test-docker-release.yml diff --git a/.drone.yml b/.drone.yml deleted file mode 100644 index aa307373..00000000 --- a/.drone.yml +++ /dev/null @@ -1,62 +0,0 @@ ---- -kind: pipeline -name: test docker build -steps: - - image: plugins/docker - name: build + test + push - settings: - dry_run: true - password: - from_secret: docker-hub-password - repo: grafana/plugin-validator-cli - tags: latest - username: - from_secret: docker-hub-username -trigger: - branch: - exclude: - - main - event: - include: - - push - - pull_request -type: docker ---- -kind: pipeline -name: build and push pipeline -steps: - - image: plugins/docker - name: build + test + push - settings: - dry_run: false - password: - from_secret: docker-hub-password - repo: grafana/plugin-validator-cli - tags: latest - username: - from_secret: docker-hub-username -trigger: - branch: - include: - - main - event: - include: - - push -type: docker ---- -get: - name: username - path: secret/data/common/docker-hub -kind: secret -name: docker-hub-username ---- -get: - name: password - path: secret/data/common/docker-hub -kind: secret -name: docker-hub-password ---- -kind: signature -hmac: 931e3ddd7923cb1c3a3dfa888495ab6789a0ba731c9a018a7987fd8081ab286c - -... diff --git a/.github/workflows/test-docker-release.yml b/.github/workflows/test-docker-release.yml new file mode 100644 index 00000000..9a7f983e --- /dev/null +++ b/.github/workflows/test-docker-release.yml @@ -0,0 +1,24 @@ +name: Create release and publish to npm and docker hub + +on: + pull_request: + branches: + - main + +permissions: + contents: read + id-token: write + +jobs: + releaseToNpm: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - id: push-to-dockerhub + uses: grafana/shared-workflows/actions/build-push-to-dockerhub@main + with: + repository: grafana/plugin-validator-cli + context: . + tags: |- + "test-tag" From 5954cd5c3743858f737cd7e2a89cc45bb7b6ead0 Mon Sep 17 00:00:00 2001 From: Esteban Beltran Date: Tue, 17 Sep 2024 16:04:18 +0200 Subject: [PATCH 2/9] Push the image --- .github/workflows/test-docker-release.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-docker-release.yml b/.github/workflows/test-docker-release.yml index 9a7f983e..ed5adf27 100644 --- a/.github/workflows/test-docker-release.yml +++ b/.github/workflows/test-docker-release.yml @@ -10,7 +10,8 @@ permissions: id-token: write jobs: - releaseToNpm: + release-to-dockerhub: + if: github.event.repository == 'grafana/plugin-validator' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -22,3 +23,4 @@ jobs: context: . tags: |- "test-tag" + push: true From f84b531e65f66aad8c05646c28cd58f41be3db7a Mon Sep 17 00:00:00 2001 From: Esteban Beltran Date: Tue, 17 Sep 2024 16:07:08 +0200 Subject: [PATCH 3/9] remove condition --- .github/workflows/test-docker-release.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/test-docker-release.yml b/.github/workflows/test-docker-release.yml index ed5adf27..7e84c471 100644 --- a/.github/workflows/test-docker-release.yml +++ b/.github/workflows/test-docker-release.yml @@ -11,7 +11,6 @@ permissions: jobs: release-to-dockerhub: - if: github.event.repository == 'grafana/plugin-validator' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 From bec3bfed57b3e22204f6068135f33dd33aedcde2 Mon Sep 17 00:00:00 2001 From: Esteban Beltran Date: Tue, 17 Sep 2024 16:13:17 +0200 Subject: [PATCH 4/9] try with push --- .github/workflows/test-docker-release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-docker-release.yml b/.github/workflows/test-docker-release.yml index 7e84c471..c07baf50 100644 --- a/.github/workflows/test-docker-release.yml +++ b/.github/workflows/test-docker-release.yml @@ -1,9 +1,9 @@ name: Create release and publish to npm and docker hub on: - pull_request: + push: branches: - - main + - academo/remove-drone-pipeline permissions: contents: read From 9d2b00862a0cead45bc0439ecd5793df5cd1ee97 Mon Sep 17 00:00:00 2001 From: Esteban Beltran Date: Tue, 17 Sep 2024 16:25:01 +0200 Subject: [PATCH 5/9] use version tag and cache --- .github/workflows/test-docker-release.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-docker-release.yml b/.github/workflows/test-docker-release.yml index c07baf50..3bdf6e34 100644 --- a/.github/workflows/test-docker-release.yml +++ b/.github/workflows/test-docker-release.yml @@ -14,6 +14,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - name: Get version from package.json + id: get_version + run: | + echo "version=$(jq -r .version package.json)" >> "$GITHUB_OUTPUT" - id: push-to-dockerhub uses: grafana/shared-workflows/actions/build-push-to-dockerhub@main @@ -21,5 +25,8 @@ jobs: repository: grafana/plugin-validator-cli context: . tags: |- - "test-tag" + "v${{ steps.get_version.outputs.version }}" + "latest" push: true + cache-from: type=gha + cache-to: type=gha,mode=max From 3a19fdbc49a9445d9264a2b8273b224f8880d77f Mon Sep 17 00:00:00 2001 From: Esteban Beltran Date: Tue, 17 Sep 2024 17:26:12 +0200 Subject: [PATCH 6/9] Update workflow files to work in github --- .github/workflows/do-release.yml | 2 +- .github/workflows/release.yml | 45 +++++++++++++++++++---- .github/workflows/test-docker-release.yml | 32 ---------------- .github/workflows/test.yml | 5 +-- 4 files changed, 39 insertions(+), 45 deletions(-) delete mode 100644 .github/workflows/test-docker-release.yml diff --git a/.github/workflows/do-release.yml b/.github/workflows/do-release.yml index 11b76109..6a582ce9 100644 --- a/.github/workflows/do-release.yml +++ b/.github/workflows/do-release.yml @@ -1,4 +1,4 @@ -name: Bump Version +name: Bump Version and release on: workflow_dispatch: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 626c8640..a45b1143 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,4 +1,4 @@ -name: Create release and publish +name: Create release and publish to github, npm and docker hub on: push: @@ -9,7 +9,7 @@ permissions: contents: write jobs: - goreleaser: + release-to-github: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -20,19 +20,25 @@ jobs: with: go-version-file: go.mod check-latest: true - # More assembly might be required: Docker logins, GPG, etc. It all depends - # on your needs. + + - name: Generate token + id: generate_token + uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a + with: + app_id: ${{ secrets.APP_ID }} + private_key: ${{ secrets.APP_PEM }} + - uses: goreleaser/goreleaser-action@v6 with: - # either 'goreleaser' (default) or 'goreleaser-pro': distribution: goreleaser version: latest args: release --clean env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - releaseToNpm: + GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }} + + release-to-npm: runs-on: ubuntu-latest - needs: goreleaser + needs: release-to-github steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 @@ -43,3 +49,26 @@ jobs: - run: npm publish env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + release-to-dockerhub: + runs-on: ubuntu-latest + # this job doesn't really need the github release, but it is a fast + # way to prevent it from running if the release is bad + needs: release-to-github + steps: + - uses: actions/checkout@v4 + - name: Get version from package.json + id: get_version + run: | + echo "version=$(jq -r .version package.json)" >> "$GITHUB_OUTPUT" + + - id: push-to-dockerhub + uses: grafana/shared-workflows/actions/build-push-to-dockerhub@main + with: + repository: grafana/plugin-validator-cli + context: . + tags: |- + "v${{ steps.get_version.outputs.version }}" + "latest" + push: true + cache-from: type=gha + cache-to: type=gha,mode=max diff --git a/.github/workflows/test-docker-release.yml b/.github/workflows/test-docker-release.yml deleted file mode 100644 index 3bdf6e34..00000000 --- a/.github/workflows/test-docker-release.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: Create release and publish to npm and docker hub - -on: - push: - branches: - - academo/remove-drone-pipeline - -permissions: - contents: read - id-token: write - -jobs: - release-to-dockerhub: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Get version from package.json - id: get_version - run: | - echo "version=$(jq -r .version package.json)" >> "$GITHUB_OUTPUT" - - - id: push-to-dockerhub - uses: grafana/shared-workflows/actions/build-push-to-dockerhub@main - with: - repository: grafana/plugin-validator-cli - context: . - tags: |- - "v${{ steps.get_version.outputs.version }}" - "latest" - push: true - cache-from: type=gha - cache-to: type=gha,mode=max diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 147551b4..a6e102dc 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,9 +1,6 @@ -name: Build and Test +name: Build and Test on pull request on: - push: - branches: - - main pull_request: branches: - main From 965af32d78928d9c9691fefd8f09e3b371c56b61 Mon Sep 17 00:00:00 2001 From: Esteban Beltran Date: Tue, 17 Sep 2024 17:27:37 +0200 Subject: [PATCH 7/9] use build push to dockerhub@main in test --- .github/workflows/test.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a6e102dc..c09beefa 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,11 +11,13 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Build and test Docker container - uses: docker/build-push-action@v6 + - id: push-to-dockerhub + uses: grafana/shared-workflows/actions/build-push-to-dockerhub@main with: + repository: grafana/plugin-validator-cli context: . + tags: |- + "test-pr" push: false + cache-from: type=gha + cache-to: type=gha,mode=max From ebe5ba42272c45e967cfb81c4eab9d380479ebc0 Mon Sep 17 00:00:00 2001 From: Esteban Beltran Date: Tue, 17 Sep 2024 17:27:58 +0200 Subject: [PATCH 8/9] rename --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c09beefa..b0215280 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -6,7 +6,7 @@ on: - main jobs: - build: + test-on-pr: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 From c6a0d5992f1429e7c3cfd57ec5a549575cce2c6a Mon Sep 17 00:00:00 2001 From: Esteban Beltran Date: Tue, 17 Sep 2024 17:28:26 +0200 Subject: [PATCH 9/9] rename --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b0215280..34993860 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -6,7 +6,7 @@ on: - main jobs: - test-on-pr: + test-docker-build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4