Commit graph

60 commits

Author SHA1 Message Date
Matt Sturgeon
2b2b1e6d8f ci: rename update-scriptsci
This changes how we think about this directory; it does not need to be
exclusively for scripts related to updates, but should be a place for
any scripts intended to be run by CI workflows.

This mindset should make it easier to develop and test the business
logic of workflows, without always needing to test "in production" on
the nixvim repo or a fork.
2025-06-15 21:23:58 +00:00
Matt Sturgeon
80934be3e9
ci/update: fix how 're-apply' finds the 'base' commit
We need to look for a commit authored by `nixvim-ci[bot]`,
not `github-actions[bot]`.
2025-06-03 10:22:09 +01:00
Matt Sturgeon
2d60548ab1
ci/update: cleanup how we get nixvim-ci's user-info
Get id, name, & email in a single `user-info` step.
2025-06-03 10:22:09 +01:00
Matt Sturgeon
ad7e489aa1
ci/update: use nix-community GitHub App 2025-05-23 19:49:03 +01:00
Matt Sturgeon
132c1611f6
update-scripts: move update logic from CI to dedicated script 2025-05-22 21:27:21 +01:00
Matt Sturgeon
8e732cfac1
flake/dev: rename nixpkgs input to avoid shadowing
Rename `inputs.nixpkgs` to `inputs.dev-nixpkgs` to avoid shadowing the
root flake's `inputs.nixpkgs`.

Having the dev flake shadow an input can be confusing, since overriding
the root flake's input will have no effect when evaluating outputs that
depend on the dev partition.

The only reason we specify a `nixpkgs` input at all here, is so the
other inputs can follow it.

Once nix 2.26 is more prevalent, we can follow the root flake's inputs
using a `"path:../.."` input.
2025-03-28 04:41:55 +00:00
dependabot[bot]
3a3abf1170
ci: bump cachix/install-nix-action from 30 to 31
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 30 to 31.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v30...v31)

---
updated-dependencies:
- dependency-name: cachix/install-nix-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-11 16:04:21 +00:00
Matt Sturgeon
53f9d242ff
ci/update: link to workflow run in PR body 2025-02-24 21:26:33 +00:00
Matt Sturgeon
5cd74b54ad
ci/update: document how to re-update in PR body 2025-02-24 21:26:32 +00:00
Matt Sturgeon
723630ca40
ci/update: write PR body dynamically 2025-02-24 21:24:12 +00:00
Matt Sturgeon
4b0de83c39
ci/update: drop empty commits on re-apply 2025-02-24 16:04:29 +00:00
Matt Sturgeon
05981008b7
ci/update: fix inputs.nixpkgs.rev eval
Need to use raw output to avoid having a quoted string, otherwise we end
up with a malformed flakeref:

error: in URL 'github:NixOS/nixpkgs/"2d068ae5c6516b2d04562de50a58c682540de9bf"',
'"2d068ae5c6516b2d04562de50a58c682540de9bf"' is not a commit hash or branch/tag name
2025-02-24 13:06:38 +00:00
Matt Sturgeon
6d10fc0c87
flake: partition dev dependencies
This removes the need for end-users to manually set
`nixvim.inputs.devshell.follows = ""` (etc)

We offload evaluation of some of our flake modules into a `dev`
partition submodule.
- When its not needed, this submodule is not evaluated.
- When it is needed, it fetches extra inputs from `flake/dev/flake.nix`
  as part of evaluating the submodule.

See https://flake.parts/options/flake-parts-partitions.html
2025-02-23 17:23:57 +00:00
Matt Sturgeon
5281e8c583
ci/update: allow disabling re-applying commits
Most of the time we want to re-apply "manual"/"additional" commits from
the already open PR, however it is possible we may wish to run the CI
without doing so.

