From 811e7a2309f32c3c62cfce46c47899c89682fc8b Mon Sep 17 00:00:00 2001 From: emil Date: Wed, 24 Jun 2026 22:11:48 +0000 Subject: [PATCH] GRM-82: fix: repair publish workflow and add publish step to post-merge --- .gitea/workflows/post-merge.yml | 29 ++++++++++++++++++++--------- .gitea/workflows/publish.yml | 7 +++---- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/.gitea/workflows/post-merge.yml b/.gitea/workflows/post-merge.yml index c81de6a..82a4358 100644 --- a/.gitea/workflows/post-merge.yml +++ b/.gitea/workflows/post-merge.yml @@ -44,8 +44,6 @@ jobs: run: | . .env 2>/dev/null || true python3 -m pip install --break-system-packages --target=src "devx==0.10.2" --extra-index-url "https://emil:${{ secrets.REPO_TOKEN }}@git.oblachno.oblachno.fyi/api/packages/oblachno-oss/pypi/simple/" - python3 -m pip install --break-system-packages --target=src "devx==0.10.2" --extra-index-url "https://emil:${{ secrets.REPO_TOKEN }}@git.oblachno.oblachno.fyi/api/packages/oblachno-oss/pypi/simple/" - python3 -m pip install --break-system-packages --target=src "devx==0.10.2" --extra-index-url "https://emil:${{ secrets.REPO_TOKEN }}@git.oblachno.oblachno.fyi/api/packages/oblachno-oss/pypi/simple/" - name: Check if this is a release commit id: check env: @@ -65,8 +63,6 @@ jobs: run: | . .env 2>/dev/null || true python3 -m pip install --break-system-packages --target=src "devx==0.10.2" --extra-index-url "https://emil:${{ secrets.REPO_TOKEN }}@git.oblachno.oblachno.fyi/api/packages/oblachno-oss/pypi/simple/" - python3 -m pip install --break-system-packages --target=src "devx==0.10.2" --extra-index-url "https://emil:${{ secrets.REPO_TOKEN }}@git.oblachno.oblachno.fyi/api/packages/oblachno-oss/pypi/simple/" - python3 -m pip install --break-system-packages --target=src "devx==0.10.2" --extra-index-url "https://emil:${{ secrets.REPO_TOKEN }}@git.oblachno.oblachno.fyi/api/packages/oblachno-oss/pypi/simple/" - name: Validate latest commit message env: PYTHONPATH: src @@ -80,7 +76,7 @@ jobs: needs: [detect-type] if: needs.detect-type.outputs.is-release == 'false' runs-on: docker - timeout-minutes: 10 + timeout-minutes: 15 steps: - uses: actions/checkout@v4 with: @@ -104,6 +100,25 @@ jobs: . .venv/bin/activate export PATH="$HOME/.local/bin:$PATH" python3 -m devx.ci.release + - name: Publish release + env: + REPO_TOKEN: ${{ secrets.REPO_TOKEN }} + PYTHONPATH: src + run: | + . .venv/bin/activate + export PATH="$HOME/.local/bin:$PATH" + TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "") + if [ -z "$TAG" ]; then + echo "No tag found — skipping publish" + exit 0 + fi + HEAD_MSG=$(git log -1 --format=%s) + if echo "$HEAD_MSG" | grep -q "^release: ${TAG}"; then + echo "Publishing release $TAG..." + python3 -m devx.ci.publish "$TAG" "${{ github.repository }}" + else + echo "HEAD is not a release commit for $TAG — skipping publish" + fi - name: Notify on failure if: failure() env: @@ -204,8 +219,6 @@ jobs: run: | . .env 2>/dev/null || true python3 -m pip install --break-system-packages --target=src "devx==0.10.2" --extra-index-url "https://emil:${{ secrets.REPO_TOKEN }}@git.oblachno.oblachno.fyi/api/packages/oblachno-oss/pypi/simple/" - python3 -m pip install --break-system-packages --target=src "devx==0.10.2" --extra-index-url "https://emil:${{ secrets.REPO_TOKEN }}@git.oblachno.oblachno.fyi/api/packages/oblachno-oss/pypi/simple/" - python3 -m pip install --break-system-packages --target=src "devx==0.10.2" --extra-index-url "https://emil:${{ secrets.REPO_TOKEN }}@git.oblachno.oblachno.fyi/api/packages/oblachno-oss/pypi/simple/" - name: Update Vikunja task env: VIKUNJA_TOKEN: ${{ secrets.VIKUNJA_TOKEN }} @@ -238,8 +251,6 @@ jobs: run: | . .env 2>/dev/null || true python3 -m pip install --break-system-packages --target=src "devx==0.10.2" --extra-index-url "https://emil:${{ secrets.REPO_TOKEN }}@git.oblachno.oblachno.fyi/api/packages/oblachno-oss/pypi/simple/" - python3 -m pip install --break-system-packages --target=src "devx==0.10.2" --extra-index-url "https://emil:${{ secrets.REPO_TOKEN }}@git.oblachno.oblachno.fyi/api/packages/oblachno-oss/pypi/simple/" - python3 -m pip install --break-system-packages --target=src "devx==0.10.2" --extra-index-url "https://emil:${{ secrets.REPO_TOKEN }}@git.oblachno.oblachno.fyi/api/packages/oblachno-oss/pypi/simple/" - name: Ensure branch protection and labels env: REPO_TOKEN: ${{ secrets.REPO_TOKEN }} diff --git a/.gitea/workflows/publish.yml b/.gitea/workflows/publish.yml index 447ce2a..a26073c 100644 --- a/.gitea/workflows/publish.yml +++ b/.gitea/workflows/publish.yml @@ -22,9 +22,7 @@ jobs: - name: Install CI tools run: | . .env 2>/dev/null || true - python3 -m pip install --break-system-packages --target=src "devx==0.9.12" --extra-index-url "https://emil:${{ secrets.REPO_TOKEN }}@git.oblachno.oblachno.fyi/api/packages/oblachno-oss/pypi/simple/" - python3 -m pip install --break-system-packages --target=src "devx==0.9.12" --extra-index-url "https://emil:${{ secrets.REPO_TOKEN }}@git.oblachno.oblachno.fyi/api/packages/oblachno-oss/pypi/simple/" - python3 -m pip install --break-system-packages --target=src "devx==0.9.12" --extra-index-url "https://emil:${{ secrets.REPO_TOKEN }}@git.oblachno.oblachno.fyi/api/packages/oblachno-oss/pypi/simple/" + python3 -m pip install --break-system-packages --target=src "devx==0.10.2" --extra-index-url "https://emil:${{ secrets.REPO_TOKEN }}@git.oblachno.oblachno.fyi/api/packages/oblachno-oss/pypi/simple/" python3 -m devx.tools.install_tools --tool git-cliff --tool tea - name: Install build tools run: python3 -m pip install --break-system-packages build twine @@ -33,10 +31,11 @@ jobs: REPO_TOKEN: ${{ secrets.REPO_TOKEN }} run: | export PATH="$HOME/.local/bin:$PATH" + tea login add --name grm --url "${{ github.server_url }}" --token "$REPO_TOKEN" || true + tea login default grm || true - name: Build and publish release env: REPO_TOKEN: ${{ secrets.REPO_TOKEN }} - PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} PYTHONPATH: src run: | export PATH="$HOME/.local/bin:$PATH"