From 82f0a1247c9d47509b4e3404e0c18026674c7b4e Mon Sep 17 00:00:00 2001 From: tonym Date: Mon, 19 Oct 2026 03:06:55 -0500 Subject: [PATCH] ci: replace upstream's GHCR release workflow with a Gitea CI (tests + image build) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Upstream's build.yaml pushes to ghcr.io and has failed on every push since the fork — those reds were never ours. Gitea now runs the 17 tests and a docker build with no push. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_014LCQmFvKshyAJsE8C3B5ET --- .gitea/workflows/ci.yml | 19 +++++++++ .github/workflows/build.yaml | 79 ------------------------------------ 2 files changed, 19 insertions(+), 79 deletions(-) create mode 100644 .gitea/workflows/ci.yml delete mode 100644 .github/workflows/build.yaml diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml new file mode 100644 index 0000000..8eceb3d --- /dev/null +++ b/.gitea/workflows/ci.yml @@ -0,0 +1,19 @@ +# Gitea CI for the OTM fork: the unit + Flask tests, then prove the image builds. +# Upstream's .github/workflows/build.yaml pushed to GHCR and could never pass here. +name: CI +on: + push: + pull_request: +jobs: + test: + runs-on: ubuntu-latest + container: python:3.13-slim + steps: + - uses: actions/checkout@v4 + - run: pip install -q -r requirements.txt + - run: cd app && python -m unittest -v + image: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - run: docker build -t 13ft-ci:${{ gitea.sha }} . diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml deleted file mode 100644 index 96d1021..0000000 --- a/.github/workflows/build.yaml +++ /dev/null @@ -1,79 +0,0 @@ -name: Build - -# Controls when the workflow will run -on: - workflow_dispatch: - push: - branches: - - 'main' - - 'dev' - tags: - - 'v*.*.*' - pull_request: - branches: - - 'main' - - 'dev' - -# permissions are needed if pushing to ghcr.io -permissions: - packages: write - -jobs: - build: - name: "Build and release" - runs-on: ubuntu-latest - steps: - # Get the repository's code - - name: ⬇️ checkout - uses: actions/checkout@v2 - - # https://github.com/docker/setup-qemu-action - - name: ⚙ set up qemu - uses: docker/setup-qemu-action@v1 - - # https://github.com/docker/setup-buildx-action - - name: ⚙ set up docker buildx - id: buildx - uses: docker/setup-buildx-action@v1 - - - name: 👤 login to ghcr - if: github.event_name != 'pull_request' - uses: docker/login-action@v1 - with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: 👤 login to docker hub - if: github.event_name != 'pull_request' - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: 🏷 docker meta - id: docker_meta # you'll use this in the next step - uses: docker/metadata-action@v3 - with: - # list of Docker images to use as base name for tags - images: | - ghcr.io/${{ github.repository_owner }}/13ft - docker.io/wasimaster/13ft - # Docker tags based on the following events/attributes - tags: | - type=schedule - type=ref,event=branch - type=ref,event=pr - type=semver,pattern={{version}} - type=semver,pattern={{major}}.{{minor}} - type=semver,pattern={{major}} - type=sha - - - name: 📦 build and ⬆ push - uses: docker/build-push-action@v2 - with: - context: . - platforms: linux/amd64,linux/arm/v7,linux/arm64 - push: ${{ github.event_name != 'pull_request' }} - tags: ${{ steps.docker_meta.outputs.tags }} - labels: ${{ steps.docker_meta.outputs.labels }}