From 4f2e74e2a5544a72c6523c22f687d72be593e981 Mon Sep 17 00:00:00 2001 From: Markus Blaschke Date: Mon, 18 Dec 2023 12:34:16 +0100 Subject: [PATCH] update workflows Signed-off-by: Markus Blaschke --- .../build-docker.yaml} | 65 +++++++------ .github/workflows/ci-docker.yaml | 42 +-------- .github/workflows/release-assets.yaml | 2 +- .github/workflows/release-docker.yaml | 92 +----------------- .github/workflows/schedule-docker.yaml | 94 ++----------------- 5 files changed, 54 insertions(+), 241 deletions(-) rename .github/{release-docker.yaml => workflows/build-docker.yaml} (53%) diff --git a/.github/release-docker.yaml b/.github/workflows/build-docker.yaml similarity index 53% rename from .github/release-docker.yaml rename to .github/workflows/build-docker.yaml index 48dd2b7..36dbeb9 100644 --- a/.github/release-docker.yaml +++ b/.github/workflows/build-docker.yaml @@ -1,56 +1,64 @@ -name: "Release: docker" +name: build/docker on: - push: - branches: - - '**' - tags: - - '*.*.*' + workflow_call: + inputs: + publish: + required: true + type: boolean jobs: lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Set Swap Space - uses: pierotofy/set-swap-space@master + uses: pierotofy/set-swap-space@49819abfb41bd9b44fb781159c033dba90353a7c with: swap-size-gb: 12 - name: Run Golangci lint - uses: golangci/golangci-lint-action@v2 + uses: golangci/golangci-lint-action@v3 with: version: latest args: --print-resources-usage build: + name: "build ${{ matrix.Dockerfile }}:${{ matrix.target }}" needs: lint strategy: fail-fast: false matrix: - Dockerfile: [Dockerfile.ubuntu] - suffix: ["-ubuntu"] - latest: ["auto"] include: - - Dockerfile: Dockerfile.alpine - suffix: -alpine + - + Dockerfile: Dockerfile + target: "final-ubuntu" + suffix: "-ubuntu" + latest: "auto" + - + Dockerfile: Dockerfile + target: "final-alpine" + suffix: "-alpine" latest: false - - Dockerfile: Dockerfile.debian - suffix: -debian + - + Dockerfile: Dockerfile + target: "final-debian" + suffix: "-debian" latest: false + runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Set Swap Space - uses: pierotofy/set-swap-space@master + uses: pierotofy/set-swap-space@49819abfb41bd9b44fb781159c033dba90353a7c with: swap-size-gb: 12 - name: Docker meta id: docker_meta - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v5 with: images: ${{ github.repository }},quay.io/${{ github.repository }} labels: | @@ -60,30 +68,33 @@ jobs: suffix=${{ matrix.suffix }} - name: Set up QEMU - uses: docker/setup-qemu-action@v1 + uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 + uses: docker/setup-buildx-action@v3 - name: Login to DockerHub - uses: docker/login-action@v1 + uses: docker/login-action@v3 + if: ${{ inputs.publish }} with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Login to Quay - uses: docker/login-action@v1 + uses: docker/login-action@v3 + if: ${{ inputs.publish }} with: registry: quay.io username: ${{ secrets.QUAY_USERNAME }} password: ${{ secrets.QUAY_TOKEN }} - - name: Build and push - uses: docker/build-push-action@v2 + - name: ${{ inputs.publish && 'Build and push' || 'Build' }} + uses: docker/build-push-action@v5 with: context: . file: ./${{ matrix.Dockerfile }} - platforms: linux/amd64,linux/arm64,linux/arm - push: ${{ github.event_name != 'pull_request' }} + target: ${{ matrix.target }} + platforms: linux/amd64,linux/arm64 + push: ${{ inputs.publish }} tags: ${{ steps.docker_meta.outputs.tags }} labels: ${{ steps.docker_meta.outputs.labels }} diff --git a/.github/workflows/ci-docker.yaml b/.github/workflows/ci-docker.yaml index 7ef10c8..423010f 100644 --- a/.github/workflows/ci-docker.yaml +++ b/.github/workflows/ci-docker.yaml @@ -4,41 +4,7 @@ on: [pull_request, workflow_dispatch] jobs: build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Set Swap Space - uses: pierotofy/set-swap-space@49819abfb41bd9b44fb781159c033dba90353a7c - with: - swap-size-gb: 12 - - - name: Run Golangci lint - uses: golangci/golangci-lint-action@v3 - with: - version: latest - args: --print-resources-usage - - - name: Docker meta - id: docker_meta - uses: docker/metadata-action@v5 - with: - images: ${{ github.repository }},quay.io/${{ github.repository }} - labels: | - io.artifacthub.package.readme-url=https://raw.githubusercontent.com/${{ github.repository }}/${{ github.event.repository.default_branch }}/README.md - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Build - uses: docker/build-push-action@v5 - with: - context: . - file: ./Dockerfile - push: false - platforms: linux/amd64,linux/arm64 - tags: ${{ steps.docker_meta.outputs.tags }} - labels: ${{ steps.docker_meta.outputs.labels }} + uses: ./.github/workflows/build-docker.yaml + secrets: inherit + with: + publish: false diff --git a/.github/workflows/release-assets.yaml b/.github/workflows/release-assets.yaml index fc8f9e6..2fe3fc3 100644 --- a/.github/workflows/release-assets.yaml +++ b/.github/workflows/release-assets.yaml @@ -15,7 +15,7 @@ jobs: with: swap-size-gb: 12 - - uses: actions/setup-go@v4 + - uses: actions/setup-go@v5 with: go-version: '1.21' check-latest: true diff --git a/.github/workflows/release-docker.yaml b/.github/workflows/release-docker.yaml index b29874c..90186ea 100644 --- a/.github/workflows/release-docker.yaml +++ b/.github/workflows/release-docker.yaml @@ -10,90 +10,8 @@ on: - '*.*.*' jobs: - lint: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Set Swap Space - uses: pierotofy/set-swap-space@49819abfb41bd9b44fb781159c033dba90353a7c - with: - swap-size-gb: 12 - - - name: Run Golangci lint - uses: golangci/golangci-lint-action@v3 - with: - version: latest - args: --print-resources-usage - - build: - name: "build ${{ matrix.Dockerfile }}:${{ matrix.target }}" - needs: lint - strategy: - fail-fast: false - matrix: - include: - - - Dockerfile: Dockerfile - target: "final-ubuntu" - suffix: "-ubuntu" - latest: "auto" - - - Dockerfile: Dockerfile - target: "final-alpine" - suffix: "-alpine" - latest: false - - - Dockerfile: Dockerfile - target: "final-debian" - suffix: "-debian" - latest: false - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Set Swap Space - uses: pierotofy/set-swap-space@49819abfb41bd9b44fb781159c033dba90353a7c - with: - swap-size-gb: 12 - - - name: Docker meta - id: docker_meta - uses: docker/metadata-action@v5 - with: - images: ${{ github.repository }},quay.io/${{ github.repository }} - labels: | - io.artifacthub.package.readme-url=https://raw.githubusercontent.com/${{ github.repository }}/${{ github.event.repository.default_branch }}/README.md - flavor: | - latest=${{ matrix.latest }} - suffix=${{ matrix.suffix }} - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Login to Quay - uses: docker/login-action@v3 - with: - registry: quay.io - username: ${{ secrets.QUAY_USERNAME }} - password: ${{ secrets.QUAY_TOKEN }} - - - name: Build and push - uses: docker/build-push-action@v5 - with: - context: . - file: ./${{ matrix.Dockerfile }} - target: ${{ matrix.target }} - platforms: linux/amd64,linux/arm64 - push: ${{ github.event_name != 'pull_request' }} - tags: ${{ steps.docker_meta.outputs.tags }} - labels: ${{ steps.docker_meta.outputs.labels }} + release: + uses: ./.github/workflows/build-docker.yaml + secrets: inherit + with: + publish: ${{ github.event_name != 'pull_request' }} diff --git a/.github/workflows/schedule-docker.yaml b/.github/workflows/schedule-docker.yaml index b6430e9..8b58d51 100644 --- a/.github/workflows/schedule-docker.yaml +++ b/.github/workflows/schedule-docker.yaml @@ -2,93 +2,11 @@ name: "schedule/docker" on: schedule: - - cron: '0 6 * * 1' + - cron: '45 6 * * 1' jobs: - lint: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Set Swap Space - uses: pierotofy/set-swap-space@49819abfb41bd9b44fb781159c033dba90353a7c - with: - swap-size-gb: 12 - - - name: Run Golangci lint - uses: golangci/golangci-lint-action@v3 - with: - version: latest - args: --print-resources-usage - - build: - name: "build ${{ matrix.Dockerfile }}:${{ matrix.target }}" - needs: lint - strategy: - fail-fast: false - matrix: - include: - - - Dockerfile: Dockerfile - target: "final-ubuntu" - suffix: "-ubuntu" - latest: "auto" - - - Dockerfile: Dockerfile - target: "final-alpine" - suffix: "-alpine" - latest: false - - - Dockerfile: Dockerfile - target: "final-debian" - suffix: "-debian" - latest: false - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Set Swap Space - uses: pierotofy/set-swap-space@49819abfb41bd9b44fb781159c033dba90353a7c - with: - swap-size-gb: 12 - - - name: Docker meta - id: docker_meta - uses: docker/metadata-action@v5 - with: - images: ${{ github.repository }},quay.io/${{ github.repository }} - labels: | - io.artifacthub.package.readme-url=https://raw.githubusercontent.com/${{ github.repository }}/${{ github.event.repository.default_branch }}/README.md - flavor: | - latest=${{ matrix.latest }} - suffix=${{ matrix.suffix }} - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Login to Quay - uses: docker/login-action@v3 - with: - registry: quay.io - username: ${{ secrets.QUAY_USERNAME }} - password: ${{ secrets.QUAY_TOKEN }} - - - name: Build and push - uses: docker/build-push-action@v5 - with: - context: . - file: ./${{ matrix.Dockerfile }} - target: ${{ matrix.target }} - platforms: linux/amd64,linux/arm64 - push: ${{ github.event_name != 'pull_request' }} - tags: ${{ steps.docker_meta.outputs.tags }} - labels: ${{ steps.docker_meta.outputs.labels }} + schedule: + uses: ./.github/workflows/build-docker.yaml + secrets: inherit + with: + publish: true