Commit graph

44 commits

Author SHA1 Message Date
Cole Helbling c1944c9c5e
release: only run one release action at a time (#231) 2023-02-02 10:39:45 -08:00
Ana Hobden d69f335703
init-less install (#188)
* wip

* Add dockerfile

* Add readme bits

* Fix logic inversion

* Relax init detection error

* Tidying heuristics

* Fix doc tests

* Mac supports start-daemon false

* Get VM tests working

* Add instructions

* Some target_os flagging

* More target flagging

* Fix lints

* Fixup more mac-only stuff

* cfg flag examples too

* Fix planner wording

* More os specific lint fixing

* More refinement on mac and the README

* Add new CI jobs to test no-daemon

* Use nix-installer-pr to point at branch

* Tests with no-init

* init/no-daemon are linux only

* nix tests support a per-distro all attribute

* Add working podman test

* Expand docker tests

* Add contributing notes

* format

* Support both podman and docker

* Update contributing

* Add Windows WSL test script for Ubuntu

* format nix tests

* More ignores to check-spelling

* Add systemd based wsl test

* We don't have root-only darwin

* Reflect review nits

* Reenable tests

* Restore mac plan

* Flag off os specific tests

* Better cfg flagging

* Remove dead comments

* Rework readme to look better with new sections

* Correct codeblock language

* Remove some warnings
2023-02-01 12:35:52 -08:00
Cole Helbling d74c61734a
release: add instructions on how to use uploaded artifacts (#204)
* release: add instructions on how to use uploaded artifacts

* PULL_REQUEST_TEMPLATE: init
2023-01-20 11:13:05 -08:00
Cole Helbling bb4ef37ea5
upload_s3: improve tags handling (#202) 2023-01-20 09:42:14 -08:00
Cole Helbling e406c2dcd3
release-tags: needs write permissions to id-token for oidc authentication (#199) 2023-01-19 08:53:32 -08:00
Ana Hobden 797ceb86a9
Upload tags to S3 as well to avoid egress limits (#187)
* Upload tags to S3 as well to avoid egress limits

* Refine

* Fixes from Cole
2023-01-16 11:41:16 -08:00
Ana Hobden cf178bb0ef
Use remote action (#185)
* Use remote action

* Use nix installer everywhere

* Update README.md

* Fixup tag used

* Fixups
2023-01-13 13:26:15 -08:00
Ana Hobden 82ec255060
Action extra conf can be lacking newline (#175)
* Try extra-conf with a heredoc

* Test case

* Other test case

* heredoc in yaml goes burr

* use special bash syntax for newline

* Correctly close quotes

* Remove testing symbols

* Use file method

* unwhoops jobs
2023-01-11 11:42:35 -08:00
Cole Helbling 12bf502bcb
upload_s3: provide git ish as argument (#169)
* upload_s3: provide git ish as argument

$GITHUB_SHA isn't the actual PR's HEAD's SHA, but a merge commit or
something.

* upload_s3: use an empty object if the file doesn't exist on s3

It's not pretty, but it works, and the md5sum of a file should never be
"null".

* release-branches: upload to `branch_${name}` instead
2023-01-09 20:38:53 +00:00
Cole Helbling e9e29aacb1
release: init action to release first party PRs (#162)
* release: init action to release first party PRs

* release: check if revision has already been uploaded

We don't want to waste bandwidth on files that already exist.

* release: consolidate s3 uploading into single script; check if artifact already uploaded

* release: only upload release for PR if it has the "upload to s3" label
2023-01-09 17:02:50 +00:00
Cole Helbling d410728461
release: create releases for specified branches (#152)
* release: create releases for specified branches

* release: split action into one for branches, one for tags

* release: change the NIX_INSTALLER_BINARY_ROOT upon release

This way, we can be sure we use the right binaries to match the script.
2023-01-09 08:28:39 -08:00
Ana Hobden cefc927ff5
Fix use of UID where username should be on Github actions (#157)
* Fix use of UID where username should be on Github actions

* Add check to ensure that nix profile add works

* It's nix profile install, ana
2023-01-05 07:56:09 -08:00
Ana Hobden a2daff2980
Document release flow (#155)
* Add release flow

* Touchups
2023-01-04 19:06:28 +00:00
Cole Helbling 33390d0c8a
release: init action to create release with buildkite artifacts (#150)
* buildkite: also build x86_64-darwin

* release: init action to create release with buildkite artifacts
2023-01-04 10:10:11 -08:00
Ana Hobden d299dbf0f2
Rename harmonic to nix-installer (#125)
* Rename harmonic to nix-installer

* Fix build

* handle nix-install.sh rename

* Forgot some things

* Fix a mistype

* Fix env var

* Fix merge change that popped up
2022-12-19 18:26:58 +00:00
Ana Hobden c4274c93fb
Add action & Tune Tracing (#119)
* Add action

* Checkout so we have actions.yml

* yaml poking

* Handle GITHUB_TOKEN

* Don't ask github to do templating, use directives for logging

* Missing changes

* Fix build error

* Fix yaml even more

* Add shell command

* Add a wait on the socket again

* Print some debugging

* Use more correct env vars

* Correct install url logic

* Use different style for inputs

* Fix yaml errror

* Tweak around local-root

* provision nix-install.sh as well

* Use nix-install.sh path directory in NIX_INSTALL_URL

* Tweak variables to hopefully work

* Call it BINARY_ROOT instead

* Add exec output

* Set no-confirm

* no echo

* Add token to workflow

* Set no-confirm properly

* Add no-confirm back for uninstall

* Correct some env and vars

* CreateDirectory respects existing symlink

* Add a few more checks to the CI

* pass valid yaml...

* Slightly more aggressive cleanup of /nix

* Ensure steam-deck cleans /home/nix

* Add steam-deck check for persistence

* Canonicalize steam-deck persistence

* Ensure absolute path

* Inverted logic sad

* python3 on mac

* Add readme info and fix a extra-conf mistype

* Add unsaved changes

* More fine grained trace logging

* Restore spans we lost in refactor

* BuiltinPlanner can accept settings

* Reflect feedback

* Push actually working code hopefully this time

* Speeling
2022-12-16 18:55:28 +00:00
Ana Hobden 51a2d0bbae
Fix --no-default-features build (#114)
* Fix --no-default-features build

* Correct yaml for gha

* gha yaml sure is a thing

* Fix yaml yet again

* Fix nix develop invocation

* Fix --all-features pass
2022-12-12 12:21:10 -08:00
Ana Hobden 29a345f99f
Curl on ci (#110)
* Perform sudo in harmonic

* Remove sudo in scripts

* A bit more tweaking...

* Yay unix

* Use curl sh on ci

* Preserve environments we require

* Fix the yamls

* Better explain a run step

* Preserve GITHUB_PATH too

* Correct trace

* Include install-nix.sh in artifacts

* Remove unused vars

* Use /nix/harmonic for uninstall

* Only pass --preserve-env if required

* Wait for python server to start

* Use a sudo uninstall

* Pass verbosity correctly

* Pass no-confirm by env

* Pass no-confirm by env redux

* Hahaha very funny yaml

* handle env in no-confirm

* Preserve env on ci

* Mac stuff
2022-12-12 09:27:43 -08:00
Ana Hobden 148625c85f
Sudo in harmonic (#109)
* Perform sudo in harmonic

* Remove sudo in scripts

* A bit more tweaking...

* Yay unix

* Preserve environments we require

* Preserve GITHUB_PATH too

* Correct trace

* Remove unused vars

* Only pass --preserve-env if required
2022-12-09 13:00:37 -08:00
Ana Hobden c2a4f3cbc9
Update nix (#103)
* Update nix

* Update ci
2022-12-09 08:17:45 -08:00
Ana Hobden cfded4bb8a
Uninstalling from /nix/harmonic works (#100)
* Move binary out of /nix if it is there during uninstall

* Add tracing

* Stick some random bytes on the end of the tmp exe
2022-12-09 07:36:44 -08:00
Ana Hobden f58280a11a
fish support (#76)
* Make plans versioned

* Delint

* speeeeeeeeling

* remove file that was dead

* Flesh out docs and improve public API

* Speeling

* Fixups

* Fix doctests

* Do a better job with actionstate

* Add some more docs

* Fix doctest

* Make CLI stuff optional

* Touchup

* Speeling

* Add fish support

* Add shell tests

* Add login shell tests

* Improve provisioning behavior of shell profiles

* Make created shell profiles executable

* Bump nix

* Try interactive shell

* Fixup merge

* Bad yaml, bad

* Tweak ci

* Set GITHUB_PATH

* Do github runner automatically

* Use GITHUB_PATH more

* use login shells again

* Ouytput github path in ci

* Okay so GITHUB_PATH is a UNIX socket?

* Okay yup they are UNIX sockets

* Have the macs dump their github path

* YAML stuff

* Pass github path in invocation

* Bump plans

* Okay it is not a socket

* Remove debugging

* Review fixes

* Pass correct shell arg to mac

* Echo github path

* Echo the path, then...

* Join GITHUB_PATH writes
2022-12-07 08:22:24 -08:00
Ana Hobden 5bad0ec1f5
Harmonic stores itself during install (#94)
* Harmonic stores itself during install

* Use provisioned harmonic to do uninstall in CI

* Steam deck is a special case

* Fix mac hanging
2022-12-06 07:13:13 -08:00
Ana Hobden 444a9fd8f2
Nix flake checks now do ci-checks (#88)
* Nix flake checks now do ci-checks

* Make sure checks actually run
2022-12-05 10:27:12 -08:00
Ana Hobden ae37842a0d
Add Steam Deck Support (#34)
* Init Steam Deck support

* Improve systemd units

* Handle stopping nix-daemon.service before stopping mount

* Better handle being in a sysext

* Add some install directions

* Add a KDE autostart script

* Tidy up uninstall

* Use stop/disable instead of disable --now

* Fixup a double-disable

* Repair some defaults

* Tidy up services

* Make ci test steam deck planner

* Delete bonus line

* Use newer image

* Get steam-deck working hopefully

* Create steamos-readonly mock

* Make stub of steamos-readonly

* Use sudo for chmod

* Attempt CI fix

* Don't add deck group

* A more clever method

* We have a new method and the CI can be cleaned a bit

* Brazenly disable sandbox on the deck ci

* Extra-conf takes vec

* Dump lsblk mount

* An even more clever method

* More debugging symbols

* More debugging symbols

* Even more debugging

* probe for issues

* Get specific with permissions and ownership (for ci)

* We are now way overboard on debugging symbols

* Specify permissions on created home stub

* Allow specifying persistence

* Cleanup debugging bits

* Fixup persistence path

* Work out some better linking in units

* units don't need executable

* Tidy

* Delint

* Remove a note from readme

* Github actions seems to have build the wrong checkout?

* Doctest repair

* Don't create directory twice

* Restore missing doc comments

Co-authored-by: Cole Helbling <cole.e.helbling@outlook.com>
2022-12-02 07:31:15 -08:00
Ana Hobden db722fd2b9
Attempt a cache (#54)
* Attempt a cache -- for fun

* Correct path

* Don't cache lints

* Remove bonus args

* Delete bonus line

* Use newer image

* Use non pwd store relocation

* No steam deck job

* Change artifact behavior slightly

* Roundabout fetching of the binary

* Fixup path

* Fixup bad job id
2022-11-16 21:08:42 +00:00
Ana Hobden 35774325d8 links -> lints 2022-11-14 09:57:04 -08:00
Ana Hobden d3dc8f3c97 Some unsaved change 2022-11-14 08:54:43 -08:00
Ana Hobden 4732f8cd11 Rename jobs 2022-11-14 08:45:41 -08:00
Ana Hobden 5ee1389eca Compress some runner jobs 2022-11-14 08:31:31 -08:00
Ana Hobden c94fad6c3c Use a github token in extra-conf 2022-11-10 10:23:00 -08:00
Ana Hobden f2bf7f4073 Set executable on mac too 2022-11-09 09:33:19 -08:00
Ana Hobden a7ab480eea Get repeated install working in CI 2022-11-09 09:25:29 -08:00
Ana Hobden fb4d1c7280 source the nix file after install 2022-11-08 13:21:32 -08:00
Ana Hobden d56421d345 Do a better job setting env vars 2022-11-08 13:04:19 -08:00
Ana Hobden 1a88add8c5 use sudo on linux as well... 2022-11-08 12:48:49 -08:00
Ana Hobden 47ae6398f8 Use sudo and don't try to prompt on no-confirm 2022-11-08 12:21:02 -08:00
Ana Hobden d900830f04 No rename 2022-11-08 12:07:34 -08:00
Ana Hobden bb298efbdb Use artifact names better 2022-11-08 11:48:12 -08:00
Ana Hobden eec8479c79 Laugh at the sheer ridiculousness of my life 2022-11-08 11:30:49 -08:00
Ana Hobden 04210490aa Add new CI jobs that test install/uninstall 2022-11-08 11:22:08 -08:00
dependabot[bot] 2e179c3a53
Bump DeterminateSystems/update-flake-lock from 13 to 14
Bumps [DeterminateSystems/update-flake-lock](https://github.com/DeterminateSystems/update-flake-lock) from 13 to 14.
- [Release notes](https://github.com/DeterminateSystems/update-flake-lock/releases)
- [Commits](https://github.com/DeterminateSystems/update-flake-lock/compare/v13...v14)

---
updated-dependencies:
- dependency-name: DeterminateSystems/update-flake-lock
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-14 20:41:52 +00:00
Ana Hobden 82523e43a6 Prod at CI with a stick
Signed-off-by: Ana Hobden <operator@hoverbear.org>
2022-09-09 12:26:53 -07:00
Ana Hobden d913316057 Add gha 2022-09-09 12:02:43 -07:00