diff options
Diffstat (limited to '.github')
-rw-r--r-- | .github/CODEOWNERS | 38 | ||||
-rw-r--r-- | .github/CONTRIBUTING.md | 6 | ||||
-rw-r--r-- | .github/ISSUE_TEMPLATE/out_of_date_package_report.md | 48 | ||||
-rw-r--r-- | .github/PULL_REQUEST_TEMPLATE.md | 2 | ||||
-rw-r--r-- | .github/STALE-BOT.md | 35 | ||||
-rw-r--r-- | .github/dependabot.yml | 6 | ||||
-rw-r--r-- | .github/stale.yml | 37 | ||||
-rw-r--r-- | .github/workflows/editorconfig.yml | 20 | ||||
-rw-r--r-- | .github/workflows/merge-staging.yml | 39 | ||||
-rw-r--r-- | .github/workflows/pending-clear.yml | 21 | ||||
-rw-r--r-- | .github/workflows/pending-set.yml | 20 | ||||
-rw-r--r-- | .github/workflows/wait-ofborg.yml | 36 |
12 files changed, 209 insertions, 99 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 4be9ae506ea1d..9835b7654612f 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -12,6 +12,7 @@ # GitHub actions /.github/workflows @Mic92 @zowoq +/.github/workflows/merge-staging @FRidh # EditorConfig /.editorconfig @Mic92 @zowoq @@ -83,9 +84,9 @@ /pkgs/development/haskell-modules/hoogle.nix @cdepillabout # Perl -/pkgs/development/interpreters/perl @volth -/pkgs/top-level/perl-packages.nix @volth -/pkgs/development/perl-modules @volth +/pkgs/development/interpreters/perl @volth @stigtsp +/pkgs/top-level/perl-packages.nix @volth @stigtsp +/pkgs/development/perl-modules @volth @stigtsp # R /pkgs/applications/science/math/R @peti @@ -96,8 +97,8 @@ /pkgs/development/ruby-modules @alyssais # Rust -/pkgs/development/compilers/rust @Mic92 @LnL7 -/pkgs/build-support/rust @andir +/pkgs/development/compilers/rust @Mic92 @LnL7 @zowoq +/pkgs/build-support/rust @andir @zowoq # Darwin-related /pkgs/stdenv/darwin @NixOS/darwin-maintainers @@ -176,6 +177,10 @@ /pkgs/applications/editors/emacs @adisbladis /pkgs/top-level/emacs-packages.nix @adisbladis +# Neovim +/pkgs/applications/editors/neovim @jonringer +/pkgs/applications/editors/neovim @teto + # VimPlugins /pkgs/misc/vim-plugins @jonringer @softinio @@ -192,13 +197,26 @@ /nixos/tests/php @NixOS/php /pkgs/build-support/build-pecl.nix @NixOS/php /pkgs/development/interpreters/php @NixOS/php +/pkgs/development/php-packages @NixOS/php /pkgs/top-level/php-packages.nix @NixOS/php # Podman, CRI-O modules and related -/nixos/modules/virtualisation/containers.nix @NixOS/podman -/nixos/modules/virtualisation/cri-o.nix @NixOS/podman -/nixos/modules/virtualisation/podman.nix @NixOS/podman -/nixos/tests/podman.nix @NixOS/podman +/nixos/modules/virtualisation/containers.nix @NixOS/podman @zowoq +/nixos/modules/virtualisation/cri-o.nix @NixOS/podman @zowoq +/nixos/modules/virtualisation/podman.nix @NixOS/podman @zowoq +/nixos/tests/cri-o.nix @NixOS/podman @zowoq +/nixos/tests/podman.nix @NixOS/podman @zowoq + +# Docker tools +/pkgs/build-support/docker @roberth @utdemir +/nixos/tests/docker-tools-overlay.nix @roberth +/nixos/tests/docker-tools.nix @roberth +/doc/builders/images/dockertools.xml @roberth # Blockchains -/pkgs/applications/blockchains @mmahut +/pkgs/applications/blockchains @mmahut @RaghavSood + +# Go +/pkgs/development/compilers/go @kalbasit @Mic92 @zowoq +/pkgs/development/go-modules @kalbasit @Mic92 @zowoq +/pkgs/development/go-packages @kalbasit @Mic92 @zowoq diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index cb0264b0167f5..8ec9d535332de 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -53,10 +53,10 @@ For package version upgrades and such a one-line commit message is usually suffi Follow these steps to backport a change into a release branch in compliance with the [commit policy](https://nixos.org/nixpkgs/manual/#submitting-changes-stable-release-branches). 1. Take note of the commits in which the change was introduced into `master` branch. -2. Check out the target _release branch_, e.g. `release-20.03`. Do not use a _channel branch_ like `nixos-20.03` or `nixpkgs-20.03`. +2. Check out the target _release branch_, e.g. `release-20.09`. Do not use a _channel branch_ like `nixos-20.09` or `nixpkgs-20.09`. 3. Create a branch for your change, e.g. `git checkout -b backport`. -4. When the reason to backport is not obvious from the original commit message, use `git cherry-pick -xe <original commit>` and add a reason. Otherwise use `git cherry-pick -x <original commit>`. That's fine for minor version updates that only include security and bug fixes, commits that fixes an otherwise broken package or similar. -5. Push to GitHub and open a backport pull request. Make sure to select the release branch (e.g. `release-20.03`) as the target branch of the pull request, and link to the pull request in which the original change was comitted to `master`. The pull request title should be the commit title with the release version as prefix, e.g. `[20.03]`. +4. When the reason to backport is not obvious from the original commit message, use `git cherry-pick -xe <original commit>` and add a reason. Otherwise use `git cherry-pick -x <original commit>`. That's fine for minor version updates that only include security and bug fixes, commits that fixes an otherwise broken package or similar. Please also ensure the commits exists on the master branch; in the case of squashed or rebased merges, the commit hash will change and the new commits can be found in the merge message at the bottom of the master pull request. +5. Push to GitHub and open a backport pull request. Make sure to select the release branch (e.g. `release-20.09`) as the target branch of the pull request, and link to the pull request in which the original change was comitted to `master`. The pull request title should be the commit title with the release version as prefix, e.g. `[20.09]`. ## Reviewing contributions diff --git a/.github/ISSUE_TEMPLATE/out_of_date_package_report.md b/.github/ISSUE_TEMPLATE/out_of_date_package_report.md new file mode 100644 index 0000000000000..72c09a19c0e67 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/out_of_date_package_report.md @@ -0,0 +1,48 @@ +--- +name: Out-of-date package reports +about: For packages that are out-of-date +title: '' +labels: '9.needs: package (update)' +assignees: '' + +--- + + +###### Checklist + +<!-- Note that these are hard requirements --> + +<!-- +You can use the "Go to file" functionality on github to find the package +Then you can go to the history for this package +Find the latest "package_name: old_version -> new_version" commit +The "new_version" is the the current version of the package +--> +- [ ] Checked the [nixpkgs master branch](https://github.com/NixOS/nixpkgs) +<!-- +Type the name of your package and try to find an open pull request for the package +If you find an open pull request, you can review it! +There's a high chance that you'll have the new version right away while helping the community! +--> +- [ ] Checked the [nixpkgs pull requests](https://github.com/NixOS/nixpkgs/pulls) + +###### Project name +`nix search` name: +<!-- +The current version can be found easily with the same process than above for checking the master branch +If an open PR is present for the package, take this version as the current one and link to the PR +--> +current version: +desired version: + +###### Notify maintainers +<!-- +Search your package here: https://search.nixos.org/packages?channel=unstable +If no maintainer is listed for your package, tag the person that last updated the package +--> + +maintainers: + +###### Note for maintainers + +Please tag this issue in your PR. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 48b84f8c36ce1..ce630e77e940c 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -5,7 +5,7 @@ comment describing what you have tested in the relevant package/service. Reviewing helps to reduce the average time-to-merge for everyone. Thanks a lot if you do! List of open PRs: https://github.com/NixOS/nixpkgs/pulls -Reviewing guidelines: https://hydra.nixos.org/job/nixpkgs/trunk/manual/latest/download/1/nixpkgs/manual.html#chap-reviewing-contributions +Reviewing guidelines: https://nixos.org/manual/nixpkgs/unstable/#chap-reviewing-contributions --> ###### Motivation for this change diff --git a/.github/STALE-BOT.md b/.github/STALE-BOT.md new file mode 100644 index 0000000000000..7b3f013710a8c --- /dev/null +++ b/.github/STALE-BOT.md @@ -0,0 +1,35 @@ +# Stale bot information + +- Thanks for your contribution! +- To remove the stale label, just leave a new comment. +- _How to find the right people to ping?_ → [`git blame`](https://git-scm.com/docs/git-blame) to the rescue! (or GitHub's history and blame buttons.) +- You can always ask for help on [our Discourse Forum](https://discourse.nixos.org/) or on the [#nixos IRC channel](https://webchat.freenode.net/#nixos). + +## Suggestions for PRs + +1. GitHub sometimes doesn't notify people who commented / reviewed a PR previously, when you (force) push commits. If you have addressed the reviews you can [officially ask for a review](https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/requesting-a-pull-request-review) from those who commented to you or anyone else. +2. If it is unfinished but you plan to finish it, please mark it as a draft. +3. If you don't expect to work on it any time soon, closing it with a short comment may encourage someone else to pick up your work. +4. To get things rolling again, rebase the PR against the target branch and address valid comments. +5. If you need a review to move forward, ask in [the Discourse thread for PRs that need help](https://discourse.nixos.org/t/prs-in-distress/3604). +6. If all you need is a merge, check the git history to find and [request reviews](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/requesting-a-pull-request-review) from people who usually merge related contributions. + +## Suggestions for issues + +1. If it is resolved (either for you personally, or in general), please consider closing it. +2. If this might still be an issue, but you are not interested in promoting its resolution, please consider closing it while encouraging others to take over and reopen an issue if they care enough. +3. If you still have interest in resolving it, try to ping somebody who you believe might have an interest in the topic. Consider discussing the problem in [our Discourse Forum](https://discourse.nixos.org/). +4. As with all open source projects, your best option is to submit a Pull Request that addresses this issue. We :heart: this attitude! + +**Memorandum on closing issues** + +Don't be afraid to close an issue that holds valuable information. Closed issues stay in the system for people to search, read, cross-reference, or even reopen--nothing is lost! Closing obsolete issues is an important way to help maintainers focus their time and effort. + +## Useful GitHub search queries + +- [Open PRs with any stale-bot interaction](https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aopen+commenter%3Aapp%2Fstale+) +- [Open PRs with any stale-bot interaction and `2.status: stale`](https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aopen+commenter%3Aapp%2Fstale+label%3A%222.status%3A+stale%22) +- [Open PRs with any stale-bot interaction and NOT `2.status: stale`](https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aopen+commenter%3Aapp%2Fstale+-label%3A%222.status%3A+stale%22+) +- [Open Issues with any stale-bot interaction](https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+commenter%3Aapp%2Fstale+) +- [Open Issues with any stale-bot interaction and `2.status: stale`](https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+commenter%3Aapp%2Fstale+label%3A%222.status%3A+stale%22+) +- [Open Issues with any stale-bot interaction and NOT `2.status: stale`](https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+commenter%3Aapp%2Fstale+-label%3A%222.status%3A+stale%22+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 5ace4600a1f26..0000000000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,6 +0,0 @@ -version: 2 -updates: - - package-ecosystem: "github-actions" - directory: "/" - schedule: - interval: "weekly" diff --git a/.github/stale.yml b/.github/stale.yml index 606d5637cc57a..b5e6ec93baf9f 100644 --- a/.github/stale.yml +++ b/.github/stale.yml @@ -1,41 +1,10 @@ # Configuration for probot-stale - https://github.com/probot/stale -# Number of days of inactivity before an issue becomes stale daysUntilStale: 180 -# Number of days of inactivity before a stale issue is closed daysUntilClose: false -# Issues with these labels will never be considered stale exemptLabels: - "1.severity: security" -# Label to use when marking an issue as stale + - "2.status: never-stale" staleLabel: "2.status: stale" -# Comment to post when marking an issue as stale. Set to `false` to disable -pulls: - markComment: | - Hello, I'm a bot and I thank you in the name of the community for your contributions. - - Nixpkgs is a busy repository, and unfortunately sometimes PRs get left behind for too long. Nevertheless, we'd like to help committers reach the PRs that are still important. This PR has had no activity for 180 days, and so I marked it as stale, but you can rest assured it will never be closed by a non-human. - - If this is still important to you and you'd like to remove the stale label, we ask that you leave a comment. Your comment can be as simple as "still important to me". But there's a bit more you can do: - - If you received an approval by an unprivileged maintainer and you are just waiting for a merge, you can @ mention someone with merge permissions and ask them to help. You might be able to find someone relevant by using [Git blame](https://git-scm.com/docs/git-blame) on the relevant files, or via [GitHub's web interface](https://docs.github.com/en/github/managing-files-in-a-repository/tracking-changes-in-a-file). You can see if someone's a member of the [nixpkgs-committers](https://github.com/orgs/NixOS/teams/nixpkgs-committers) team, by hovering with the mouse over their username on the web interface, or by searching them directly on [the list](https://github.com/orgs/NixOS/teams/nixpkgs-committers). - - If your PR wasn't reviewed at all, it might help to find someone who's perhaps a user of the package or module you are changing, or alternatively, ask once more for a review by the maintainer of the package/module this is about. If you don't know any, you can use [Git blame](https://git-scm.com/docs/git-blame) on the relevant files, or [GitHub's web interface](https://docs.github.com/en/github/managing-files-in-a-repository/tracking-changes-in-a-file) to find someone who touched the relevant files in the past. - - If your PR has had reviews and nevertheless got stale, make sure you've responded to all of the reviewer's requests / questions. Usually when PR authors show responsibility and dedication, reviewers (privileged or not) show dedication as well. If you've pushed a change, it's possible the reviewer wasn't notified about your push via email, so you can always [officially request them for a review](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/requesting-a-pull-request-review), or just @ mention them and say you've addressed their comments. - - Lastly, you can always ask for help at [our Discourse Forum](https://discourse.nixos.org/), or more specifically, [at this thread](https://discourse.nixos.org/t/prs-in-distress/3604) or at [#nixos' IRC channel](https://webchat.freenode.net/#nixos). - -issues: - markComment: | - Hello, I'm a bot and I thank you in the name of the community for opening this issue. - - To help our human contributors focus on the most-relevant reports, I check up on old issues to see if they're still relevant. This issue has had no activity for 180 days, and so I marked it as stale, but you can rest assured it will never be closed by a non-human. - - The community would appreciate your effort in checking if the issue is still valid. If it isn't, please close it. - - If the issue persists, and you'd like to remove the stale label, you simply need to leave a comment. Your comment can be as simple as "still important to me". If you'd like it to get more attention, you can ask for help by searching for maintainers and people that previously touched related code and @ mention them in a comment. You can use [Git blame](https://git-scm.com/docs/git-blame) or [GitHub's web interface](https://docs.github.com/en/github/managing-files-in-a-repository/tracking-changes-in-a-file) on the relevant files to find them. - - Lastly, you can always ask for help at [our Discourse Forum](https://discourse.nixos.org/) or at [#nixos' IRC channel](https://webchat.freenode.net/#nixos). - -# Comment to post when closing a stale issue. Set to `false` to disable +markComment: | + I marked this as stale due to inactivity. → [More info](https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md) closeComment: false diff --git a/.github/workflows/editorconfig.yml b/.github/workflows/editorconfig.yml index 21532a0ded6dc..be7a4ba02b61f 100644 --- a/.github/workflows/editorconfig.yml +++ b/.github/workflows/editorconfig.yml @@ -2,6 +2,8 @@ name: "Checking EditorConfig" on: pull_request: + branches-ignore: + - 'release-**' jobs: tests: @@ -10,18 +12,18 @@ jobs: - uses: actions/checkout@v2 with: fetch-depth: 0 - - uses: technote-space/get-diff-action@v2.0.3 - - name: fetch editorconfig-checker + - uses: technote-space/get-diff-action@v4.0.0 + - name: Fetch editorconfig-checker + if: env.GIT_DIFF env: - VERSION: "2.1.0" - OS: "linux" - ARCH: "amd64" + ECC_VERSION: "2.2.0" ECC_URL: "https://github.com/editorconfig-checker/editorconfig-checker/releases/download" run: | - curl -sSf -O -L -C - $ECC_URL/$VERSION/ec-$OS-$ARCH.tar.gz && \ - tar xzf ec-$OS-$ARCH.tar.gz && \ - mv ./bin/ec-$OS-$ARCH ./bin/editorconfig-checker + curl -sSf -O -L -C - "$ECC_URL/$ECC_VERSION/ec-linux-amd64.tar.gz" && \ + tar xzf ec-linux-amd64.tar.gz && \ + mv ./bin/ec-linux-amd64 ./bin/editorconfig-checker - name: Checking EditorConfig + if: env.GIT_DIFF run: | - ./bin/editorconfig-checker -disable-indentation \ + ./bin/editorconfig-checker -disable-indent-size \ ${{ env.GIT_DIFF }} diff --git a/.github/workflows/merge-staging.yml b/.github/workflows/merge-staging.yml new file mode 100644 index 0000000000000..1aadef16328a5 --- /dev/null +++ b/.github/workflows/merge-staging.yml @@ -0,0 +1,39 @@ +name: "merge staging(-next)" + +on: + schedule: + # * is a special character in YAML so you have to quote this string + # Merge every 6 hours + - cron: '0 */6 * * *' + +jobs: + sync-branch: + if: github.repository == 'NixOS/nixpkgs' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Merge master into staging-next + uses: devmasx/merge-branch@v1.3.1 + with: + type: now + from_branch: master + target_branch: staging-next + github_token: ${{ secrets.GITHUB_TOKEN }} + + - name: Merge staging-next into staging + uses: devmasx/merge-branch@v1.3.1 + with: + type: now + from_branch: staging-next + target_branch: staging + github_token: ${{ secrets.GITHUB_TOKEN }} + + - name: Comment on failure + uses: peter-evans/create-or-update-comment@v1 + if: ${{ failure() }} + with: + issue-number: 105153 + body: | + An automatic merge [failed](https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }}). + diff --git a/.github/workflows/pending-clear.yml b/.github/workflows/pending-clear.yml new file mode 100644 index 0000000000000..d06b1e2143f12 --- /dev/null +++ b/.github/workflows/pending-clear.yml @@ -0,0 +1,21 @@ +name: "clear pending status" + +on: + check_suite: + types: [ completed ] + +jobs: + action: + runs-on: ubuntu-latest + steps: + - name: clear pending status + if: github.repository_owner == 'NixOS' && github.event.check_suite.app.name == 'OfBorg' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + curl \ + -X POST \ + -H "Accept: application/vnd.github.v3+json" \ + -H "Authorization: token $GITHUB_TOKEN" \ + -d '{"state": "success", "target_url": " ", "description": " ", "context": "Wait for ofborg"}' \ + "https://api.github.com/repos/NixOS/nixpkgs/statuses/${{ github.event.check_suite.head_sha }}" diff --git a/.github/workflows/pending-set.yml b/.github/workflows/pending-set.yml new file mode 100644 index 0000000000000..f59ac9439eacc --- /dev/null +++ b/.github/workflows/pending-set.yml @@ -0,0 +1,20 @@ +name: "set pending status" + +on: + pull_request_target: + +jobs: + action: + runs-on: ubuntu-latest + steps: + - name: set pending status + if: github.repository_owner == 'NixOS' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + curl \ + -X POST \ + -H "Accept: application/vnd.github.v3+json" \ + -H "Authorization: token $GITHUB_TOKEN" \ + -d '{"state": "failure", "target_url": " ", "description": "This failed status will be cleared when ofborg finishes eval.", "context": "Wait for ofborg"}' \ + "https://api.github.com/repos/NixOS/nixpkgs/statuses/${{ github.event.pull_request.head.sha }}" diff --git a/.github/workflows/wait-ofborg.yml b/.github/workflows/wait-ofborg.yml deleted file mode 100644 index 3b40586fc27eb..0000000000000 --- a/.github/workflows/wait-ofborg.yml +++ /dev/null @@ -1,36 +0,0 @@ -name: "Wait for ofborg" -on: - pull_request: -jobs: - tests: - runs-on: ubuntu-latest - steps: - - name: Wait for ofborg CI - run: | - # eval sometimes takes a bit longer on staging. - if [[ "$BASE_BRANCH" == "refs/heads/staging" ]]; then - COUNTDOWN=$((COUNTDOWN*2)) - fi - # ..in future a better fix would be to make ofborg mark CI as pending right away. - for i in $(seq "$COUNTDOWN"); do - res=$(curl --silent \ - -H "Accept: application/vnd.github.antiope-preview+json" \ - -H "Authorization: token ${GITHUB_TOKEN}" \ - "https://api.github.com/repos/NixOS/nixpkgs/commits/${COMMIT}/check-runs" | \ - jq ".check_runs | map(.app) | map(.id) | contains([${OFBORG_APP_ID}])") - if [[ "$res" == "true" ]]; then - exit 0 - fi - sleep 5 - echo "." - done - echo "Timeout!" - exit 1 - # ofborg is not checking forks. - if: github.repository_owner == 'NixOS' - env: - BASE_BRANCH: ${{ github.base_ref }} - COUNTDOWN: 360 # wait for ~30min... - GITHUB_TOKEN: ${{ github.token }} - COMMIT: ${{ github.event.pull_request.head.sha }} - OFBORG_APP_ID: 20500 |