Commit graph

62 commits

Author SHA1 Message Date
Martin Wimpress 4d1c6cb9e0
DS-970: Add Magic Nix Cache and other workflow changes (#569)
* DS-970: Add Magic Nix Cache and other workflow changes

 An assortment of GitHub Workflow changes, potentially including:

- Enable DeterminateSystems/magic-nix-cache-action@main
- Reference all DeterminateSystems actions via @main
- Make update.yaml consistent across repos
- Remove unnecessary github-token: from nix-installer-action
- Update actions/checkout@v2 to actions/checkout@v3

* ci: clearly name steps in update.yml
2023-07-21 09:30:09 -07:00
Ana Hobden 79ab8731fa
Disable steam deck CI until #566 (#571) 2023-07-14 21:40:39 +00:00
Ana Hobden 675d93c644
Support create_directory paths being an existing mount (#547)
* Support create_directory paths being an existing mount

* Tidy up after install even on mounts

* Repair steam deck test

* Fixup some nits
2023-07-05 09:11:57 -07:00
Cole Helbling 9baee72ef7
ci: use our cacher action (#532)
* ci: use our cacher action

* ci: drop unnecessary `with: github-token`

Co-authored-by: Graham Christensen <graham@grahamc.com>

* ci: pin cacher action to v1

---------

Co-authored-by: Graham Christensen <graham@grahamc.com>
2023-06-26 14:41:20 -07:00
Luc Perkins 122a4bfdf0
Add flake checker action to GHA lints (#515)
* Add flake checker action to CI

* Bump action version to v4

* Remove outdated NIxpkgs check

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

---------

Co-authored-by: Ana Hobden <operator@hoverbear.org>
2023-06-23 17:30:33 +00:00
Travis A. Everett db316614f2
swap fortune for hello (#525)
This seems to have fixed the flaky macOS test issue that I
imagine led to disabling that set of tests here.
2023-06-23 08:47:40 -07:00
Cole Helbling 22aad4a332
Revert "Trigger buildkite on external PRs" (#500) 2023-06-01 17:35:23 +00:00
Cole Helbling c3bc75f064
Trigger buildkite on external PRs (#496) 2023-06-01 09:02:53 -07:00
Cole Helbling 79a32a7c66
ci: release-prs: fixup tagging behavior (#471) 2023-05-22 12:39:27 -07:00
dependabot[bot] 045fe5fc5d
Bump aws-actions/configure-aws-credentials from 1 to 2 (#395)
* Bump aws-actions/configure-aws-credentials from 1 to 2

Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials) from 1 to 2.
- [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases)
- [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws-actions/configure-aws-credentials/compare/v1...v2)

---
updated-dependencies:
- dependency-name: aws-actions/configure-aws-credentials
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Prod CI

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ana Hobden <operator@hoverbear.org>
2023-04-11 08:52:07 -07:00
Ana Hobden 7c2f1b03a5
Tweak the logging levels in CI and in some instrumentation (#318) 2023-03-10 11:50:08 -08:00
Cole Helbling 792639b6ad
update: dogfood our action (#293) 2023-03-02 08:08:34 -08:00
Ana Hobden 6ec5080a2f
How about a CI API call reduction? (#245)
* How about a CI API call reduction?

* Not everyone uses Nix with flakes, turns out we are one of them

* Unbreak GHA file

* Purge github actifacts use

* Missed one.

* chmod right path

* chmod right binary name

* Fix steam deck, mac still broken due to containers

* Attempt to use github cache instead of the buildkite action

* See if we get the right artifacts

* Skip a test that Macs dislike

* Write GHA file correctly

* Refine jobs on buildkite and pathes on gha

* Better output

* Even more output!

* Use correct folder structure
2023-02-14 08:27:40 -08:00
Ana Hobden c24e19ddca
Workaround some Mac issues in CI (#247) 2023-02-13 12:46:55 -08:00
Ana Hobden ab4c528595
Rename some of the planners (#243)
* Rename some of the planners

* Fixup Mac

* Also move actions

* Also update CI
2023-02-10 20:35:00 +00:00
dependabot[bot] 0441ae64e1
Bump DeterminateSystems/update-flake-lock from 14 to 16 (#223)
Bumps [DeterminateSystems/update-flake-lock](https://github.com/DeterminateSystems/update-flake-lock) from 14 to 16.
- [Release notes](https://github.com/DeterminateSystems/update-flake-lock/releases)
- [Commits](https://github.com/DeterminateSystems/update-flake-lock/compare/v14...v16)

---
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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-10 12:03:11 -08:00
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