Skip to content

Releases: sandipndev/pool-lock

0.0.2

20 Apr 21:30
68fd54d

Choose a tag to compare

fix: trust new ssh hosts on first connection (#42)

On a fresh runner, the user's known_hosts doesn't contain the git host
yet, so `git clone` fails with "Host key verification failed" before
the action can claim the lock. Setting GIT_SSH_COMMAND with
StrictHostKeyChecking=accept-new tells ssh to auto-accept a new host
key (and pin it thereafter), which removes the need for callers to
pre-seed known_hosts. Works for any git_uri host — github.com,
gitlab, self-hosted — without URI parsing.

Symptom seen in https://github.com/sandipndev/build/actions/runs/24690001595

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

0.0.1

01 May 02:22
87283a8

Choose a tag to compare

pool-lock

GitHub Action that performs cross run concurrent pool locking - interoperable
with Concourse Pool resource via
git

Usage

- uses: sandipndev/pool-lock@0.0.1
  with:
    pool: mac
    resource: mac-m4
    git_uri: git@github.com:yourrepo/ci.git
    git_branch: pool
    git_ssh_key: ${{ secrets.CUSTOM_SSH_KEY_FOR_POOL_REPO_ACCESS }}

Pool Repo Structure

The pool repo should have the following structure:

${pool}/
    claimed/
        .gitkeep
    unclaimed/
        .gitkeep
        ${resource}

There can be other files but this is the minimum required structure. The
claimed directory is where the lock will push to on claim and the unclaimed
directory is where the lock will push to on release. The unclaimed directory
should contain a file with the name of the resource that is being locked. The
file can be empty or contain any data. The claimed directory should contain a
.gitkeep file to ensure that it is created in the repo. The unclaimed
directory should also contain a .gitkeep file to ensure that it is created in
the repo.