From 388d8f6f3ef9c808a2a26e2642121b85acd2d20f Mon Sep 17 00:00:00 2001 From: Timo Behrendt Date: Mon, 1 Apr 2024 21:46:07 +0200 Subject: [PATCH] refactor: give up on split actions and replicate CI test job in CD pipeline --- .gitea/actions/ci-action/action.yaml | 38 --------------- .gitea/workflows/cd-action.yaml | 48 ------------------- .gitea/workflows/cd.yaml | 71 ++++++++++++++++++++++++++-- .gitea/workflows/ci.yaml | 32 +++++++++++-- 4 files changed, 95 insertions(+), 94 deletions(-) delete mode 100644 .gitea/actions/ci-action/action.yaml delete mode 100644 .gitea/workflows/cd-action.yaml diff --git a/.gitea/actions/ci-action/action.yaml b/.gitea/actions/ci-action/action.yaml deleted file mode 100644 index ca4fa06..0000000 --- a/.gitea/actions/ci-action/action.yaml +++ /dev/null @@ -1,38 +0,0 @@ -name: CI Action - -on: - workflow_call: - -jobs: - test: - name: test - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Setup go - uses: actions/setup-go@v5 - with: - go-version-file: go.mod - check-latest: true - - name: Create cache key - uses: https://gitea.com/actions/go-hashfiles@v0.0.1 - id: hash-go - with: - patterns: | - go.mod - go.sum - - name: cache go - id: cache-go - uses: actions/cache@v4 - with: - path: | - /go_path - /go_cache - key: go_path-${{ steps.hash-go.outputs.hash }} - restore-keys: |- - go_cache-${{ steps.hash-go.outputs.hash }} - - name: build - run: make build - - name: test - run: make test diff --git a/.gitea/workflows/cd-action.yaml b/.gitea/workflows/cd-action.yaml deleted file mode 100644 index c55f6d9..0000000 --- a/.gitea/workflows/cd-action.yaml +++ /dev/null @@ -1,48 +0,0 @@ -name: CD Action - -on: - workflow_call: - secrets: [REGISTRY_USER, REGISTRY_PASSWORD] - inputs: - DOCKER_REGISTRY: - required: true - type: string - -jobs: - build_and_push: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - - name: Login to Registry - uses: docker/login-action@v2 - with: - registry: ${{ input.DOCKER_REGISTRY }} - username: ${{ secrets.REGISTRY_USER }} - password: ${{ secrets.REGISTRY_PASSWORD }} - - - name: Get Metadata - id: meta - run: | - echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $2}' | tr '[:upper:]' '[:lower:]') >> $GITHUB_OUTPUT - echo REPO_VERSION=$(git describe --tags --always | sed 's/^v//') >> $GITHUB_OUTPUT - - - name: Build and push - uses: docker/build-push-action@v4 - with: - context: . - file: ./Dockerfile - platforms: | - linux/amd64 - linux/arm64 - push: true - tags: | - ${{ input.DOCKER_REGISTRY }}/t.behrendt/${{ steps.meta.outputs.REPO_NAME }}:${{ steps.meta.outputs.REPO_VERSION }} - ${{ input.DOCKER_REGISTRY }}/t.behrendt/${{ steps.meta.outputs.REPO_NAME }}:latest diff --git a/.gitea/workflows/cd.yaml b/.gitea/workflows/cd.yaml index 606a873..b1d4396 100644 --- a/.gitea/workflows/cd.yaml +++ b/.gitea/workflows/cd.yaml @@ -10,15 +10,76 @@ env: jobs: test: + name: test runs-on: ubuntu-latest steps: - - uses: ./.gitea/workflows/ci-action.yaml + - name: Checkout + uses: actions/checkout@v4 + - name: Setup go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + check-latest: true + - name: Create cache key + uses: https://gitea.com/actions/go-hashfiles@v0.0.1 + id: hash-go + with: + patterns: | + go.mod + go.sum + - name: cache go + id: cache-go + uses: actions/cache@v4 + with: + path: | + /go_path + /go_cache + key: go_path-${{ steps.hash-go.outputs.hash }} + restore-keys: |- + go_cache-${{ steps.hash-go.outputs.hash }} + - name: build + run: make build + - name: test + run: make test + build_and_push: - runs-on: ubuntu-latest + name: Build and push requires: - test + runs-on: ubuntu-latest steps: - - uses: ./.gitea/workflows/cd-action.yaml - with: - DOCKER_REGISTRY: ${{ env.DOCKER_REGISTRY }} + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to Registry + uses: docker/login-action@v2 + with: + registry: ${{ input.DOCKER_REGISTRY }} + username: ${{ secrets.REGISTRY_USER }} + password: ${{ secrets.REGISTRY_PASSWORD }} + + - name: Get Metadata + id: meta + run: | + echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $2}' | tr '[:upper:]' '[:lower:]') >> $GITHUB_OUTPUT + echo REPO_VERSION=$(git describe --tags --always | sed 's/^v//') >> $GITHUB_OUTPUT + + - name: Build and push + uses: docker/build-push-action@v4 + with: + context: . + file: ./Dockerfile + platforms: | + linux/amd64 + linux/arm64 + push: true + tags: | + ${{ input.DOCKER_REGISTRY }}/t.behrendt/${{ steps.meta.outputs.REPO_NAME }}:${{ steps.meta.outputs.REPO_VERSION }} + ${{ input.DOCKER_REGISTRY }}/t.behrendt/${{ steps.meta.outputs.REPO_NAME }}:latest diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index 8484233..dac1a20 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -9,8 +9,34 @@ env: jobs: test: + name: test runs-on: ubuntu-latest steps: - - name: Checkout - uses: actions/checkout@v4 - - uses: ./.gitea/actions/ci-action + - name: Checkout + uses: actions/checkout@v4 + - name: Setup go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + check-latest: true + - name: Create cache key + uses: https://gitea.com/actions/go-hashfiles@v0.0.1 + id: hash-go + with: + patterns: | + go.mod + go.sum + - name: cache go + id: cache-go + uses: actions/cache@v4 + with: + path: | + /go_path + /go_cache + key: go_path-${{ steps.hash-go.outputs.hash }} + restore-keys: |- + go_cache-${{ steps.hash-go.outputs.hash }} + - name: build + run: make build + - name: test + run: make test