Commit graph

1198 commits

Author SHA1 Message Date
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
Silvan Mosberger
73a4ae3b3a
workflows: small refactors (#371216) 2025-01-11 12:28:20 +01:00
StrongSand94191
dc1758843d
.github: Fix capitalization in issue templates (#368493) 2025-01-11 12:12:56 +01: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
Vladimír Čunát
fc9c33366b
staging-next 2024-12-04 (#361878) 2024-12-23 14:57:53 +01:00
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
github-actions[bot]
02d93dd7ec
Merge master into staging-next 2024-12-23 12:05:52 +00: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
K900
48fcb81021 Merge remote-tracking branch 'origin/master' into staging-next 2024-12-21 21:08:36 +03: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
Vladimír Čunát
33412178db
openjfx{17,21,23}: fix build with GCC 14 (#365724) 2024-12-20 09:29:05 +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
FliegendeWurst
78a8d7a179 .github/labeler.yml: add openjfx to Java 2024-12-17 00:10:45 +01:00
Jörg Thalheim
8e109363a3
Consistently condition merge-dependent workflows (#364338) 2024-12-12 14:48:50 +01:00
Emery Hemingway
eaff0725de buildNimSbom: init a new package builder for Nim
Ref: #327064
2024-12-12 09:57:05 +00: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 3426066022:

    Comparing against "1227849589"
    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