Commit Graph

526 Commits

Author SHA1 Message Date
Masum Reza
9fb52eebe3 workflows/eval: fix maintainer requests (#370456) 2025-01-04 01:55:14 +05:30
Perchun Pak
a748f4ce07 .github/workflows/ofborg-pending.yml: delete (#370427)
Ofborg is dead for a few days, so this workflow is useless.

https://discourse.nixos.org/t/infrastructure-announcement-the-future-of-ofborg-your-help-needed/56025
2025-01-03 18:17:21 +01:00
sternenseemann
f9f5325ad9 workflows/periodic-merge: merge merge-base into haskell-updates
Since haskell-updates is based on master, but merges into staging, we
need to base it on a merge-base of staging and master. See #361143.

I'm a bit worried that the information GitHub uses for displaying
Pull-Requests becomes stale and this will “add” commits to the PR
compared to the base anyways. We'll find out, I suppose.
2025-01-03 14:12:23 +01:00
Silvan Mosberger
0ac1641b1e actions/no-channel-pr: re run when base branch is updated (#369179) 2025-01-03 04:20:40 +01:00
Silvan Mosberger
ab248be504 workflows/eval: Minor cleanup
The ${{ }} syntax is best avoided in scripts. While it wouldn't be a
problem here, let's do this for consistency
2025-01-03 04:08:37 +01:00
Silvan Mosberger
0ebab0bcca workflows/eval: Reuse process-reviewers.sh
Filters out the PR author and avoids rerequesting reviews from people
that already left a review. In a future commit, this can be expanded to
also avoid requesting reviews from people not in the org
2025-01-03 04:08:33 +01:00
Masum Reza
a69bc54e33 workflows/eval: Request reviews from changed package maintainers (#366046) 2025-01-02 14:18:57 +05:30
Weijia Wang
f5e3261683 workflows: remove 24.05 merges 2024-12-31 22:15:09 +01:00
John Titor
3ff50a219b actions/no-channel-pr: re run when base branch is updated
Additionally, no permissions are needed so set it to an empty set
Signed-off-by: John Titor <50095635+JohnRTitor@users.noreply.github.com>
2024-12-29 21:57:33 +05:30
Jörg Thalheim
890e5f2456 build(deps): bump actions/create-github-app-token from 1.11.0 to 1.11.1 (#367609) 2024-12-23 13:06:58 +01:00
dependabot[bot]
abd256e12b build(deps): bump actions/upload-artifact from 4.4.3 to 4.5.0
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.4.3 to 4.5.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](b4b15b8c7c...6f51ac03b9)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 11:05:01 +00:00
dependabot[bot]
4c4e9337fa build(deps): bump actions/create-github-app-token from 1.11.0 to 1.11.1
Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 1.11.0 to 1.11.1.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](5d869da34e...c1a285145b)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 11:04:57 +00:00
Wolfgang Walther
a9dbb26f48 workflows/eval: evaluate all systems to completion on failure
Failing fast hides system-specific evaluation failures, because all of
the currently 4 jobs appear as failed.
2024-12-21 14:16:38 +01:00
Silvan Mosberger
b844cba4e6 workflows/eval: Use maintainer GitHub IDs for review requests of changed packages
The handles can change over time and there's nothing guaranteeing the
ones in the maintainer list are up-to-date. In comparison GitHub IDs
never change.
2024-12-18 22:13:48 +01:00
Silvan Mosberger
b9d800d468 workflows/eval: Request reviews from changed package maintainers
Currently we need to rely on ofborg requesting reviews from package
maintainers, which takes a while with ofborg's eval queue. Since
recently we're doing faster evaluations with GitHub Actions, which contain all
necessary information to determine reviewers of changed packages the
same way ofborg does. This PR takes advantage of that.
2024-12-18 22:13:37 +01:00
Silvan Mosberger
79dca9a646 workflows/eval: Catch empty conclusion
Sometimes the conclusion is empty when it's still
running/pending or so, which needs to be caught, otherwise it can exit
preemptively: https://github.com/NixOS/nixpkgs/pull/364308#issuecomment-2550179941

Co-Authored-By: Reno Dakota <paparodeo@proton.me>
2024-12-18 04:58:44 +01:00
Silvan Mosberger
4e6b5639ac workflows: Consistently condition on merge commit
Before the get-merge-commit was put into a separate workflow job, it ran
as a step, which then required skipping all subsequent steps
individually. This is not necessary anymore, because entire workflow
jobs can be skipped.

This commit consistently applies that change throughout all workflows.
2024-12-11 20:52:40 +01:00
Silvan Mosberger
83d4c9d28d workflows: Condition all merge-dependent workflows on a merge commit
After the introduction of the reusable get-merge-commit.yml workflow,
this now applies it on all remaining workflows that depend on a merge
commit. This ensures that CI doesn't fail for those PRs, which would
cause notifications to be sent, and the CI run to be marked as failed in
the list of runs.
2024-12-11 20:50:38 +01:00
Silvan Mosberger
aae821d4fe workflows/eval: Improve debuggabilitiy
Sometimes successful workflows trigger that condition,
see https://github.com/NixOS/nixpkgs/actions/runs/12278493443/job/34260660227:

    Comparing against "https://github.com/NixOS/nixpkgs/actions/runs/12278495895"
    Workflow not done, waiting 10 seconds before checking again
    Workflow was not successful, cannot make comparison

Even though

    $ gh api /repos/NixOS/nixpkgs/actions/runs/12278495895 --jq .conclusion
    success

Let's print the conclusion when it's not "success" to debug this.
2024-12-11 19:32:07 +01:00
Wolfgang Walther
a37e778bd5 build(deps): bump korthout/backport-action from 3.0.2 to 3.1.0 (#337448) 2024-12-09 21:52:07 +01:00
John Titor
6da0724cf3 ci: add Nixpkgs lib-tests workflow
Ofborg also does this.
Should be run on `lib/*` dirs

Signed-off-by: John Titor <50095635+JohnRTitor@users.noreply.github.com>
2024-12-05 18:35:43 +05:30
Jörg Thalheim
c853ed50dc workflows/eval: add eval summary to commit statuses (#361973) 2024-12-05 11:46:08 +01:00
Silvan Mosberger
fab3778dd1 workflows/check-nix-format: Improve error message (#337577) 2024-12-04 20:46:08 +01:00
John Titor
52acf63da4 ci/nixpkgs-vet: use the get-merge-commit workflow 2024-12-05 01:05:09 +05:30
John Titor
5ddb63fe13 ci/eval: use the get-merge-commit workflow 2024-12-05 01:05:08 +05:30
John Titor
b5a6aeb5df ci: init get-merge-commit workflow
Signed-off-by: John Titor <50095635+JohnRTitor@users.noreply.github.com>
2024-12-05 01:05:00 +05:30
Zhong Jianxin
26befe6e6e workflows/eval: add eval summary to commit statuses 2024-12-04 20:03:48 +08:00
Jörg Thalheim
ae52e560c0 Revert "workflows/eval: Add the eval summary as a comment"
This reverts commit 38003ce53b.
2024-12-03 10:01:45 +01:00
Jörg Thalheim
81662274a0 ci/eval: test aliases (#360242) 2024-12-03 07:46:11 +01:00
Jörg Thalheim
260aa262b8 workflows/eval: Add the eval summary as a comment (#361061) 2024-12-03 07:40:45 +01:00
Jörg Thalheim
dc19a018ee Run GitHub Actions on automatic backport PRs (#360260) 2024-12-03 07:28:44 +01:00
Zhong Jianxin
38003ce53b workflows/eval: Add the eval summary as a comment 2024-12-02 19:31:34 +08:00
Jörg Thalheim
b47354725f ci/eval: test aliases
Aliases do not add new packages, so basic evaluation with nix-env should
be enough and fairly quick.
2024-12-01 19:47:05 +01:00
Jörg Thalheim
eaae909d2b workflows/eval: add markdown of added, removed and changed (#360339) 2024-12-01 16:53:49 +01:00
Aleksana
e10cdab135 workflows/check-nix-format: reminder to rebase (#356813) 2024-12-01 18:55:31 +08:00
Noa Aarts
0e27bc3f9e github/workflows/eval: add markdown of added, removed and changed 2024-11-30 13:47:49 +01:00
Pol Dellaiera
e012442a7e workflows/eval: Clear unnecessary rebuild labels (#360277) 2024-11-30 09:20:53 +01:00
Pol Dellaiera
46fba61472 workflows/eval: Make sure to compare against the push run (#360274) 2024-11-30 09:19:42 +01:00
Zhong Jianxin
c318085efa ci/check-shell: fix ci/** path 2024-11-30 10:32:54 +08:00
Silvan Mosberger
ea65e3038a workflows/eval: Clear unnecessary rebuild labels
Previously the labels would never be removed, even if the number of
rebuilds changed
2024-11-30 03:00:58 +01:00
Silvan Mosberger
b3e8e251f3 workflows/eval: Make sure to compare against the push run
For PRs whose commits end up as HEAD of master like
bcc5c141bf,
there might be workflow runs associated with both PRs and pushes.

Only the push event is the one that will run fully and should be used to compare against.
So far it didn't distinguish between the two events, causing it to
sometimes pick the wrong one and then fail to download non-existent
artifacts: https://github.com/NixOS/nixpkgs/actions/runs/12092053414/job/33721377179

This commit fixes that by ensuring that the push event result is
compared against
2024-11-30 02:08:53 +01:00
Silvan Mosberger
f31600fd0f workflows/backport: Use GitHub App to create PRs to make GHA trigger on them 2024-11-30 00:58:53 +01:00
Jörg Thalheim
cb016f116b ci/check-shell: only run if shell.nix or ./ci/** is changed
saves a bit of CI time
2024-11-29 23:34:33 +01:00
Silvan Mosberger
af1aa40e73 workflows/eval.yml: Run on dev branch pushes and apply rebuild labels 2024-11-28 22:24:23 +01:00
Jörg Thalheim
eeb87082a9 add actionlint script 2024-11-22 14:16:17 +01:00
Jörg Thalheim
2adf409581 ci/check-nixf-tidy: replace sed with variable substitution
Update .github/workflows/check-nixf-tidy.yml

Co-authored-by: Zhong Jianxin <azuwis@users.noreply.github.com>
2024-11-22 14:16:17 +01:00
Jörg Thalheim
b998723321 ci/editorconfig-v2: useless use of cat 2024-11-22 08:33:41 +01:00
Silvan Mosberger
19db54eda1 workflows/eval: Minor fixes, ensure the correct commit is checked out
- `env.mergedSha` is empty, so it checked out the master version by
default
- The process step used `needs.attrs.outputs.mergedSha`, but apparently
  that's empty unless `attrs` is declared as a `needs`, even though
  `outputs` implicitly depends on `attrs`
2024-11-21 20:01:18 +01:00
Zhong Jianxin
f80720823b workflows/eval: avoid potential script injection attack
Although matrix.system is supposed to be generated from trusted code,
we'd better follow [Github Actions good practices][1].

[1]: https://docs.github.com/en/actions/security-for-github-actions/security-guides/security-hardening-for-github-actions#using-an-intermediate-environment-variable
2024-11-20 20:50:24 +08:00
Silvan Mosberger
fbbe972898 Parallel GH actions workflow for Nixpkgs eval
Motivated by ofborg struggling [1] and its evaluations taking too long,
inspired by Jörg's initial PR [2]
and Adam's previous attempt to parallelise Nixpkgs evaluation [3],
this PR contains initial work to relief ofborg from its evaluation duty
by using GitHub Actions to evaluate Nixpkgs.

For now this doesn't take care of all of what ofborg does, such as
requesting appropriate reviewers or labeling mass rebuilds, but this can
be follow-up work.

[1]: https://discourse.nixos.org/t/infrastructure-announcement-the-future-of-ofborg-your-help-needed/56025?u=infinisil
[2]: https://github.com/NixOS/nixpkgs/pull/352808
[3]: https://github.com/NixOS/nixpkgs/pull/269403

Co-Authored-By: Jörg Thalheim <joerg@thalheim.io>
Co-Authored-By: Adam Joseph <adam@westernsemico.com>
2024-11-20 10:35:56 +01:00