From de1f7112e02bbdfb882ca625102aa38af60c4999 Mon Sep 17 00:00:00 2001 From: raoulh Date: Sun, 10 Mar 2024 09:24:06 +0100 Subject: [PATCH] Build docker image for calaos --- .github/workflows/publish.yml | 95 ++++++++++++++++++++++++++++------- 1 file changed, 77 insertions(+), 18 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 21aafb3..25956e2 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,19 +1,78 @@ -name: publish -on: [push] +name: Build dev/release docker image + +on: + push: + branches: [ main ] + workflow_dispatch: + inputs: + vincrement: + description: 'Package version increment (major.minor.xxx)' + required: true + default: 'patch' + type: choice + options: + - major + - minor + - patch + +env: + REGISTRY_IMAGE: ghcr.io/calaos/calaos_base + NAME: calaos_base + IMG_TAG: dev + jobs: -publish-docker-image: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Login to GitHub Container Registry - uses: docker/login-action@v1 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Build the Docker image - run: | - docker build . --tag ghcr.io/trickeydan/hue2mqtt-python:latest - docker run ghcr.io/trickeydan/hue2mqtt-python:latest - docker push ghcr.io/trickeydan/hue2mqtt-python:latest \ No newline at end of file + publish-docker-image: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Calaos Action Bump Version + id: calaos_version + uses: calaos/action-bump-version@2 + with: + version_fragment: 'prerelease' + + - name: Docker meta + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY_IMAGE }} + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to Github Packages + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push by digest + id: build + uses: docker/build-push-action@v4 + with: + context: . + push: true + build-args: APP_VERSION=${{ steps.calaos_version.outputs.version_bumped }} + tags: | + ${{ env.REGISTRY_IMAGE }}:${{ env.IMG_TAG }} + ${{ env.REGISTRY_IMAGE }}:${{ steps.calaos_version.outputs.version_bumped }} + + - name: Create Tag + uses: negz/create-tag@v1 + with: + version: ${{ steps.calaos_version.outputs.version_bumped }} + token: ${{ secrets.ACTION_DISPATCH }} + + - name: Build deb + uses: peter-evans/repository-dispatch@v1 + with: + token: ${{ secrets.ACTION_DISPATCH }} + repository: calaos/pkgdebs + event-type: build_deb + client-payload: '{ "pkgname": "calaos-hue2mqtt", "version": "${{ steps.calaos_version.outputs.version_bumped }}", "image_src": "${{ env.REGISTRY_IMAGE }}:${{ steps.calaos_version.outputs.version_bumped }}", "prerelease": true }'