Add an on-by-default tickbox to toggle the `re_apply` step.
2025-02-05 17:06:17 +00:00
Matt Sturgeon
61fdbe2647
ci/update: fix re-apply commit order
We need to reverse the `rev-list` output so that the commits are
re-applied in the correct order; oldest first.
2025-02-05 16:51:58 +00:00
Matt Sturgeon
93df574b42
ci/update: fix create pr step not having $pr_num 2025-01-30 21:24:32 +00:00
Matt Sturgeon
7f5dc96b83
ci/update: re-apply manual commits from open PR
Instead of comparing the nixpkgs input revision, we can re-apply any
manually committed changes and then check if any files are different
before pushing.
2025-01-30 21:24:25 +00:00
Matt Sturgeon
f9904d22df
ci/update: don't request review on the PR
@github-actions[bot] doesn't have access to nix-community teams, so it
can't request @nix-community/nixvim review the PR.
2025-01-30 19:20:44 +00:00
Matt Sturgeon
f028201847
ci/update: don't assign a team to the PR
Only users can be assigned to PRs, not teams.
2025-01-30 19:01:46 +00:00
Matt Sturgeon
8bf206eb75
ci/update: drop dependency on peter-evans/create-pull-request
We can create/update PRs using the `gh pr` command, no need for a third
party dependency.
2025-01-30 18:04:58 +00:00
Matt Sturgeon
bffee37f57
ci/update: use if then else for setting cancelled step output
The simpler `[[ ]] &&` construct can exit non-zero, causing the workflow
to fail.
2025-01-30 15:57:24 +00:00
Matt Sturgeon
818c2906e9
ci/update: cleanup summary step 2025-01-28 13:52:08 +00:00
Matt Sturgeon
62a0dfbe5d
ci/update: cancel gracefully
Cancelling via `exit 1` will mark the workflow as "failed". Instead we
can write a `cancelled` step output and have all the following steps
be conditional.
2025-01-28 13:52:07 +00:00
Matt Sturgeon
4652e38ee6
ci/update: add input checkbox for checking nixpkgs was bumped
This is done by default when scheduled, but can be explicitly enabled
when running manually.
2025-01-28 13:01:50 +00:00
Matt Sturgeon
c3d95240c4
ci/update: check against base branch if no PR is open 2025-01-28 13:01:20 +00:00
Matt Sturgeon
5fda6e093d
ci/update: slightly cleanup cancellation summary 2025-01-24 19:39:01 +00:00
Matt Sturgeon
0b6be86756
ci/update: fix graphql formatting 2025-01-24 16:48:08 +00:00
Matt Sturgeon
f4ba44225e
ci/update: slightly simplify jq query 2025-01-24 16:48:07 +00:00
Matt Sturgeon
bd3184f495
ci/update: check whether a PR is already open 2025-01-24 16:24:35 +00:00
Matt Sturgeon
85bef9e191
ci/update: fix getFlake expecting an absolute path
Pass in `$PWD` instead of `.`, because `builtins.getFlake` does not
permit relative paths.
2025-01-23 14:58:47 +00:00
Matt Sturgeon
7dc67410bb
ci/update: cancel scheduled runs that don't bump nixpkgs
This should help mitigate spammy force-pushes that don't actually update
the nixpkgs input.

This only affects _scheduled_ runs. Manually triggered updates will
always force-push to the update branch.
2025-01-23 02:54:11 +00:00
Matt Sturgeon
a2a4befdaf
ci/update: cleanup names & comments 2025-01-22 20:49:50 +00:00
Matt Sturgeon
6046ad79f0
ci/update: schedule main branch daily, other branches weekly
Split scheduling other branches into a dedicated workflow. The main
update workflow is no longer responsible for triggering the workflow on
_other_ branches.
2025-01-22 20:15:57 +00:00
Gaetan Lepage
1036b8f8b6 ci/update: remove nixos-24.05 update action 2025-01-20 07:16:02 +00:00
Matt Sturgeon
cf647bc045
ci: drop 24.05 support 2025-01-19 10:32:11 +00:00
Gaetan Lepage
880a570588 ci: add support for new stable nixos-24.11 branch 2024-11-30 23:33:30 +01:00
Matt Sturgeon
c1271fa10a
ci: fix nix-install-action versions
`30` -> `v30` 😭
2024-11-22 22:37:05 +00:00
Matt Sturgeon
fb49a740f8
ci: bump nix-install-action 2024-11-22 21:21:36 +00:00
Austin Horstman
78fc4be6a8
workflows/update: only run upstream 2024-08-17 14:44:48 -05:00
Matt Sturgeon
83a8109ec4
ci/update: make steps optional
Allow toggling off the flake.lock or generate files steps.
2024-08-03 21:56:41 +01:00
Matt Sturgeon
d3cb750e6a
update-scripts: move out of flake
See the explanation in the new update-scripts/README.md file.
2024-08-03 21:56:40 +01:00
Matt Sturgeon
b9ed900032
github/update: remove broken team-reviewers
> Unable to request reviewers.
> If requesting team reviewers a 'repo' scoped PAT is required.
2024-07-15 12:17:30 +01:00
Matt Sturgeon
cff06c8570
github/update: improve summary for generated files 2024-07-15 12:11:28 +01:00
Matt Sturgeon
bd1dddaf50
github/update: run update on the respective branch
- Run the `update.yml` workflow on the triggered branch, replace the
  job matrix with a conditional step that runs update on nixos-24.05.
- Added a `cancel-in-progress` concurrency group.
- Disabled committing in PR action (using negative add-paths).
2024-07-15 12:11:27 +01:00
Matt Sturgeon
abc409c16f
github: refactor update CI workflow
- Rename workflow to simply "update"
- Drop the DeterminateSystems/update-flake-lock action
- Instead use `nix flake update --commit-lock-file`
- Also use `generate-files`'s `--commit` option
- Use peter-evans/create-pull-request to open a PR
2024-07-10 08:30:47 +01:00
Matt Sturgeon
aad2e32b5a treewide: reformat 2024-07-08 16:24:47 +00:00
traxys
668894b6d3 github: Re-generate the files on updates 2024-07-05 13:34:44 +02:00
Gaetan Lepage
f1289fadee misc/post-release 24.05: update workflows 2024-06-06 14:46:34 +02:00
traxys
9697385115 actions: Update both stable & unstable flake.lock 2024-05-26 20:03:51 +02:00
Gaetan Lepage
7dae5228f1 ci/update: update actions to latest versions 2024-03-23 14:18:25 +01:00