Skip to content

Add the install and publish actions - #1

Merged
nicodes merged 1 commit into
mainfrom
add-install-and-publish-actions
Jul 30, 2026
Merged

Add the install and publish actions#1
nicodes merged 1 commit into
mainfrom
add-install-and-publish-actions

Conversation

@nicodes

@nicodes nicodes commented Jul 30, 2026

Copy link
Copy Markdown
Member

17 repos install the gdam CLI in CI; 14 also publish an addon. Every one of those steps was copied by hand and they have drifted — 3 variants of the install step and 3 of the publish step across the addon repos alone, one of which (gd-pocketbase) lost its set -euo pipefail and so wouldn't fail on a broken download. The 3 games use a different method again: a release tarball with no checksum verification.

install/

Delegates to gdam's own scripts/install_cli.sh rather than reimplementing the download, so there stays one definition of how gdam is installed. Consequences: the games gain checksum verification, the addon repos gain version pinning, and latest / 0.0.7 / v0.0.7 all work.

publish/

Derives the addon spec (@owner/repo) and asset name (@owner_repo.zip) from GITHUB_REPOSITORY, so a normal addon repo passes only version, tag, and secret-key. Fails with a message naming the cause when the key is missing or the CLI was never installed.

CI

Exercises both actions on Linux and macOS: latest, a pinned version, both spellings of that version agreeing, and each publish guard actually firing.

Once this is green I'll tag v1 so consumers can track the major.

🤖 Generated with Claude Code

Seventeen repositories install the gdam CLI in CI and fourteen of them also
publish an addon to the registry. Every one of those steps was copied by
hand, and they have drifted: three variants of the install step and three of
the publish step across the addon repositories alone, one of which lost its
`set -euo pipefail` and so would not fail on a broken download. The three
games use a different method again, fetching a release tarball with no
checksum verification.

install/ delegates to gdam's own scripts/install_cli.sh rather than
reimplementing the download, so there stays one definition of how gdam is
installed. That brings checksum verification to the games and version
pinning to the addon repositories, and it handles "latest", "0.0.7" and
"v0.0.7" alike.

publish/ derives the addon spec and asset name from GITHUB_REPOSITORY, so a
normal addon repository passes only version, tag, and the secret key. It
fails with a message naming the cause when the key is missing or the CLI was
never installed, rather than surfacing an authorization error or a
command-not-found several steps later.

CI exercises both on Linux and macOS: latest, a pinned version, both
spellings of that version agreeing, and each publish guard actually firing.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@nicodes
nicodes merged commit 7785120 into main Jul 30, 2026
3 checks passed
@nicodes
nicodes deleted the add-install-and-publish-actions branch July 30, 2026 23:16
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