Commit graph

144 commits

Author SHA1 Message Date
Ana Hobden f4a0ffe230 Don't use docker shim if only using a mounted docker.sock instead of docker-in-docker 2024-01-10 11:45:04 -08:00
Ana Hobden ffea801f30
Merge pull request #66 from DeterminateSystems/hoverbear/fh-160-action-should-work-under-nektosact-in-the-absence-of-systemd
Handle docker not existing.
2024-01-10 08:36:26 -08:00
Ana Hobden 4126bb83b3 Merge branch 'main' into hoverbear/fh-160-action-should-work-under-nektosact-in-the-absence-of-systemd 2024-01-09 10:38:56 -08:00
Ana Hobden 81ee88fd4a Handle docker not existing 2024-01-09 10:36:54 -08:00
Ana Hobden 0f8fa3d242
Merge pull request #64 from DeterminateSystems/hoverbear/fh-156-installer-action-shouldnt-require-sudo
No longer require sudo
2024-01-09 09:50:39 -08:00
Ana Hobden f576e90e2d Fix logic inversion 2024-01-08 13:29:15 -08:00
Ana Hobden 161c1f6904 Use uid not username 2024-01-08 13:06:51 -08:00
Ana Hobden 0e5b724979 No longer require sudo 2024-01-08 10:50:02 -08:00
Cole Mickens 21affdd5d3
action: post-run-job: try clean daemon container, warn on failure (#61)
* flake: add typescript LSP tool

* action: post-run-job: try clean daemon container, warn on failure
2023-12-19 11:01:56 -05:00
Graham Christensen cd46bde16a
Support GitHub Enterprise Server using ARC (#59)
* Test nix-installer-action on Namespace.so

It is special in that it doesn't have systemd, and it'd be great to
support Namespace.so. It is also a good test case for a variety
of self-hosted GHA runner use cases.

* Make correlation more confident

* Borrow docker as a process supervisor on Linux GHA runners without systemd

This change introduces a Docker container shim which spawns the Nix
daemon after bind mounting all the relevant paths into the container.

The image is actually completely empty, other than metadata about what
to run.

This is a cheap and cheerful way to get decent process supervision in
environments that don't bring systemd, but do have docker ... which
is most everywhere in the GHA ecosystem.

* Ignore generated files

* Run on arm64 why not

* Load a pre-built image, don't build

* Check the userInfo.username instead of an env var

* Stop double-printing output to the console

* can't rm and restart

* what

* Clean up the container at the end

* Emit the fetch line in the 'installing nix' section

* tweak output

* delete what
2023-12-04 14:17:47 -05:00
Graham Christensen 84fe9e450f
Support GitHub Enterprise Server in the github-token access token. (#58) 2023-12-01 10:23:32 -05:00
Graham Christensen 07b8bcba1b
KVM support out of the box, plus a refreshed README (#56)
* support kvm

* Refresh the readme

* Update README.md

Co-authored-by: Ana Hobden <operator@hoverbear.org>

* Update README.md

Co-authored-by: Luc Perkins <lucperkins@gmail.com>

* Update README.md

---------

Co-authored-by: Ana Hobden <operator@hoverbear.org>
Co-authored-by: Luc Perkins <lucperkins@gmail.com>
2023-11-21 19:06:06 +00:00
Ana Hobden 5620eb4af6
Merge pull request #53 from DeterminateSystems/use-github-tool-cache-and-exec
Use Github Actions provided tool cache and exec
2023-11-03 08:31:14 -07:00
Ana Hobden 8b5f066806 Use Github Actions provided tool cache and exec 2023-11-02 10:48:10 -07:00
Hugo Santos 7fa8f59903
Detected whether we're running in a Namespace runner, and if so, set init: none. (#52)
Background: Namespace managed runners run each github job in a container, in a
separate micro-vm managed by Namespace. These VMs and containers do not rely on
systemd, and instead use Namespace's own init/process management.
2023-11-02 15:58:37 +00:00
Ana Hobden 721f94f7df
Merge pull request #47 from DeterminateSystems/colemickens/fix-stream-close
fix: end the FileStreamWriter for the installer file
2023-10-24 09:22:10 -07:00
Cole Mickens bb22c86823
retries: autoClose, but open file with O_SYNC 2023-10-24 18:01:08 +02:00
Cole Mickens d46d5b144a
retries: switch back to piping with non-web node streams 2023-10-24 17:45:43 +02:00
Cole Mickens 663467bee8
main.ts: installer use filehandle, make sure we fsync it before close 2023-10-24 17:35:04 +02:00
Cole Mickens 4e0fccbf7c
eslint/tsconfig: validate no floating Promises, adjust tsconfig 2023-10-24 10:40:08 +02:00
Cole Mickens 806550d223
package-lock.json: include node-fetch removal
I'm guessing this got dropped again as part of having multiple
branches in flight and rebasing. It would be good if CI checked that
`npm install` and `npm run build` resulted in *zero* diffs to validate
that generated/lock files match their source at time of CI.
2023-10-24 10:39:49 +02:00
Ana Hobden a5a150bc8f
Merge pull request #48 from DeterminateSystems/add-dist-folder-checkl
Add check for dist folder
2023-10-24 01:25:48 -07:00
Ana Hobden 3177c7dd91 npm options wrong post 2023-10-23 11:57:00 -07:00
Ana Hobden 0e429bedc6 Nosave 2023-10-23 11:54:33 -07:00
Ana Hobden 4420be335b Show more in report 2023-10-23 11:53:07 -07:00
Ana Hobden 1ae92f01c0 Of course npm run all does not install, why would it. 2023-10-23 11:51:50 -07:00
Ana Hobden bbcd1efad1 Add check for dist folder 2023-10-23 11:50:08 -07:00
Ana Hobden ba1bee1704
Merge pull request #46 from colemickens/retries
Retry (w/ back-off) downloading the installer binary
2023-10-19 06:42:24 -07:00
Cole Mickens c906fbe810
regenerate dist after rebasing 2023-10-19 11:45:11 +02:00
Cole Mickens 5c1457fc8d
retries: interate on stream handling, remove downcast 2023-10-19 11:44:42 +02:00
Cole Mickens 58853de798
main.ts: use fetch-retry, add retry/backoff to fetching installer 2023-10-19 11:44:41 +02:00
Cole Mickens e0fea1fb58
package.json: replace node-fetch with fetch-retry w/ native node fetch 2023-10-19 11:44:41 +02:00
Ana Hobden df82330768
Merge pull request #44 from colemickens/fixup-nix-url-check
main.ts: fixup logic to ensure only one installer url override is set
2023-10-18 10:24:39 -07:00
Cole Mickens 1cd89e7945
.github: allow trigger ci manually (#45) 2023-10-18 11:14:39 -04:00
Cole Mickens b1240359dd
main.ts: fixup logic to ensure only one installer url override is set 2023-10-18 16:31:36 +02:00
Graham Christensen bc7b192574
Update the action to use node20 (#41)
* Update nixpkgs to unstable, and nodejs to latest

* Upgrade the action to use node20
2023-10-12 11:19:09 -04:00
Graham Christensen 07ebb8d274
Support private flakes on FlakeHub (#38)
Use the GitHub Actions-issued JWT to authenticate with FlakeHub.
The repository will be granted its due permissions on FlakeHub,
and be able to pull the user's private flakes.
2023-10-04 17:35:16 -04:00
Graham Christensen d654f7b93a
Post run diagnostics (#39) 2023-10-04 15:31:05 -04:00
Ana Hobden 3ebd1aebb4
Merge pull request #34 from DeterminateSystems/hoverbear/ds-893-make-installer-action-use-typescript
Typescript rewrite
2023-07-17 11:13:55 -07:00
Ana Hobden 15d47b15b5 Use released installer, not main 2023-07-17 11:00:58 -07:00
Ana Hobden c683402ad5 Tweak messaging when nix-installer makes GITHUB_PATH not action writable 2023-07-17 10:56:49 -07:00
Ana Hobden 5103a0df22 test against main 2023-07-14 12:29:59 -07:00
Ana Hobden d29c939172 Better messaging when we set GITHUB_PATH 2023-07-14 09:07:56 -07:00
Ana Hobden bdec4311cf Fixup wording, test again against fixed pr 2023-07-14 08:57:09 -07:00
Ana Hobden a5bdb5e70c Tweak the warning 2023-07-14 08:27:14 -07:00
Ana Hobden 15d6a6a814 More handling around old nix-installer versions 2023-07-14 08:03:38 -07:00
Ana Hobden b6d507aa32 Handle main branch 2023-07-14 07:58:53 -07:00
Ana Hobden 09be496fdd Add guardrail against old nix-installer versions that set GITHUB_PATH 2023-07-14 07:58:00 -07:00
Ana Hobden 017103f261 Use fixed nix-installer branch 2023-07-13 13:18:57 -07:00
Ana Hobden d7dba96ff9 Run npm build... 2023-07-13 11:33:33 -07:00