From f228b29b0fc972a6e97c943a6bd289aec159b3b8 Mon Sep 17 00:00:00 2001 From: telnetdoogie Date: Sat, 15 Feb 2025 11:43:50 -0600 Subject: [PATCH] feat: added armv7 with automated dev build --- .github/workflows/auto_release.yml | 9 +-------- .github/workflows/docker-publish.yml | 27 +++++++++++++++++++------- CHANGELOG.md | 29 ++++++++++++++-------------- Dockerfile | 4 +++- 4 files changed, 39 insertions(+), 30 deletions(-) diff --git a/.github/workflows/auto_release.yml b/.github/workflows/auto_release.yml index b8c68f3..329794f 100644 --- a/.github/workflows/auto_release.yml +++ b/.github/workflows/auto_release.yml @@ -4,7 +4,7 @@ on: push: branches: - main - - develop + jobs: new-release: runs-on: ubuntu-latest @@ -29,13 +29,6 @@ jobs: echo "Clean Changelog: ${{ steps.changelog.outputs.clean_changelog }}" echo "Outputs Skipped: ${{ steps.changelog.outputs.skipped }}" - - name: Create Development Tag (if on develop) - if: github.ref == 'refs/heads/develop' && steps.changelog.outputs.skipped == 'false' - run: | - DEV_TAG="dev-${{ steps.changelog.outputs.tag }}" - git tag $DEV_TAG - git push origin $DEV_TAG - - name: Create Production Release # This action will create the actual production release uses: actions/create-release@0cb9c9b65d5d1901c1f53e5e66eaf4afd303e70e # v1 if: github.ref == 'refs/heads/main' && steps.changelog.outputs.skipped == 'false' diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index c5c19c8..be43c1c 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -24,16 +24,29 @@ jobs: outputs: is_dev: ${{ steps.check_version.outputs.is_dev }} steps: - - name: Check if this is a dev release + - name: Extract branch or tag name and determine if it's a dev release id: check_version run: | - if [[ "${{ github.ref_name }}" == dev-* ]]; then + # Extract branch or tag name + if [[ "$GITHUB_REF" == refs/heads/* ]]; then + TAG_NAME="${GITHUB_REF#refs/heads/}" # Extract branch name + elif [[ "$GITHUB_REF" == refs/tags/* ]]; then + TAG_NAME="${GITHUB_REF#refs/tags/}" # Extract tag name + else + TAG_NAME="$GITHUB_REF" # Fallback (shouldn't happen) + fi + echo "Extracted TAG_NAME: $TAG_NAME" + # Check if TAG_NAME starts with "dev" + if [[ "$TAG_NAME" == dev* ]]; then echo "is_dev=true" >> $GITHUB_ENV - echo "This is a development release" + echo "is_dev=true" >> $GITHUB_OUTPUT + echo "Detected a development release: $TAG_NAME" else echo "is_dev=false" >> $GITHUB_ENV - echo "This is a production release" + echo "is_dev=false" >> $GITHUB_OUTPUT + echo "Detected a production release: $TAG_NAME" fi + shell: bash build-prod: needs: setup @@ -117,7 +130,7 @@ jobs: with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} tags: | - ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:dev-${{ github.ref_name }} + ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name == 'develop' && 'develop' || format('dev-{0}', github.ref_name) }} - name: Build and push Docker image (Production Release) id: build-and-push @@ -128,8 +141,8 @@ jobs: provenance: true push: true tags: | - ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:dev-${{ github.ref_name }} + ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name == 'develop' && 'develop' || format('dev-{0}', github.ref_name) }} ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:dev-latest labels: ${{ steps.meta.outputs.labels }} cache-from: type=gha - cache-to: type=gha,mode=max \ No newline at end of file + cache-to: type=gha,mode=max diff --git a/CHANGELOG.md b/CHANGELOG.md index 3729ebe..e5b5446 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,45 +1,46 @@ -# [1.4.0](https://github.com/telnetdoogie/callattendant-docker/compare/v1.3.0...v1.4.0) (2025-02-14) +## [1.5.3](https://github.com/telnetdoogie/callattendant-docker/compare/v1.5.2...v1.5.3) (2025-02-14) -### Features +### Bug Fixes -* Modify Dockerfile for armv7 version ([68e8449](https://github.com/telnetdoogie/callattendant-docker/commit/68e84495584deeb8dfb1499a571a135c60cce7c3)) +* **ci:** remove build isolation so no lxml build ([c602c67](https://github.com/telnetdoogie/callattendant-docker/commit/c602c67d29167599cb76ccf04f2fc684fbb64de6)) -# [1.3.0](https://github.com/telnetdoogie/callattendant-docker/compare/v1.2.0...v1.3.0) (2025-02-14) +## [1.5.2](https://github.com/telnetdoogie/callattendant-docker/compare/v1.5.1...v1.5.2) (2025-02-14) -### Features +### Bug Fixes -* Add armv7 version ([17b3f0d](https://github.com/telnetdoogie/callattendant-docker/commit/17b3f0d1efafa30b0a79a62eb7ac0d286f1b52eb)) +* **ci:** modify check for develop branch ([64989a3](https://github.com/telnetdoogie/callattendant-docker/commit/64989a34d7679863aae78f0df3c86702229cea25)) -# [1.2.0](https://github.com/telnetdoogie/callattendant-docker/compare/v1.1.0...v1.2.0) (2025-01-10) +## [1.5.1](https://github.com/telnetdoogie/callattendant-docker/compare/v1.4.2...v1.5.1) (2025-02-14) -### Features +### Bug Fixes -* Update dependency thess/callattendant to v2.1.0 ([a10371d](https://github.com/telnetdoogie/callattendant-docker/commit/a10371d4d6dbe6052daa7bd4cfcbaf13db54017c)) +* **ci:** bump for new dev tag ([0cf16b3](https://github.com/telnetdoogie/callattendant-docker/commit/0cf16b37444267d7c6142372c8b11f4fb4794890)) +* **ci:** bump for new dev tag ([f472d39](https://github.com/telnetdoogie/callattendant-docker/commit/f472d3916d34d54a6934b74112ad9cc9da03ca12)) -# [1.1.0](https://github.com/telnetdoogie/callattendant-docker/compare/v1.0.1...v1.1.0) (2024-12-31) +## [1.4.2](https://github.com/telnetdoogie/callattendant-docker/compare/v1.4.1...v1.4.2) (2025-02-14) -### Features +### Bug Fixes -* renovate - stay up to date with thess version ([a77426c](https://github.com/telnetdoogie/callattendant-docker/commit/a77426c68c4b2b953d09b3d1a1ef8f382b1bede0)) +* **ci:** resolve release version detection in publish action ([10ba475](https://github.com/telnetdoogie/callattendant-docker/commit/10ba475226018e33931c091e9993cef9eb199ba1)) -## [1.0.1](https://github.com/telnetdoogie/callattendant-docker/compare/v0.1.0...v1.0.1) (2024-12-31) +## [1.4.1](https://github.com/telnetdoogie/callattendant-docker/compare/v1.4.0...v1.4.1) (2025-02-14) ### Bug Fixes -* removed armv7 docker build ([e772efc](https://github.com/telnetdoogie/callattendant-docker/commit/e772efc28a80df1e138b091b6a64013ce785774b)) +* Remove the need to compile lxml for armv7 ([a2fdbfe](https://github.com/telnetdoogie/callattendant-docker/commit/a2fdbfe425f8f691614fbab5e4a3ed235db1feb6)) diff --git a/Dockerfile b/Dockerfile index 79a15c7..989f241 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.13.2-alpine3.21 as builder +FROM python:3.13.2-alpine3.21 AS builder WORKDIR /app @@ -8,8 +8,10 @@ RUN apk add --no-cache \ musl-dev \ libxml2-dev \ libxslt-dev \ + py3-lxml \ python3-dev + RUN pip install --no-cache-dir --prefix=/install callattendant@git+https://github.com/thess/callattendant@v2.1.0 FROM python:3.13.2-alpine3.21