Commit graph

21 commits

Author SHA1 Message Date
cc2f605905
fix(deploy-static-site): quote action_path in nix eval expr to handle @ in path 2026-02-18 22:03:55 +01:00
8edf272e90
fix(deploy-static-site): cache installed tools to S3 after first build 2026-02-18 22:02:29 +01:00
ae48e175e2
fix(deploy-static-site): remove namespace apply (pre-created in infra setup) 2026-02-18 21:52:45 +01:00
c0ba8096ba
fix(deploy-static-site): add nix profile bin to PATH after install 2026-02-18 18:23:51 +01:00
5bb8b5a427
chore: disable VM smoke test pending KVM on runner
Some checks failed
Build and Push static-server Image / build (push) Failing after 44s
See #1

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-18 13:51:19 +01:00
b6a9eb1e84
fix: replace VM test with runCommand smoke test (no KVM in CI)
Some checks failed
Build and Push static-server Image / build (push) Failing after 46s
2026-02-18 13:41:44 +01:00
b094952455
feat: add push-nix-cache action, wire into deploy-static-site and build-static-server
Some checks failed
Build and Push static-server Image / build (push) Failing after 1m45s
Extracts sign+push logic into a reusable push-nix-cache action.
Both the site deploy and the image build now use it.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-18 13:38:06 +01:00
38792a985f
fix: pkgs.nixosTest -> pkgs.testers.nixosTest
Some checks failed
Build and Push static-server Image / build (push) Failing after 1m46s
2026-02-18 13:33:20 +01:00
e005ac38fd
fix: use pkgs.nixosTest, not nixpkgs.lib.nixosTest
Some checks failed
Build and Push static-server Image / build (push) Failing after 17s
2026-02-18 13:32:11 +01:00
dd382a5cc4
feat: add smoke check to images flake, lock nixpkgs
Some checks failed
Build and Push static-server Image / build (push) Failing after 43s
NixOS test boots a VM, loads the static-server image, starts it with
index.html + foo.html, and verifies that /foo routes to foo.html
(extensionless URL routing). Also adds flake.lock pinning nixpkgs.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-18 13:26:44 +01:00
bc2885c5c7
feat: pin server image to digest at deploy time 2026-02-18 13:23:18 +01:00
5b2c68c4ef
docs: add file links to README 2026-02-18 13:22:17 +01:00
ada83e01b5
docs: cold-start note for maintainer, simplify infra requirements 2026-02-18 13:21:23 +01:00
af9a4e3e29
feat: auto-create static-sites namespace on deploy 2026-02-18 13:19:44 +01:00
52015863a8
docs: add deploy-static-site README 2026-02-18 13:18:41 +01:00
4b1bbce9af
feat: make NIX_SIGNING_KEY optional, skip Nix cache push if unset 2026-02-18 13:18:11 +01:00
4af132296e
refactor: replace generate-job.py with nomad-job.nix, add flake-output input
Use nix eval --raw --impure + builtins.getEnv instead of Python for
Nomad job JSON generation. Add flake-output input (default: default)
so projects can build non-default outputs like docs.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-18 13:16:08 +01:00
95bf5517f7
fix: allow unfree for nomad install (BSL license) 2026-02-18 13:11:52 +01:00
644dfc4978
refactor: s3 endpoint+bucket as action inputs, secrets stay in env
S3_BUCKET and S3_ENDPOINT are config, not secrets. Move them to
inputs with defaults (s3.toph.so / nix-cache). Calling workflows
only need to supply AWS credentials, NIX_SIGNING_KEY, NOMAD_TOKEN.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-18 13:09:47 +01:00
f0b9c9b904
refactor: move images into deploy-static-site, root CI workflow
Some checks failed
Build and Push static-server Image / build (push) Failing after 46s
- deploy-static-site/images/flake.nix: moved from images/flake.nix
- .forgejo/workflows/build-static-server.yaml: moved from images/.forgejo/
  (Forgejo only picks up workflows from repo root .forgejo/workflows/)
- updated path reference in build workflow

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-18 11:39:19 +01:00
55652569b2
feat: add deploy-static-site action, site-lib, images; remove deploy-oci-site
Content now served from S3 at runtime via shared static-server image.
- deploy-static-site: reads creds from Nomad vars, builds site, pushes
  tarball to S3, generates per-domain Nomad job JSON, deploys
- generate-job.py: emits Nomad job JSON for a static site deployment
- site-lib/flake.nix: mkSite helper, packages.default + devShells only
- images/flake.nix: shared static-server OCI image (sws + awscli2 + tools)
- images CI: builds and pushes static-server on images/flake.nix changes
- deploy-oci-site: removed (superseded by deploy-static-site)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-18 11:27:27 +01:00