Commit Graph

17 Commits

Author SHA1 Message Date
unkin-agent 167a529cec Format the tree with stylua 2026-09-09 23:28:52 +10:00
benvin 9a88afcd84 Merge pull request 'Publish tagged source zips on release' (#2) from benvin/release-pipeline into main
Reviewed-on: #2
2026-09-09 23:22:42 +10:00
benvin c7da77a588 Merge pull request 'Add arti-pack plugin manager scaffold' (#1) from benvin/scaffold into main
Reviewed-on: #1
2026-09-09 23:19:48 +10:00
unkin-agent 0db490bdf3 Merge branch 'benvin/scaffold' into benvin/release-pipeline
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/lint Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
2026-09-09 22:57:01 +10:00
unkin-agent e61e950d30 Trim whitespace out of the registry and spec urls
ci/woodpecker/pr/lint Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
A registry with a stray space or newline passed validation and was
concatenated verbatim into the archive URL, so curl saw the malformed
address instead of the user seeing the required-registry error. Trim the
value before matching and reject any whitespace left inside it; apply the
same to a spec's explicit url.
2026-09-09 22:56:18 +10:00
unkin-agent d3f8074940 Merge remote-tracking branch 'origin/benvin/scaffold' into benvin/release-pipeline
ci/woodpecker/pr/lint Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
2026-09-09 22:44:45 +10:00
unkin-agent c75a866c02 Require an explicit registry instead of defaulting to one
ci/woodpecker/pr/lint Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
The shipped default named one private, internet-unreachable host, so an
unconfigured install failed against a server it could never reach rather
than saying what to set.

- drop the registry default and make the option required
- reject a non-string, empty, or non-http(s) registry with the option name
  and how to set it
- ask for a registry only when a run has to resolve one, so clean, list,
  and specs with an explicit url keep working without it
2026-09-09 22:44:33 +10:00
unkin-agent 9b33f27d47 Use a placeholder host in the install instructions
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/lint Pipeline was successful
The install snippets named one specific artifact repository by hostname.

- fetch the release zip from a placeholder host under the same tag-archive
  path shape
2026-09-09 22:35:54 +10:00
unkin-agent b520b862e9 Merge branch 'benvin/scaffold' into benvin/release-pipeline 2026-09-09 22:35:10 +10:00
unkin-agent 7def2a28a9 Describe arti-pack against any artifact repository
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/lint Pipeline was successful
The docs described one specific deployment by hostname, reading as though
arti-pack only works there. It works against any HTTP artifact repository that
serves a tag archive at a stable URL.

- describe the registry as any HTTP artifact repository, with Artifactory as
  the worked example
- use a placeholder host in every configuration and URL example
- state that registry must be set, since the shipped default is site-specific
2026-09-09 22:35:00 +10:00
unkin-agent 3dc6409628 Assert the release zip's shape before publishing
ci/woodpecker/pr/lint Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
Uploads are immutable, so a malformed archive cannot be replaced at its
version path. verify-package checks the zip has one top-level directory,
carries lua/, plugin/, doc/ and README.md, and leaks no dev or CI files.
2026-09-09 21:17:21 +10:00
unkin-agent 8f49c50ef3 Drop the redundant safe.directory config from the package step
ci/woodpecker/pr/lint Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
2026-09-09 21:08:22 +10:00
unkin-agent 2960321b0b Publish tagged source zips to artifactapi
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/lint Pipeline was successful
Add a tag-triggered release pipeline and a package target that builds the
archive shape arti-pack's own installer consumes.
2026-09-09 21:06:09 +10:00
unkin-agent 11ce1fed9d Save the lockfile through a temp file and a rename
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/lint Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
An interrupted save could leave a truncated lock.json.
2026-09-08 23:32:04 +10:00
unkin-agent 3190b30e97 Abort clean when a plugin spec fails to parse
An unparseable entry dropped out of the wanted set, so clean deleted the
directory and lock entry of a plugin the user still has configured.

Add tests/init_spec.lua covering setup, sync, clean and list.
2026-09-08 23:32:04 +10:00
unkin-agent 46517953e5 Add arti-pack plugin manager scaffold
ci/woodpecker/pr/lint Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
- add lua modules for spec parsing, lock state, fs helpers and the installer
- add ArtiPackSync/ArtiPackClean/ArtiPackList commands and help doc
- add headless nvim test harness and specs
- add make test/lint/fmt/pre-commit and patch/minor/major bump targets
- add woodpecker test, lint and pre-commit pipelines
2026-09-08 23:22:15 +10:00
gitadmin 0d53991048 Initial commit 2026-09-08 23:00:07 +10:00