WIP: feat: use download-artifact instead of manually downloading it #17

Draft
jalil wants to merge 1 commit from push-ypzqxowpsnwq into main
Owner

This should hopefully work on private repos too!

Blocked on download-artifact being able to download artifacts from other runs T-T

This should hopefully work on private repos too! Blocked on `download-artifact` being able to download artifacts from other runs T-T
jalil self-assigned this 2025-05-13 20:02:57 +02:00
jalil added 1 commit 2025-05-13 20:02:57 +02:00
feat: use download-artifact instead of manually downloading it
Some checks failed
/ check (treefmt) (push) Successful in 4s
/ check-renovaterc (push) Successful in 2s
/ report-size (push) Failing after 2s
78313cff98
This should hopefully work on private repos too!
jalil force-pushed push-ypzqxowpsnwq from 78313cff98 to 4b8ce403a3 2025-05-13 20:31:24 +02:00 Compare

Flake output sizes

Definitions
  • Name: the name of the package/configuration.
  • Size: the closure size (size on disk/NAR size + all transitive dependencies).
  • NAR Size: the size of the build output (package without the dependencies).
Tips on reading this data
  • For NixOS configurations you generally care only about the Size (closure size/size on disk).
    • Reduce the Size by disabling unneeded services/default packages.
  • For Packages you care about both the Size and the NAR Size.
    • Reduce the NAR Size by reducing the size of the build outputs, e.g. don't copy unnecessary data to the $out dir, optimize binaries for size, etc.
    • Reduce the Size by reducing the dependencies (e.g. buildInputs).
    • Don't worry too much about size, some dependencies are deduplicated, e.g. glibc adds ~40MiB to the Size, but is generally shared by ~every binary on the system, so, chances are, you are already including it from somewhere else and statically linking with e.g. musl is not gonna improve things.

Packages

Name Size NAR Size
hello 32MiB 230KiB
<!-- AUTOGENERATED by nix-flake-outputs-size action --> ## Flake output sizes <details><summary><b>Definitions</b></summary> - `Name`: the name of the package/configuration. - `Size`: the closure size (size on disk/NAR size + all transitive dependencies). - `NAR Size`: the size of the build output (package without the dependencies). </details> <details><summary><b>Tips on reading this data</b></summary> - For NixOS configurations you generally care only about the `Size` (closure size/size on disk). - Reduce the `Size` by disabling unneeded services/default packages. - For Packages you care about both the `Size` and the `NAR Size`. - Reduce the `NAR Size` by reducing the size of the build outputs, e.g. don't copy unnecessary data to the $out dir, optimize binaries for size, etc. - Reduce the `Size` by reducing the dependencies (e.g. `buildInputs`). - Don't worry too much about size, some dependencies are deduplicated, e.g. `glibc` adds ~40MiB to the `Size`, but is generally shared by ~every binary on the system, so, chances are, you are already including it from somewhere else and statically linking with e.g. `musl` is not gonna improve things. </details> ## Packages | Name | Size | NAR Size | |------|-----:|---------:| | `hello` | 32MiB | 230KiB |
jalil force-pushed push-ypzqxowpsnwq from 4b8ce403a3 to bae37e3eca 2025-05-13 20:33:03 +02:00 Compare
jalil force-pushed push-ypzqxowpsnwq from bae37e3eca to 76fd026db4 2025-05-13 20:33:56 +02:00 Compare
jalil force-pushed push-ypzqxowpsnwq from 76fd026db4 to 32a67156d7 2025-05-13 20:34:28 +02:00 Compare
jalil force-pushed push-ypzqxowpsnwq from 32a67156d7 to 1b9c865681 2025-05-13 20:43:11 +02:00 Compare
jalil force-pushed push-ypzqxowpsnwq from 1b9c865681 to 2ae888ad64 2025-05-13 20:44:46 +02:00 Compare
jalil force-pushed push-ypzqxowpsnwq from 2ae888ad64 to 87f358b9e0 2025-05-13 20:57:18 +02:00 Compare
jalil force-pushed push-ypzqxowpsnwq from 87f358b9e0 to 561ab5a516 2025-05-13 20:58:31 +02:00 Compare
jalil force-pushed push-ypzqxowpsnwq from 561ab5a516 to e2bc66d22c 2025-05-13 21:03:04 +02:00 Compare
jalil force-pushed push-ypzqxowpsnwq from e2bc66d22c to d684e1ea3a 2025-05-13 21:21:16 +02:00 Compare
jalil force-pushed push-ypzqxowpsnwq from d684e1ea3a to 74dfb24f5c 2025-05-13 21:23:51 +02:00 Compare
jalil force-pushed push-ypzqxowpsnwq from 74dfb24f5c to 155288521d 2025-05-13 21:24:28 +02:00 Compare
jalil force-pushed push-ypzqxowpsnwq from 155288521d to cf7b4029e1 2025-05-13 21:25:51 +02:00 Compare
jalil force-pushed push-ypzqxowpsnwq from cf7b4029e1 to f420305d0c 2025-05-13 21:26:30 +02:00 Compare
jalil changed title from feat: use download-artifact instead of manually downloading it to WIP: feat: use download-artifact instead of manually downloading it 2025-05-13 21:27:39 +02:00
jalil force-pushed push-ypzqxowpsnwq from f420305d0c to 7aaeaee4c4 2025-05-14 22:09:28 +02:00 Compare
jalil force-pushed push-ypzqxowpsnwq from 7aaeaee4c4 to bf9d3cb078 2025-05-14 22:47:11 +02:00 Compare
jalil force-pushed push-ypzqxowpsnwq from bf9d3cb078 to f2cea7cf73 2025-05-14 22:49:04 +02:00 Compare
jalil force-pushed push-ypzqxowpsnwq from f2cea7cf73 to 6635e00cd1 2025-05-14 22:50:15 +02:00 Compare
jalil force-pushed push-ypzqxowpsnwq from 6635e00cd1 to efe08fcf0d 2025-05-14 22:55:32 +02:00 Compare
Some checks failed
/ check (treefmt) (push) Successful in 3s
Required
Details
/ report-size (push) Failing after 2s
Required
Details
/ report-download-check (push) Has been skipped
Required
Details
This pull request is marked as a work in progress.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin push-ypzqxowpsnwq:push-ypzqxowpsnwq
git checkout push-ypzqxowpsnwq
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: jalil/nix-flake-outputs-size#17
No description provided.