Commit Graph

963 Commits

Author SHA1 Message Date
Wolfgang Walther
93df51fa33 workflows/eval: rename BASE_SHA to TARGET_SHA
To be in line with the terminology introduced in the README.md in the
same folder.
2025-02-02 20:17:33 +01:00
Wolfgang Walther
86a38d48fb workflows/eval: fail hard without target run
Without a target run, we won't get any rebuild labels, rebuild counts or
maintainer pings. This might have been correct before #373935, but by
now we run eval on all commits on the target branch, so we should treat
it as a failure if we can't find the run.
2025-02-02 20:17:09 +01:00
Wolfgang Walther
06fa362486 workflows/eval: no maintainer reviews in draft mode (#372479) 2025-02-01 11:58:50 +01:00
Wolfgang Walther
1a53a38d36 .github/labeler.yml: automatically add backport label for PRs touching ci/ (#374921) 2025-02-01 11:57:14 +01:00
Peder Bergebakken Sundt
8ed4f7b5a6 workflows/labels: add a sync-labels: false step, migrate some rules 2025-01-20 12:35:38 +01:00
Silvan Mosberger
8e614ad4fa ci: Format nixfmt command prominently (#373939) 2025-01-19 10:28:41 +01:00
Robert Hensing
c98e26ae4e ci: Interpunction
The latter part is structurally a full sentence, if short.
2025-01-15 06:52:30 +01:00
Robert Hensing
3895dfe2cf ci: Show example nixfmt command prominently 2025-01-15 06:51:53 +01:00
John Titor
38ebbf7c4f workflows/periodic-merges: explicitly inherit the secrets
Apparently since we are callling a reusable workflow here, we need to explicitly pass the secrets. :(
2025-01-15 11:04:30 +05:30
John Titor
6ab6314d06 workflows/periodic-merges: use nixpkgs-ci's token 2025-01-15 10:29:29 +05:30
John Titor
f697628305 workflows/backport: switch to new variables
As per https://github.com/NixOS/org/issues/54, new variables are now NIXPKGS_CI_APP_ID and NIXPKGS_CI_APP_PRIVATE_KEY.
2025-01-15 10:19:21 +05:30
Wolfgang Walther
21b5113509 workflows/eval: no maintainer reviews in draft mode 2025-01-13 20:48:05 +01:00
Silvan Mosberger
be67d6fb26 workflows/codeowners-v2: only run if github.repository_owner is NixOS (#360286) 2025-01-13 18:44:15 +01:00
dependabot[bot]
c254691a5b build(deps): bump actions/upload-artifact from 4.5.0 to 4.6.0
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.5.0 to 4.6.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](6f51ac03b9...65c4c4a1dd)

---
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>
2025-01-13 11:45:12 +00:00
Wolfgang Walther
d725592cd1 workflows/periodic-merge: move fork condition to calling workflow
Apparently the skipping needs to happen on the calling workflow,
otherwise those workflows show up as "failed" in forks instead of
skipped.
2025-01-12 13:41:05 +01:00
Zhong Jianxin
973017d933 workflows/codeowners-v2: only run if github.repository_owner is NixOS
Failure on fork:

```
throw new Error("Input required and not supplied: app-id");
```
2025-01-11 21:14:39 +08:00
Wolfgang Walther
9ea74225cc workflows: add README
This introduces some basic concepts used in these workflows and a common
terminology.

At the same time we remove some of the comments from various workflow
files, because they are assumed to be "general knowledge" through the
README.
2025-01-10 18:36:22 +01:00
Wolfgang Walther
3e9f5c05ea workflows: rename baseSha to targetSha
We currently use two different "base" commits, but the same name. One of
them is the commit in which context the pull_request_target runs. The
other is the parent of the merge commit. Those are **not** necessarily
the same - see README introduced in the next commit for details.

Renaming one of them for clarity. Since the pull_request_target related
base commit is also called like that in GitHub Actions terminology, we
rename the other. The best I could come up with is "target".
2025-01-10 18:36:22 +01:00
Wolfgang Walther
ba09688dc8 workflows/periodic-merge: support merge bases in re-usable workflow 2025-01-10 18:36:22 +01:00
Wolfgang Walther
51b8ad2191 workflows/periodic-merge: create re-usable workflow
Less repetition, more consistency.
2025-01-10 18:36:22 +01:00
Wolfgang Walther
58f8c536c6 workflows/{editorconfig,nix-parse}: run against release branches
It seems odd to exclude PRs against release branches for those checks -
especially when not excluding PRs against staging-** variants at the
same time.
2025-01-10 18:36:22 +01:00
Wolfgang Walther
b64d5e1c0c workflows: make checks work with non-NixOS repos
No need for that limitation, which only artifically limits test-ability
of CI in forks.

Some other workflows like backports, cherry-pick checks and periodic
merges are very specific to the release branches and don't need to be
run in forks.
2025-01-10 18:36:21 +01:00
Wolfgang Walther
94c4c7bd3b workflows/eval: remove non-required "needs: attrs"
The eval-aliases job is independent of attrs already.
2025-01-10 18:36:18 +01:00
Wolfgang Walther
88afad8833 workflows: basic consistency in formatting workflows
Same top-level ordering of keys / empty lines and same indentation for
yaml lists. One blank line between each step.

Makes it easier to read and compare the workflows.
2025-01-09 21:29:41 +01:00
Wolfgang Walther
72fd375d1c workflows/eval: fix actionlint
mergedSha is available from needs.get-merge-commit, not needs.attrs.
Actionlint rightfully complains about that.

The code still works as expected because nixpkgs/ is checked out at
mergedSha, so the diff will be between mergedSha and baseSha.
2025-01-09 21:29:41 +01:00
Wolfgang Walther
fcb24b90d0 workflows/check-maintainers-sorted: Use .yml extension for consistency
All other workflows do - and most importantly actionlint only runs on
.yml files!
2025-01-09 21:29:41 +01:00
Wolfgang Walther
4d00c68aa4 workflows/check-shell: use job matrix 2025-01-09 21:29:41 +01:00
Wolfgang Walther
aa7335ca5f workflows/basic-eval: remove
This seems to be unused. It can be triggered manually, but is this
really done?

Is this superseded by the new eval checks or should we instead run this
regularly?
2025-01-09 21:29:41 +01:00
Wolfgang Walther
3c9794d06e workflows/eval: add eval summary before requesting reviewers
This is to ensure that the eval summary is still set as commit status,
even when the review requests fail due to too many reviewers.
2025-01-06 20:18:34 +01:00
dependabot[bot]
ebdb307d51 build(deps): bump actions/create-github-app-token from 1.11.0 to 1.11.1 (#371397)
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](https://github.com/actions/create-github-app-token/compare/v1.11.0...c1a285145b9d317df6ced56c09f525b5c2b6f755)

---
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>
2025-01-06 19:54:39 +05:30
John Titor
9ccdc413e4 workflows/eval: add swap to tackle recent borderline OOM
Removed in https://github.com/NixOS/nixpkgs/pull/356023#discussion_r1844961453

Due to https://github.com/NixOS/nixpkgs/issues/355847#issuecomment-2566688172 https://github.com/NixOS/nixpkgs/issues/355847#issuecomment-2559907806 https://github.com/NixOS/nixpkgs/issues/355847#issuecomment-2543915995
2025-01-05 23:24:40 +05:30
NAHO
dbd20ce0eb workflows: lock macOS runner to macos-14 2025-01-05 00:18:58 +01:00
NAHO
fcfbe6fff4 workflows: update Ubuntu runner to ubuntu-24.04
Link: https://github.com/actions/runner-images/issues/10636
2025-01-05 00:18:58 +01:00
NAHO
2660dd1e71 workflows: lock Ubuntu runner to ubuntu-22.04
Lock the Ubuntu runner to ubuntu-22.04 to avoid accidental updates [1]
and increase reproducibility.

[1]: https://github.com/actions/runner-images/issues/10636
2025-01-05 00:18:57 +01:00
Wolfgang Walther
62779fbfa4 ci/request-reviews: share code to request reviewers from gh api
This makes it easier to add ofborg's request-1-by-1 logic, where failed
requests are OK for edge cases.
2025-01-04 18:34:17 +01:00
Wolfgang Walther
2e6119462e workflows/eval: make "requesting maintainer reviews" separate step
Odd to have this in the "Tagging pull request" step, which is only about
labels otherwise.
2025-01-04 14:40:03 +01:00
Wolfgang Walther
cf0616fec6 ci/request-reviews: rename code-owner related files
Now that we have maintainer reviews as well, be a bit more explicit
about naming.
2025-01-04 13:54:05 +01:00
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