Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
matrix:
python-version: ["3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
with:
python-version: ${{ matrix.python-version }}
Expand Down
2 changes: 1 addition & 1 deletion examples/github-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
github.event.label.name == 'merge-queue'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
with:
ref: ${{ github.event.repository.default_branch }}
persist-credentials: false
Expand Down
10 changes: 10 additions & 0 deletions tests/test_skill.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
ROOT = Path(__file__).resolve().parents[1]
CANONICAL = ROOT / "skills" / "deploybot" / "SKILL.md"
RELEASE_COMMIT = "2e884f65f182f6a9ddc4c4785288045bdf98f188"
CHECKOUT_COMMIT = "9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0"


class DeployBotSkillTest(unittest.TestCase):
Expand Down Expand Up @@ -56,6 +57,15 @@ def test_github_workflow_wakes_after_named_ci_finishes(self) -> None:
self.assertIn("github.event.repository.default_branch", workflow)
self.assertIn("persist-credentials: false", workflow)

def test_workflows_pin_current_checkout_runtime(self) -> None:
paths = [
ROOT / ".github" / "workflows" / "ci.yml",
ROOT / "examples" / "github-workflow.yml",
]
for path in paths:
with self.subTest(path=path):
self.assertIn(CHECKOUT_COMMIT, path.read_text(encoding="utf-8"))

def test_clients_pin_the_immutable_status_release(self) -> None:
paths = [
ROOT / "adapters" / "codex" / "agent-merge-queue" / ".mcp.json",
Expand Down