Skip to content

[DEV] remove git-release-test.yml - #305

Merged
treee111 merged 1 commit into
developfrom
remove-git-release-test-workflow
Aug 26, 2026
Merged

[DEV] remove git-release-test.yml#305
treee111 merged 1 commit into
developfrom
remove-git-release-test-workflow

Conversation

@treee111

Copy link
Copy Markdown
Owner

This PR…

  • Deletes .github/workflows/git-release-test.yml.

Considerations and implementations

The workflow is a copy of git-release-pre.yml. On develop the two differ in three things only:

-name: Create pre-release with .zip files
+name: Test create release with .zip files

     branches:
-      - "release-*"
+      - git-release

+      - name: Check output
+        env:
+          RELEASE_VERSION: ${{ github.ref_name }}
+        run: |
+          echo $RELEASE_VERSION
+          echo ${{ github.ref_name }}

Everything else — checkout, copyFilesToDist.sh, the release step and its whole configuration — is identical.

Why remove it rather than keep it

A copy of the workflow it is meant to test can drift from that workflow, and this one did.

DRAFT_RELEASE: true was removed from both workflows with #178 in February 2023:

before this change, the release was a "draft release" and creating it again (by another push) was not working

Two days later it was added again — but only on the git-release branch, in one of the test / test 2 / test 3 / test 4 commits. That branch is never merged anywhere, so the flag was invisible from develop and stayed there for three and a half years.

The consequence is the bug #178 already described. UNRELEASED: update deletes and recreates the previous release by its tag, and a draft release has no tag — so the previous draft could never be found and replaced, and every run left another one behind. Four such drafts had accumulated on tag latest and have been deleted.

Testing a workflow with a copy that can silently diverge from it gives less confidence than not testing it at all.

How to test the release workflow without this file

Push a branch whose name matches release-*, for example release-test. That triggers git-release-pre.yml itself, so what is exercised is the real workflow rather than a duplicate of it.

The only thing lost is the Check output step, which echoes github.ref_name — that value is visible in the run context anyway.

Not addressed here

  • git-release-pre.yml and git-release.yml both write to the latest tag. Setting UNRELEASED_TAG would let test runs use a tag of their own instead of replacing the current pre-release.
  • docker://antonyurchenko/git-release:latest is unpinned. It currently resolves to v6.0.0 and has not moved since January 2024, but upstream recommends locking to a major version such as :v6.
  • The git-release branch itself has no content of its own any more and can be removed. It can be recreated with git push origin develop:git-release whenever it is needed.

Pull Request Checklist

🤖 Generated with Claude Code

The workflow is a copy of git-release-pre.yml which differs only in its
name, in the branch it is triggered by and in an additional step echoing
github.ref_name.

A copy of the workflow it is supposed to test can drift from it, and it
did: DRAFT_RELEASE was removed from both workflows with #178 but got added
again on the git-release branch two days later. Because that branch is
never merged, the flag stayed there unnoticed and every run left another
draft release behind on tag "latest".

The release workflow can be tested without a copy by pushing a branch
matching "release-*", which runs git-release-pre.yml itself.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@treee111
treee111 merged commit 5063e5e into develop Aug 26, 2026
2 checks passed
@treee111
treee111 deleted the remove-git-release-test-workflow branch August 26, 2026 19:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant