From e7f56b96b762a68b145ee9e5aeecd6ccdb3ed960 Mon Sep 17 00:00:00 2001 From: Toby Bellwood Date: Sun, 27 Nov 2022 11:55:16 +1100 Subject: [PATCH] create lagoon-core version pusher --- .../workflows/lagoon-core-docker-image.yaml | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 .github/workflows/lagoon-core-docker-image.yaml diff --git a/.github/workflows/lagoon-core-docker-image.yaml b/.github/workflows/lagoon-core-docker-image.yaml new file mode 100644 index 00000000..89987af4 --- /dev/null +++ b/.github/workflows/lagoon-core-docker-image.yaml @@ -0,0 +1,78 @@ +name: Publish lagoon-core build-deploy image + +on: + push: + tags: + - 'core-v*.*.*' + +jobs: + docker: + runs-on: ubuntu-latest + strategy: + matrix: + goversion: + - 1.17 + steps: + - + name: Checkout Branch or Tag + uses: actions/checkout@v2 + if: ${{ github.event_name != 'pull_request' }} + with: + fetch-depth: "0" + - + name: Set version for tag build + if: "startsWith(github.ref, 'refs/tags/')" + id: version_tag_build + run: | + LAGOON_VERSION=$(echo $(git describe --abbrev=0 --tags --match 'core-v*')) + BUILD_VERSION=$(echo $(git describe --abbrev=0 --tags --match 'v*')) + BUILD=$(date +%FT%T%z) + echo "LAGOON_VERSION=$LAGOON_VERSION" >> $GITHUB_ENV + echo "BUILD_VERSION=$BUILD_VERSION" >> $GITHUB_ENV + echo "BUILD=$BUILD" >> $GITHUB_ENV + echo "build-deploy $BUILD_VERSION (built: $BUILD) tagged as $LAGOON_VERSION" + - + name: Docker meta + id: meta + uses: docker/metadata-action@v3 + with: + # list of Docker images to use as base name for tags + images: | + ${{ github.repository_owner }}/build-deploy-image + ghcr.io/${{ github.repository_owner }}/build-deploy-image + tags: | + # tag event + type=ref,event=tag + - + name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - + name: Login to DockerHub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - + name: Login to GHCR + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + - + name: Build and push + uses: docker/build-push-action@v2 + with: + context: . + # platforms: linux/amd64,linux/arm64 + platforms: linux/amd64 + build-args: | + "VERSION=${{ env.LAGOON_VERSION }}" + "BUILD=${{ env.BUILD }}" + "GO_VER=${{ matrix.goversion }}" + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }}