diff --git a/.github/workflows/quality-checks.yml b/.github/workflows/quality-checks.yml index 19124ec..d3fd75f 100644 --- a/.github/workflows/quality-checks.yml +++ b/.github/workflows/quality-checks.yml @@ -6,6 +6,7 @@ on: - '**' pull_request: - '**' + workflow_call: env: DENO_VERSION: 1.37.2 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..742abef --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,57 @@ +name: Quality Checks + +on: + push: + tags: + - "v*" + +env: + DENO_VERSION: 1.37.2 + +jobs: + release-quality-checks: + uses: swissmanu/litecom2mqtt/.github/workflows/quality-checks.yml@main + + release: + runs-on: ubuntu-latest + needs: [release-quality-checks] + + steps: + - uses: actions/checkout@v3 + - name: Use Deno Version ${{ env.DENO_VERSION }} + uses: denolib/setup-deno@v2 + with: + deno-version: ${{ env.DENO_VERSION }} + + - name: Build + run: | + deno cache src/deps.ts + deno cache src/main.ts + - name: Get Version from Git Tag + id: get_version + uses: battila7/get-version-action@v2 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to GitHub Container Registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ github.token }} + + - name: Build and Push Docker Images + id: docker_build + uses: docker/build-push-action@v5 + with: + context: . + platforms: linux/arm/arm64,linux/amd64 + push: true + # :latest can be dangerous when republishing old version... But it's okay for now. + tags: | + ghcr.io/${{ github.repository }}/litecom2mqtt:latest + ghcr.io/${{ github.repository }}/litecom2mqtt:${{ steps.get_version.outputs.version }}