Skip to content
Bitcoin Roots

v29.4-roots.3 · Commit 12: [PATCH 12/30] release: add pre-tag artifact rehearsal

ci/test/test_release_version.py

Before: ci/test/test_release_version.py · After: ci/test/test_release_version.py

File metadata
index 4dea023d57bf2a10e9db8a1282f75e37f3d14fe3..3f9c10981755cf33ad4955842730f9d3ceefa1b8 100755

Download original patch · Release notes

Diff rows 1–24 of 24. Line numbers refer to the original before/after files.

+ Added− RemovedUnmarked lines are context.

Scroll the code area horizontally to read long lines. Before is on the left; after is on the right. Unified view fits narrow screens more easily.

ci/test/test_release_version.py CHANGED
@@ -27,17 +27,20 @@ class ReleaseVersionTest(unittest.TestCase):
27
  )
28
  self.assertEqual(result.stdout.strip(), "bitcoin-roots-29.4-roots.1")
29
 
30
- def test_workflow_builds_tags_and_manual_dry_runs_from_the_tag(self):
31
  workflow = RELEASE_WORKFLOW.read_text(encoding="utf-8")
32
  self.assertIn("tags:", workflow)
33
  self.assertIn("'v[0-9]*-roots.[0-9]*'", workflow)
34
  self.assertIn("workflow_dispatch:", workflow)
35
  self.assertNotIn("branches:", workflow)
36
  self.assertIn("github.event_name == 'push' && github.ref_name || inputs.release_tag", workflow)
37
- self.assertIn("ref: refs/tags/${{ env.RELEASE_TAG }}", workflow)
 
 
38
  self.assertIn("if: github.event_name == 'push'", workflow)
39
- self.assertIn('ci/release/validate-release-source.sh "$RELEASE_TAG"', workflow)
40
- self.assertIn('refs/heads/roots/${core_version}:refs/remotes/origin/roots/${core_version}', workflow)
 
41
  self.assertNotIn("origin main:refs/remotes/origin/main", workflow)
42
  self.assertIn("environment: release", workflow)
43
 
 
27
  )
28
  self.assertEqual(result.stdout.strip(), "bitcoin-roots-29.4-roots.1")
29
 
30
+ def test_workflow_builds_tags_and_rehearses_explicit_canonical_commits(self):
31
  workflow = RELEASE_WORKFLOW.read_text(encoding="utf-8")
32
  self.assertIn("tags:", workflow)
33
  self.assertIn("'v[0-9]*-roots.[0-9]*'", workflow)
34
  self.assertIn("workflow_dispatch:", workflow)
35
  self.assertNotIn("branches:", workflow)
36
  self.assertIn("github.event_name == 'push' && github.ref_name || inputs.release_tag", workflow)
37
+ self.assertIn("release_commit:", workflow)
38
+ self.assertIn("inputs.release_commit", workflow)
39
+ self.assertIn("ref: ${{ env.RELEASE_SOURCE_REF }}", workflow)
40
  self.assertIn("if: github.event_name == 'push'", workflow)
41
+ self.assertIn("ci/release/prepare-release-source.sh", workflow)
42
+ self.assertEqual(workflow.count("ci/release/prepare-release-source.sh"), 5)
43
+ self.assertEqual(workflow.count("contents: write"), 1)
44
  self.assertNotIn("origin main:refs/remotes/origin/main", workflow)
45
  self.assertIn("environment: release", workflow)
46