From e942896bfe3a061db8acd2ac483f464060e92022 Mon Sep 17 00:00:00 2001 From: Alejandro Ponce Date: Mon, 4 Aug 2025 21:48:19 +0300 Subject: [PATCH 1/3] Add workflow to check if the docker image builds --- .github/workflows/image-build.yml | 29 +++++++++++++++++++++++++++++ .github/workflows/main.yml | 3 +++ .github/workflows/pr.yml | 3 +++ 3 files changed, 35 insertions(+) create mode 100644 .github/workflows/image-build.yml diff --git a/.github/workflows/image-build.yml b/.github/workflows/image-build.yml new file mode 100644 index 0000000..4b2f653 --- /dev/null +++ b/.github/workflows/image-build.yml @@ -0,0 +1,29 @@ +name: Image Build + +on: + workflow_call: + +permissions: + contents: read + +jobs: + build: + name: Build Docker Image + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Build Docker image + uses: docker/build-push-action@v6 + with: + context: . + platforms: linux/amd64,linux/arm64 + push: false + cache-from: type=gha + cache-to: type=gha,mode=max + tags: plotting-mcp:latest diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1b10a3f..ba0d179 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -15,3 +15,6 @@ jobs: tests: name: Tests uses: ./.github/workflows/test.yml + image-build: + name: Build Docker Image + uses: ./.github/workflows/image-build.yml diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 5085e21..99da4e1 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -14,3 +14,6 @@ jobs: tests: name: Tests uses: ./.github/workflows/test.yml + image-build: + name: Build Docker Image + uses: ./.github/workflows/image-build.yml From 7ff70c5e2e5aa60707cf55bc88ad358c23cb0547 Mon Sep 17 00:00:00 2001 From: Alejandro Ponce Date: Mon, 4 Aug 2025 21:51:26 +0300 Subject: [PATCH 2/3] Only check if image builds when merging to main --- .github/workflows/pr.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 99da4e1..5085e21 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -14,6 +14,3 @@ jobs: tests: name: Tests uses: ./.github/workflows/test.yml - image-build: - name: Build Docker Image - uses: ./.github/workflows/image-build.yml From 84ddd23ff005ba8305d6c835e65112b4e453a1d4 Mon Sep 17 00:00:00 2001 From: Alejandro Ponce Date: Mon, 4 Aug 2025 22:00:47 +0300 Subject: [PATCH 3/3] Pin all GHA shas --- .github/workflows/image-build.yml | 6 +++--- .github/workflows/lint.yml | 2 +- .github/workflows/release.yml | 10 +++++----- .github/workflows/test.yml | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/image-build.yml b/.github/workflows/image-build.yml index 4b2f653..e9c7905 100644 --- a/.github/workflows/image-build.yml +++ b/.github/workflows/image-build.yml @@ -13,13 +13,13 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1 - name: Build Docker image - uses: docker/build-push-action@v6 + uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0 with: context: . platforms: linux/amd64,linux/arm64 diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index e9eb5dd..005c447 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -11,7 +11,7 @@ jobs: name: Lint runs-on: ubuntu-latest steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Install uv uses: astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc # v6.4.3 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 636d4dc..3a14439 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,13 +20,13 @@ jobs: packages: write id-token: write steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1 - name: Log in to GitHub Container Registry - uses: docker/login-action@v3 + uses: docker/login-action@v184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0 with: registry: ghcr.io username: ${{ github.actor }} @@ -42,7 +42,7 @@ jobs: - name: Extract metadata id: meta - uses: docker/metadata-action@v5 + uses: docker/metadata-action@c1e51972afc2121e065aed6d45c65596fe445f3f # v5.8.0 with: images: ghcr.io/${{ steps.repo_owner.outputs.OWNER }}/plotting-mcp tags: | @@ -51,7 +51,7 @@ jobs: type=raw,value=${{ steps.tag.outputs.VERSION }} - name: Build and push container - uses: docker/build-push-action@v6 + uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0 with: context: . platforms: linux/amd64,linux/arm64 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 46d6600..1b776b9 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,7 +11,7 @@ jobs: name: Test runs-on: ubuntu-latest steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Install uv uses: astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc # v6.4.3