Skip to content

Upstream tracking #4

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 532 commits into
base: 2.28-maintenance
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
532 commits
Select commit Hold shift + click to select a range
69553df
Mark the nix CLI as *the* interface in the manual, deprecate nix-*
edolstra Feb 21, 2025
a1d27ff
Include Determinate Nix version number in the manual
edolstra Feb 21, 2025
247ec94
Remove unnecessary ./.version-determinate symlink
edolstra Feb 21, 2025
f7aaa31
Tweak title
edolstra Feb 21, 2025
bfc4745
Merge pull request #56 from DeterminateSystems/stable-cli-in-manual
edolstra Feb 21, 2025
86f6902
Prepare release v0.37.0
github-actions[bot] Feb 21, 2025
2616e85
Set .version-determinate to 0.37.0
github-actions[bot] Feb 21, 2025
c69d5af
libstore: fix expected bytes in progress bar
tie Feb 18, 2025
7b61927
Merge pull request #57 from DeterminateSystems/release-v0.37.0/755ef0…
grahamc Feb 21, 2025
8bf0408
Use DetSys logo
lucperkins Feb 21, 2025
6b8a751
Make image smaller
lucperkins Feb 21, 2025
a305883
Merge pull request #12547 from NixOS/mergify/bp/2.26-maintenance/pr-1…
mergify[bot] Feb 21, 2025
a1e1886
Merge pull request #58 from DeterminateSystems/detsys-logo
lucperkins Feb 21, 2025
8bc379c
Prepare release v0.37.1
github-actions[bot] Feb 21, 2025
0c1e1e6
Set .version-determinate to 0.37.1
github-actions[bot] Feb 21, 2025
edd9e34
Merge pull request #59 from DeterminateSystems/release-v0.37.1/df76b2…
grahamc Feb 21, 2025
90581c9
Setup uploading PRs, tags, and branches to IDS
cole-h Feb 20, 2025
702bde8
Revert "wip: delete unnecessary CI for now"
cole-h Feb 21, 2025
dee23a0
Fold the release things into one workflow
cole-h Feb 21, 2025
14818b0
fixup: use release not tags
cole-h Feb 21, 2025
a341be4
fixup: fold publish.yml into upload-release.yml
cole-h Feb 21, 2025
a4e9b65
fixup: remove unsafeDiscardStringContext?
cole-h Feb 21, 2025
c05a9b5
Merge pull request #50 from DeterminateSystems/cole/fh-630-update-the…
cole-h Feb 21, 2025
ec42d3a
fixup: default branch name
cole-h Feb 21, 2025
c36bbbf
Merge pull request #60 from DeterminateSystems/cole/fh-630-update-the…
cole-h Feb 21, 2025
158d79d
Prepare release v0.37.2
github-actions[bot] Feb 22, 2025
84fb833
Set .version-determinate to 0.37.2
github-actions[bot] Feb 22, 2025
39aa3d8
Merge pull request #61 from DeterminateSystems/release-v0.37.2/2ce368…
grahamc Feb 22, 2025
6d3ee99
Merge pull request #12545 from NixOS/mergify/bp/2.26-maintenance/pr-1…
mergify[bot] Feb 22, 2025
d670380
nix flake archive: Skip relative path inputs
edolstra Feb 24, 2025
31a29e6
Merge pull request #12554 from NixOS/mergify/bp/2.26-maintenance/pr-1…
mergify[bot] Feb 24, 2025
ab49363
fixup: upload-release needs to configure allowed_branches
cole-h Feb 24, 2025
599957e
Merge pull request #62 from DeterminateSystems/cole/fh-630-update-the…
cole-h Feb 24, 2025
9e87a58
packaging: Use correct stdenv for x86_64-darwin
roberth Feb 24, 2025
6d9724a
Merge pull request #12560 from NixOS/mergify/bp/2.26-maintenance/pr-1…
edolstra Feb 24, 2025
605b237
windows: fix compilation after recent changes (backport #12495) (#12561)
mergify[bot] Feb 24, 2025
91508de
nix flake archive: Recurse into relative path inputs
edolstra Feb 24, 2025
6749d26
Merge remote-tracking branch 'origin/2.26-maintenance' into detsys-main
edolstra Feb 24, 2025
3299e42
Merge pull request #65 from DeterminateSystems/sync
edolstra Feb 24, 2025
827f760
Fix test
edolstra Feb 24, 2025
25c6048
Bump Determinate Nix version to 3.0.0
edolstra Feb 24, 2025
5fc89ad
Use Determinate version in store path name
edolstra Feb 24, 2025
e71a498
Disable setVersionLayer
edolstra Feb 24, 2025
1dda07e
Merge pull request #12562 from NixOS/mergify/bp/2.26-maintenance/pr-1…
mergify[bot] Feb 24, 2025
94347f4
nix -> determinate-nix
edolstra Feb 24, 2025
ff8da34
Remove references to single-user mode
lucperkins Feb 25, 2025
d0b6f2f
Remove one more reference to single-user mode
lucperkins Feb 25, 2025
3a0458a
Merge pull request #66 from DeterminateSystems/detsys-version-2
edolstra Feb 25, 2025
4248d5c
Restore section about non-root Nix in Docker
lucperkins Feb 25, 2025
daa7f27
Restore the Nix security doc
lucperkins Feb 25, 2025
bb024f8
Merge pull request #67 from DeterminateSystems/remove-single-user
lucperkins Feb 25, 2025
2b72141
Consolidate docs
lucperkins Feb 25, 2025
705a7b9
Fix broken links
lucperkins Feb 25, 2025
feb60c5
Fix links again
lucperkins Feb 25, 2025
4154fe9
Merge pull request #68 from DeterminateSystems/remove-single-user-fol…
lucperkins Feb 25, 2025
2e5d4de
Prepare release v0.38.0
github-actions[bot] Feb 25, 2025
bd097de
Set .version-determinate to 0.38.0
github-actions[bot] Feb 25, 2025
2da52b1
Update .version-determinate
grahamc Feb 25, 2025
f23f007
Merge pull request #70 from DeterminateSystems/release-v0.38.0/19c491…
grahamc Feb 25, 2025
09d1eb3
Run all VM tests
edolstra Feb 26, 2025
ede3eac
Merge pull request #71 from DeterminateSystems/run-all-vm-tests
edolstra Feb 26, 2025
53ec907
Prepare release v0.38.1
github-actions[bot] Feb 27, 2025
01ee969
Set .version-determinate to 0.38.1
github-actions[bot] Feb 27, 2025
8e44b48
Apply suggestions from code review
grahamc Feb 27, 2025
1b00094
Merge pull request #72 from DeterminateSystems/release-v0.38.1/4b11bd…
grahamc Feb 27, 2025
288c5b0
Include DeterminateNix in the User-Agent header
edolstra Feb 28, 2025
edb0c4d
Merge pull request #73 from DeterminateSystems/user-agent
grahamc Feb 28, 2025
d8606f9
packaging/everything.nix: Use a multi-output derivation
roberth Feb 28, 2025
cd36881
Merge pull request #12585 from NixOS/mergify/bp/2.26-maintenance/pr-1…
mergify[bot] Mar 1, 2025
87bf338
packaging: Typo in setVersionLayer / preConfigure
roberth Mar 4, 2025
42fc03d
Merge pull request #12601 from NixOS/mergify/bp/2.26-maintenance/pr-1…
mergify[bot] Mar 4, 2025
25ba7c5
Merge remote-tracking branch 'origin/2.26-maintenance' into sync-with…
edolstra Mar 5, 2025
4e607c9
Merge pull request #2 from DeterminateSystems/sync-with-2.26
edolstra Mar 5, 2025
07d8bf7
Fixup propose-release: don't puke if the version number didn't change
grahamc Mar 5, 2025
853252b
Merge pull request #3 from DeterminateSystems/grahamc-patch-1
edolstra Mar 5, 2025
8b7b413
Prepare release v3.0.0
github-actions[bot] Mar 5, 2025
ad26467
Merge pull request #5 from DeterminateSystems/release-v3.0.0/450c61ee…
grahamc Mar 5, 2025
af23843
Remove macOS sequoia recommandations
lucperkins Mar 5, 2025
be9fbb0
Remove environment variables doc
lucperkins Mar 5, 2025
ff691e7
Delete binary installation doc
lucperkins Mar 5, 2025
e09c7fe
Update GitHub links
lucperkins Mar 5, 2025
6381e06
Reinstate binary doc
lucperkins Mar 5, 2025
c451f60
Revamp uninstallation docs
lucperkins Mar 5, 2025
4323868
Remove links to binary doc
lucperkins Mar 5, 2025
42606c1
Remove one more reference to binary doc
lucperkins Mar 5, 2025
f76ef9d
Merge pull request #6 from DeterminateSystems/nix-installer-recommand…
lucperkins Mar 5, 2025
39d99eb
Merge pull request #7 from DeterminateSystems/github-links
lucperkins Mar 5, 2025
cef7855
Fix merge conflict
lucperkins Mar 5, 2025
e6a6bcb
Move nix-channel under deprecated commands
lucperkins Mar 5, 2025
e2bc5e3
Remove default Nix expression doc
lucperkins Mar 5, 2025
1a5c4d4
Merge pull request #8 from DeterminateSystems/uninstallation-instruct…
lucperkins Mar 5, 2025
d67db97
Remove channels link
lucperkins Mar 5, 2025
0f04d36
Remove default Nix expression doc from summary
lucperkins Mar 5, 2025
aaf1967
Remove default Nix expression links
lucperkins Mar 5, 2025
fea4ee8
Merge pull request #9 from DeterminateSystems/nix-channel-deprecated
lucperkins Mar 6, 2025
4f6d329
Change document title
lucperkins Mar 6, 2025
fd6231e
Publish the flake as public, every time
grahamc Mar 6, 2025
d1ec1b7
Merge pull request #10 from DeterminateSystems/grahamc-patch-1
grahamc Mar 6, 2025
644f79d
Add installation instructions to intro
lucperkins Mar 7, 2025
b62167a
Update upgrade docs
lucperkins Mar 7, 2025
70f08ee
Merge pull request #11 from DeterminateSystems/revamp-introduction
lucperkins Mar 12, 2025
f988d9e
Merge pull request #12 from DeterminateSystems/update-upgrade-docs
grahamc Mar 12, 2025
1212b1f
JSONLogger: Log to a file descriptor instead of another Logger
edolstra Feb 17, 2025
8ef94c1
Add a structured log message for FOD hash mismatches
edolstra Feb 17, 2025
1f702cd
Allow separate JSON logging
edolstra Feb 17, 2025
2972e73
Turn NIX_LOG_FILE into a setting
edolstra Mar 13, 2025
29a9e63
Remove "@nix" prefix from json-log-path output
edolstra Mar 13, 2025
1efccf3
JSONLogger: Acquire a lock to prevent log messages from clobbering ea…
edolstra Mar 13, 2025
d9730fc
Fix fd check
edolstra Mar 13, 2025
220000d
makeJSONLogger(): Support logging to a Unix domain socket
edolstra Mar 13, 2025
2a2af3f
Logger::result(): Support logging arbitrary JSON objects
edolstra Mar 13, 2025
c515bc6
Provide a structured JSON serialisation of hashes
edolstra Mar 13, 2025
762114b
Log BuildResult
edolstra Mar 13, 2025
fd0d824
Don't use DerivedPath::toJSON()
edolstra Mar 14, 2025
8674792
Make the JSON logger more robust
edolstra Mar 14, 2025
c32441f
Remove redundant quotes
edolstra Mar 20, 2025
bc3a847
BuildResult: Serialize builtOutputs
edolstra Mar 21, 2025
dab0ff4
Merge tag '2.27.1' into detsys-main
edolstra Mar 24, 2025
9c26996
Fix release notes (1.0.0 -> 3.0.0)
edolstra Mar 24, 2025
117d671
Bump Determinate Nix version
edolstra Mar 24, 2025
9d0c3dd
Formatting
edolstra Mar 24, 2025
aa9d573
Merge pull request #14 from DeterminateSystems/sync-2.27.1
cole-h Mar 25, 2025
502f027
nix daemon: Respect json-log-path and re-open for every connection
edolstra Mar 26, 2025
c8692b3
Merge remote-tracking branch 'detsys/detsys-main' into logger-improve…
edolstra Mar 26, 2025
17d0810
Cleanup
edolstra Mar 26, 2025
eca002d
Don't segfault if we can't create the JSON logger
edolstra Mar 27, 2025
37f3b25
makeTeeLogger(): Distinguish between main and extra loggers
edolstra Mar 27, 2025
f80f7e0
Abort if we cannot create TeeLogger
edolstra Mar 27, 2025
9e6c999
Add release note
edolstra Mar 27, 2025
10f9b2f
Set release date
edolstra Mar 27, 2025
afcce6f
Merge pull request #13 from DeterminateSystems/logger-improvements
edolstra Mar 27, 2025
ce8deea
Prepare release v3.1.0
github-actions[bot] Mar 27, 2025
946297c
Fixup release notes
cole-h Mar 27, 2025
9fa907e
Merge pull request #16 from DeterminateSystems/push-qxoyqqlnnuly
cole-h Mar 27, 2025
10e8034
Merge pull request #15 from DeterminateSystems/release-v3.1.0/c12ac6f…
grahamc Mar 27, 2025
4a667d4
Prepare release v3.1.1
github-actions[bot] Mar 28, 2025
3b72727
Set .version-determinate to 3.1.1
github-actions[bot] Mar 28, 2025
c648c52
ci: make macos runners larger
cole-h Mar 28, 2025
bfc986b
Merge pull request #17 from DeterminateSystems/release-v3.1.1/9c446d0…
cole-h Mar 28, 2025
c3b29c1
Pass the system to build.yml directly
grahamc Mar 28, 2025
5766d20
Pass system from ci
grahamc Mar 28, 2025
10b7535
Pass system to test.yml
grahamc Mar 28, 2025
6469efe
Pass the system to the test yml from ci
grahamc Mar 28, 2025
8762c10
Move the if evaluation of the test jobs onthe tests job itself, so we…
grahamc Mar 28, 2025
96e7e63
Bigger runners thank you
grahamc Mar 28, 2025
feba05b
fixup ifs
grahamc Mar 28, 2025
2315b54
Move down the if from build workflows
grahamc Mar 28, 2025
42cb189
success/failure the vm checks
grahamc Mar 28, 2025
c134cf5
Collapse build / test into one .yml to make skips easier
grahamc Mar 28, 2025
4984b7d
Merge pull request #18 from DeterminateSystems/fixup-ci-system-ifs
grahamc Mar 28, 2025
77c2ac6
Use determinate param with nix-installer-action
lucperkins Mar 28, 2025
cb84d20
Fix merge conflicts with main
lucperkins Mar 28, 2025
6feccef
Remove test.yml
lucperkins Mar 28, 2025
54a755b
Merge pull request #19 from DeterminateSystems/determinate-nix-param
lucperkins Mar 28, 2025
5506428
Set path display for substituted inputs
edolstra Feb 20, 2025
b28bc7a
Make rootFS's showPath() render the paths from the original accessors
edolstra Feb 20, 2025
3f0a824
Fix path display of empty Git repos
edolstra Apr 1, 2025
b2038f1
Add test for source path display
edolstra Apr 1, 2025
f568872
Improve and fix the error message when a file is not tracked by Git
grahamc Apr 1, 2025
002faa3
Tweak error message
edolstra Apr 1, 2025
fcddf4a
Apply makeNotAllowedError to empty repos
edolstra Apr 1, 2025
73b1754
Mount flake input source accessors on top of storeFS
edolstra Apr 1, 2025
5b07907
Add FIXME
edolstra Apr 1, 2025
1564c8f
Fix missing file error messages from 'import'
edolstra Apr 1, 2025
4e0346d
Restore 'forbidden in restricted mode' errors
edolstra Apr 1, 2025
2526293
shellcheck
edolstra Apr 1, 2025
fb7bcdd
Make Git error messages more consistent
edolstra Apr 1, 2025
1b92e87
Merge pull request #20 from DeterminateSystems/map-to-original-access…
edolstra Apr 1, 2025
2bb8504
Prepare release v3.2.0
github-actions[bot] Apr 1, 2025
1d65af8
Set .version-determinate to 3.2.0
github-actions[bot] Apr 1, 2025
665281f
Merge pull request #21 from DeterminateSystems/release-v3.2.0/0d651cd…
grahamc Apr 1, 2025
086058d
Prepare release v3.2.1
github-actions[bot] Apr 2, 2025
3ad67d1
Set .version-determinate to 3.2.1
github-actions[bot] Apr 2, 2025
63d41e7
Merge pull request #22 from DeterminateSystems/release-v3.2.1/570639c…
grahamc Apr 2, 2025
852075e
Merge tag '2.28.0' into sync-2.28.0
edolstra Apr 4, 2025
59d1634
Merge tag '2.28.1' into sync-2.28.0
edolstra Apr 7, 2025
bc02da2
Merge pull request #23 from DeterminateSystems/sync-2.28.0
grahamc Apr 7, 2025
8443f01
Rename `nix profile install` to `nix profile add`.
grahamc Apr 7, 2025
74bcfbe
ci: manual: don't try to comment on the perpetual PR
cole-h Apr 7, 2025
2233cf1
Merge pull request #26 from DeterminateSystems/cole-h/push-qkwtwqoytvuq
grahamc Apr 7, 2025
5b21c94
Fix meson warnings on minimum version
SuperSandro2000 Apr 7, 2025
6dde30b
Merge pull request #12960 from NixOS/mergify/bp/2.28-maintenance/pr-1…
mergify[bot] Apr 7, 2025
17de9dd
Make lexer-helpers.hh internal to fix a clang-tidy error
edolstra Apr 7, 2025
3a758fc
Merge pull request #12963 from NixOS/mergify/bp/2.28-maintenance/pr-1…
mergify[bot] Apr 7, 2025
aa1c690
Keep fchmodat2-compat.hh private
edolstra Apr 7, 2025
467a1df
Merge pull request #12964 from NixOS/mergify/bp/2.28-maintenance/pr-1…
mergify[bot] Apr 7, 2025
85902fa
Fix some clang-tidy warnings
edolstra Apr 7, 2025
f0ed61b
Fix/run monitorfdhup test
edolstra Apr 7, 2025
3a4dc47
Remove unused tracing-file-system-object-sink.{hh,cc}
edolstra Apr 7, 2025
1a4332f
Merge pull request #12965 from NixOS/mergify/bp/2.28-maintenance/pr-1…
mergify[bot] Apr 7, 2025
16a2cdd
Add trailing commas on addFlag incantations
grahamc Apr 7, 2025
cd7e015
format as required
grahamc Apr 7, 2025
a7f078a
Merge pull request #12972 from NixOS/mergify/bp/2.28-maintenance/pr-1…
mergify[bot] Apr 7, 2025
c548e92
Merge pull request #12966 from NixOS/mergify/bp/2.28-maintenance/pr-1…
edolstra Apr 8, 2025
a084779
Actually ignore system/user registries during locking
edolstra Apr 9, 2025
6d98cef
Merge pull request #12982 from NixOS/mergify/bp/2.28-maintenance/pr-1…
mergify[bot] Apr 9, 2025
080950b
tests/functional/flakes: Add test case for subflake locking
rvl Mar 20, 2025
e191b93
Merge pull request #12983 from NixOS/mergify/bp/2.28-maintenance/pr-1…
mergify[bot] Apr 9, 2025
2892b75
Fix `;` and `#` bug in machine file parsing
Ericson2314 Apr 9, 2025
bb8af4c
Merge pull request #12985 from NixOS/mergify/bp/2.28-maintenance/pr-1…
mergify[bot] Apr 9, 2025
f9c262c
Fix another machine config parsing bug
Ericson2314 Apr 9, 2025
4d990f1
Merge pull request #12989 from NixOS/mergify/bp/2.28-maintenance/pr-1…
mergify[bot] Apr 9, 2025
666aa20
Move alias support from NixArgs to MultiCommand
edolstra Apr 10, 2025
497fe6d
Make `nix profile install` an alias of `nix profile add`
edolstra Apr 10, 2025
02da540
Merge pull request #24 from DeterminateSystems/rename-nix-profile-ins…
grahamc Apr 10, 2025
2596288
Prepare release v3.3.0
github-actions[bot] Apr 11, 2025
454e0f7
Set .version-determinate to 3.3.0
github-actions[bot] Apr 11, 2025
8bd8f5a
Add Determinate Nix 3.3.0 release notes
cole-h Apr 11, 2025
44cc2ef
Merge pull request #28 from DeterminateSystems/release-v3.3.0/06a32f4…
grahamc Apr 11, 2025
beab9eb
libstore S3: fix progress bar and make file transfers interruptible
NaN-git Feb 19, 2025
c53bd89
libstore: same progress bar behavior for PUT and POST requests
NaN-git Mar 11, 2025
61bb405
add isInterrupted() call and replace some checkInterrupt() occurrences
NaN-git Apr 11, 2025
011f6e0
Merge pull request #13006 from NixOS/mergify/bp/2.28-maintenance/pr-1…
mergify[bot] Apr 11, 2025
c1c0e20
Prepare release v3.3.1
github-actions[bot] Apr 12, 2025
398104d
Set .version-determinate to 3.3.1
github-actions[bot] Apr 12, 2025
a706827
Merge pull request #30 from DeterminateSystems/release-v3.3.1/2086655…
grahamc Apr 12, 2025
9156550
Fix typo in string context docs
anthowan Apr 12, 2025
f18180a
Merge pull request #13011 from NixOS/mergify/bp/2.28-maintenance/pr-1…
Mic92 Apr 14, 2025
b1a1f4b
Mention BLAKE3 in the Nix 2.27 release notes
edolstra Apr 14, 2025
3e895be
Merge pull request #13021 from NixOS/mergify/bp/2.28-maintenance/pr-1…
edolstra Apr 14, 2025
a603401
libstore: curl retry: reset content-encoding and don't use string aft…
NaN-git Mar 4, 2025
9a969e2
call-flake.nix: refactor: Bring mapAttrs into scope
roberth Apr 14, 2025
6713647
call-flake.nix: allNodes.${key} -> allNodes.${key}.result
roberth Apr 15, 2025
818fc68
fix: Evaluate flake parent source without evaluating its outputs
roberth Apr 15, 2025
f233a99
Merge pull request #13027 from NixOS/mergify/bp/2.28-maintenance/pr-1…
Mic92 Apr 15, 2025
5ecbf6b
Merge pull request #13029 from NixOS/mergify/bp/2.28-maintenance/pr-1…
edolstra Apr 15, 2025
37bcd29
Use the same variable for content addressing in functional tests
Ericson2314 Apr 14, 2025
f191841
Test derivation options with content-addressing too
Ericson2314 Apr 14, 2025
5f0ddd7
Merge pull request #13028 from NixOS/mergify/bp/2.28-maintenance/pr-1…
Ericson2314 Apr 15, 2025
30d900b
Derivation "advanced attrs" test: Ensure fields are set to distinct v…
Ericson2314 Apr 15, 2025
29ae141
Remove stray assignment side affect in lambda
Ericson2314 Apr 15, 2025
8a7b8dc
Merge pull request #13033 from NixOS/mergify/bp/2.28-maintenance/pr-1…
mergify[bot] Apr 15, 2025
9574d39
Merge tag '2.28.2' into detsys-main
edolstra Apr 17, 2025
a8979e0
Merge pull request #31 from DeterminateSystems/sync-2.28.2
edolstra Apr 17, 2025
d74acf1
Hide the "dirty" notice when running nix develop
grahamc Apr 24, 2025
cecbb2b
Improve the "dirty" message, by clarifying what the jargon means
grahamc Apr 24, 2025
3c5c484
Merge pull request #32 from DeterminateSystems/push-kyzutzxyuwnv
grahamc Apr 24, 2025
ad7100f
Merge pull request #33 from DeterminateSystems/push-qvlnukytmqwu
grahamc Apr 24, 2025
d97d311
Emit a warning about channel deprecation.
grahamc Apr 25, 2025
6468ece
Merge pull request #35 from DeterminateSystems/push-zkyqytsppswn
edolstra Apr 25, 2025
17a40e5
Warn about the use of channel URLs
edolstra Apr 25, 2025
797c716
Suggest fix
edolstra Apr 25, 2025
97487c5
Merge pull request #36 from DeterminateSystems/deprecate-channel-urls
edolstra Apr 25, 2025
ca1b2dc
Warn against the use of indirect flakerefs in flake inputs
edolstra Apr 25, 2025
a9c1751
Update src/libflake/flake/flake.cc
edolstra Apr 25, 2025
bbde3da
Merge pull request #38 from DeterminateSystems/warn-registry-inputs
edolstra Apr 25, 2025
050e2e0
Prepare release v3.4.0
github-actions[bot] Apr 25, 2025
48e976a
Set .version-determinate to 3.4.0
github-actions[bot] Apr 25, 2025
173c742
Prep 3.4.0 release notes (#40)
grahamc Apr 25, 2025
234f790
Merge pull request #39 from DeterminateSystems/release-v3.4.0/3dffc8a…
grahamc Apr 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 50 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
on:
workflow_call:
inputs:
os:
required: true
type: string
system:
required: true
type: string
if:
required: false
default: true
type: boolean
run_tests:
required: false
default: true
type: boolean

jobs:
build:
if: ${{ inputs.if }}
strategy:
fail-fast: false
runs-on: ${{ inputs.os }}
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- uses: DeterminateSystems/nix-installer-action@main
with:
determinate: true
- uses: DeterminateSystems/flakehub-cache-action@main
- run: nix build .#packages.${{ inputs.system }}.default .#packages.${{ inputs.system }}.binaryTarball --no-link -L
- run: nix build .#packages.${{ inputs.system }}.binaryTarball --out-link tarball
- uses: actions/upload-artifact@v4
with:
name: ${{ inputs.system }}
path: ./tarball/*.xz
test:
if: ${{ inputs.if && inputs.run_tests}}
strategy:
fail-fast: false
runs-on: ${{ inputs.os }}
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- uses: DeterminateSystems/nix-installer-action@main
with:
determinate: true
- uses: DeterminateSystems/flakehub-cache-action@main
- run: nix flake check -L --system ${{ inputs.system }}
276 changes: 109 additions & 167 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,180 +3,64 @@ name: "CI"
on:
pull_request:
push:
branches:
- detsys-main
- main
- master
merge_group:

permissions: read-all
permissions:
id-token: "write"
contents: "read"

jobs:
eval:
runs-on: ubuntu-24.04
runs-on: blacksmith-32vcpu-ubuntu-2204
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: cachix/install-nix-action@v30
- run: nix --experimental-features 'nix-command flakes' flake show --all-systems --json
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: DeterminateSystems/nix-installer-action@main
with:
determinate: true
- run: nix flake show --all-systems --json

tests:
strategy:
fail-fast: false
matrix:
include:
- scenario: on ubuntu
runs-on: ubuntu-24.04
os: linux
- scenario: on macos
runs-on: macos-14
os: darwin
name: tests ${{ matrix.scenario }}
runs-on: ${{ matrix.runs-on }}
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: cachix/install-nix-action@v30
with:
# The sandbox would otherwise be disabled by default on Darwin
extra_nix_config: |
sandbox = true
max-jobs = 1
- uses: DeterminateSystems/magic-nix-cache-action@main
# Since ubuntu 22.30, unprivileged usernamespaces are no longer allowed to map to the root user:
# https://ubuntu.com/blog/ubuntu-23-10-restricted-unprivileged-user-namespaces
- run: sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
if: matrix.os == 'linux'
- run: scripts/build-checks
- run: scripts/prepare-installer-for-github-actions
- name: Upload installer tarball
uses: actions/upload-artifact@v4
with:
name: installer-${{matrix.os}}
path: out/*
build_x86_64-linux:
uses: ./.github/workflows/build.yml
with:
os: blacksmith-32vcpu-ubuntu-2204
system: x86_64-linux

installer_test:
needs: [tests]
strategy:
fail-fast: false
matrix:
include:
- scenario: on ubuntu
runs-on: ubuntu-24.04
os: linux
- scenario: on macos
runs-on: macos-14
os: darwin
name: installer test ${{ matrix.scenario }}
runs-on: ${{ matrix.runs-on }}
steps:
- uses: actions/checkout@v4
- name: Download installer tarball
uses: actions/download-artifact@v4
with:
name: installer-${{matrix.os}}
path: out
- name: Serving installer
id: serving_installer
run: ./scripts/serve-installer-for-github-actions
- uses: cachix/install-nix-action@v30
with:
install_url: 'http://localhost:8126/install'
install_options: "--tarball-url-prefix http://localhost:8126/"
- run: sudo apt install fish zsh
if: matrix.os == 'linux'
- run: brew install fish
if: matrix.os == 'darwin'
- run: exec bash -c "nix-instantiate -E 'builtins.currentTime' --eval"
- run: exec sh -c "nix-instantiate -E 'builtins.currentTime' --eval"
- run: exec zsh -c "nix-instantiate -E 'builtins.currentTime' --eval"
- run: exec fish -c "nix-instantiate -E 'builtins.currentTime' --eval"
- run: exec bash -c "nix-channel --add https://releases.nixos.org/nixos/unstable/nixos-23.05pre466020.60c1d71f2ba nixpkgs"
- run: exec bash -c "nix-channel --update && nix-env -iA nixpkgs.hello && hello"
build_aarch64-linux:
uses: ./.github/workflows/build.yml
with:
if: ${{ github.event_name == 'merge_group' }}
os: blacksmith-32vcpu-ubuntu-2204-arm
system: aarch64-linux

# Steps to test CI automation in your own fork.
# 1. Sign-up for https://hub.docker.com/
# 2. Store your dockerhub username as DOCKERHUB_USERNAME in "Repository secrets" of your fork repository settings (https://github.com/$githubuser/nix/settings/secrets/actions)
# 3. Create an access token in https://hub.docker.com/settings/security and store it as DOCKERHUB_TOKEN in "Repository secrets" of your fork
check_secrets:
permissions:
contents: none
name: Check Docker secrets present for installer tests
runs-on: ubuntu-24.04
outputs:
docker: ${{ steps.secret.outputs.docker }}
steps:
- name: Check for secrets
id: secret
env:
_DOCKER_SECRETS: ${{ secrets.DOCKERHUB_USERNAME }}${{ secrets.DOCKERHUB_TOKEN }}
run: |
echo "::set-output name=docker::${{ env._DOCKER_SECRETS != '' }}"

docker_push_image:
needs: [tests, vm_tests, check_secrets]
permissions:
contents: read
packages: write
if: >-
needs.check_secrets.outputs.docker == 'true' &&
github.event_name == 'push' &&
github.ref_name == 'master'
runs-on: ubuntu-24.04
steps:
- name: Check for secrets
id: secret
env:
_DOCKER_SECRETS: ${{ secrets.DOCKERHUB_USERNAME }}${{ secrets.DOCKERHUB_TOKEN }}
run: |
echo "::set-output name=docker::${{ env._DOCKER_SECRETS != '' }}"
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: cachix/install-nix-action@v30
with:
install_url: https://releases.nixos.org/nix/nix-2.20.3/install
- uses: DeterminateSystems/magic-nix-cache-action@main
- run: echo NIX_VERSION="$(nix --experimental-features 'nix-command flakes' eval .\#nix.version | tr -d \")" >> $GITHUB_ENV
- run: nix --experimental-features 'nix-command flakes' build .#dockerImage -L
- run: docker load -i ./result/image.tar.gz
- run: docker tag nix:$NIX_VERSION ${{ secrets.DOCKERHUB_USERNAME }}/nix:$NIX_VERSION
- run: docker tag nix:$NIX_VERSION ${{ secrets.DOCKERHUB_USERNAME }}/nix:master
# We'll deploy the newly built image to both Docker Hub and Github Container Registry.
#
# Push to Docker Hub first
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- run: docker push ${{ secrets.DOCKERHUB_USERNAME }}/nix:$NIX_VERSION
- run: docker push ${{ secrets.DOCKERHUB_USERNAME }}/nix:master
# Push to GitHub Container Registry as well
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Push image
run: |
IMAGE_ID=ghcr.io/${{ github.repository_owner }}/nix
# Change all uppercase to lowercase
IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
build_x86_64-darwin:
uses: ./.github/workflows/build.yml
with:
if: ${{ github.event_name == 'merge_group' }}
os: namespace-profile-mac-m2-12c28g
system: x86_64-darwin

docker tag nix:$NIX_VERSION $IMAGE_ID:$NIX_VERSION
docker tag nix:$NIX_VERSION $IMAGE_ID:latest
docker push $IMAGE_ID:$NIX_VERSION
docker push $IMAGE_ID:latest
# deprecated 2024-02-24
docker tag nix:$NIX_VERSION $IMAGE_ID:master
docker push $IMAGE_ID:master
build_aarch64-darwin:
uses: ./.github/workflows/build.yml
with:
os: namespace-profile-mac-m2-12c28g
system: aarch64-darwin

vm_tests:
runs-on: ubuntu-24.04
vm_tests_smoke:
if: github.event_name != 'merge_group'
needs: build_x86_64-linux
runs-on: blacksmith-32vcpu-ubuntu-2204
steps:
- uses: actions/checkout@v4
- uses: DeterminateSystems/nix-installer-action@main
- uses: DeterminateSystems/magic-nix-cache-action@main
with:
determinate: true
- uses: DeterminateSystems/flakehub-cache-action@main
- run: |
nix build -L \
.#hydraJobs.tests.functional_user \
Expand All @@ -185,22 +69,80 @@ jobs:
.#hydraJobs.tests.tarballFlakes \
;

vm_tests_all:
if: github.event_name == 'merge_group'
needs: build_x86_64-linux
runs-on: blacksmith-32vcpu-ubuntu-2204
steps:
- uses: actions/checkout@v4
- uses: DeterminateSystems/nix-installer-action@main
with:
determinate: true
- uses: DeterminateSystems/flakehub-cache-action@main
- run: |
nix build -L --keep-going \
$(nix flake show --json \
| jq -r '
.hydraJobs.tests
| with_entries(select(.value.type == "derivation"))
| keys[]
| ".#hydraJobs.tests." + .')

flake_regressions:
needs: vm_tests
runs-on: ubuntu-24.04
if: github.event_name == 'merge_group'
needs: build_x86_64-linux
runs-on: blacksmith-32vcpu-ubuntu-2204
steps:
- name: Checkout nix
uses: actions/checkout@v4
- name: Checkout flake-regressions
uses: actions/checkout@v4
with:
repository: NixOS/flake-regressions
repository: DeterminateSystems/flake-regressions
path: flake-regressions
- name: Checkout flake-regressions-data
uses: actions/checkout@v4
with:
repository: NixOS/flake-regressions-data
repository: DeterminateSystems/flake-regressions-data
path: flake-regressions/tests
- uses: DeterminateSystems/nix-installer-action@main
- uses: DeterminateSystems/magic-nix-cache-action@main
- run: nix build -L --out-link ./new-nix && PATH=$(pwd)/new-nix/bin:$PATH MAX_FLAKES=25 flake-regressions/eval-all.sh
with:
determinate: true
- uses: DeterminateSystems/flakehub-cache-action@main
- run: nix build -L --out-link ./new-nix && PATH=$(pwd)/new-nix/bin:$PATH MAX_FLAKES=50 flake-regressions/eval-all.sh

manual:
if: github.event_name != 'merge_group'
needs: build_x86_64-linux
runs-on: blacksmith
permissions:
id-token: "write"
contents: "read"
pull-requests: "write"
statuses: "write"
deployments: "write"
steps:
- name: Checkout nix
uses: actions/checkout@v4
- uses: DeterminateSystems/nix-installer-action@main
with:
determinate: true
- uses: DeterminateSystems/flakehub-cache-action@main
- name: Build manual
run: nix build .#hydraJobs.manual
- uses: nwtgck/[email protected]
with:
publish-dir: "./result/share/doc/nix/manual"
production-branch: detsys-main
github-token: ${{ secrets.GITHUB_TOKEN }}
deploy-message: "Deploy from GitHub Actions"
# NOTE(cole-h): We have a perpetual PR displaying our changes against upstream open, but
# its conversation is locked, so this PR comment can never be posted.
# https://github.com/DeterminateSystems/nix-src/pull/4
enable-pull-request-comment: ${{ github.event.pull_request.number != 4 }}
enable-commit-comment: true
enable-commit-status: true
overwrites-pull-request-comment: true
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
29 changes: 29 additions & 0 deletions .github/workflows/propose-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
on:
workflow_dispatch:
inputs:
reference-id:
type: string
required: true
version:
type: string
required: true

concurrency:
group: ${{ github.workflow }}
cancel-in-progress: true

jobs:
propose-release:
uses: DeterminateSystems/propose-release/.github/workflows/workflow.yml@main
permissions:
id-token: write
contents: write
pull-requests: write
with:
update-flake: false
reference-id: ${{ inputs.reference-id }}
version: ${{ inputs.version }}
extra-commands-early: |
echo ${{ inputs.version }} > .version-determinate
git add .version-determinate
git commit -m "Set .version-determinate to ${{ inputs.version }}" || true
Loading
Loading