Commit graph

137 commits

Author SHA1 Message Date
Matt Sturgeon
aef7b53979 docs: add status to beta/deprecated version links
Some checks are pending
Publish every Git push to main to FlakeHub / flakehub-publish (push) Waiting to run
Publish every git push to Flakestry / publish-flake (push) Waiting to run
Documentation / Version info (push) Waiting to run
Documentation / Build (push) Blocked by required conditions
Documentation / Combine builds (push) Blocked by required conditions
Documentation / Deploy (push) Blocked by required conditions
2025-06-17 23:51:07 +00:00
Matt Sturgeon
b4750c4696 ci/docs: fix base-href in matrix
For some reason, when updating `base-href` using `+=`, yq updates _all_
entries matching the LHS selection. This means that all non-main
branches get `"base-href": "/nixvim/24.11/"` in the job matrix.

This gets passed in as an overridden attr when building the docs, and is
used to determine which list item represents the currently-being-built
docs; therefore both 25.05 and 24.11 think they are 24.11...

For some reason, while `+=` does this, `=` does not. So switched to
using that.
2025-06-17 19:12:50 +00:00
Matt Sturgeon
ab0a3682cc ci/docs: use version-info.toml
Some checks are pending
Publish every Git push to main to FlakeHub / flakehub-publish (push) Waiting to run
Publish every git push to Flakestry / publish-flake (push) Waiting to run
Documentation / Version info (push) Waiting to run
Documentation / Build (push) Blocked by required conditions
Documentation / Combine builds (push) Blocked by required conditions
Documentation / Deploy (push) Blocked by required conditions
2025-06-16 20:29:13 +00:00
Matt Sturgeon
95957f306b ci/docs: fix build ref
Some checks are pending
Publish every Git push to main to FlakeHub / flakehub-publish (push) Waiting to run
Publish every git push to Flakestry / publish-flake (push) Waiting to run
Documentation / Build unstable (push) Waiting to run
Documentation / Build 24.11 (push) Waiting to run
Documentation / Build 25.05 (push) Waiting to run
Documentation / Combine builds (push) Blocked by required conditions
Documentation / Deploy (push) Blocked by required conditions
Fix typo `inputs.ref` → `matrix.ref`.

This caused an empty string to be assigned to the checkout action's
`ref` input, meaning it used its default value `github.ref`.

Therefore all "versions" of the docs were actually building `main` 😂

Instead, we actually want to checkout the ref from the job's `matrix`.
2025-06-16 00:11:43 +00:00
Matt Sturgeon
7176d51a34 ci/docs: run non-build jobs on ARM
This may be marginally slower, but should be more efficient.

Continue using x86 for the main build as it will be faster.
2025-06-15 21:24:10 +00:00
Matt Sturgeon
40bf948e0e ci/docs: extract action & refactor workflow
Extract the "build" part of building & deploying the docs website into a
`build-docs` composite action.

Refactor the workflow to use a matrix job strategy; allowing each branch
to be built in parallel and in isolation.

In a subsequent job, we combine the builds into a single artifact.
2025-06-15 21:24:10 +00:00
Matt Sturgeon
91ecff36b6 ci/docs: rename workflow 2025-06-15 21:24:10 +00:00
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
18d838e889 ci/update-other: disable fail-fast matrix strategy
Some checks failed
Build and deploy documentation / deploy (push) Has been cancelled
Publish every Git push to main to FlakeHub / flakehub-publish (push) Has been cancelled
Publish every git push to Flakestry / publish-flake (push) Has been cancelled
This means all updates will be attempted, even if one fails;
E.g. the branch doesn't exist yet.
2025-06-12 20:57:50 +00:00
Matt Sturgeon
d9a4a56dcf ci/update-other: generate branch list from version-info
Uses a sparse-checkout to download only the `version-info.toml` file,
then uses the `yq-go` action to extract the "other" branches as a JSON
array.
2025-06-12 20:57:50 +00:00
Matt Sturgeon
7e02029af6 ci/update-other: move branch list to a prepare job 2025-06-12 20:57:50 +00:00
Matt Sturgeon
b5e0ed67fe ci/update-other: explicitly set contents: read permission 2025-06-12 20:57:50 +00:00
Matt Sturgeon
7f10688fe1 ci/update-other: tweak names 2025-06-12 20:57:50 +00:00
Matt Sturgeon
1b02a2eb86 ci/update-other: run on ARM 2025-06-12 20:57:50 +00:00
Matt Sturgeon
64f0d3c86a ci/mergify: drop
We no longer use mergify, so drop the config file.
2025-06-11 12:23:11 +00:00
Matt Sturgeon
635a9e770f ci/flakestry-publish-rolling: add workflow name 2025-06-05 07:16:48 +00:00
Matt Sturgeon
3085f86473 ci/flakehub-publish-rolling: use context for repo name 2025-06-05 07:16:48 +00:00
Matt Sturgeon
64dea7008f ci: check repo before running publish jobs 2025-06-05 07:16:48 +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
8b3a69cfea
ci/backport: init
Adds a GitHub workflow to create backport PRs when merged PRs have a
"backport" label.

Based on the workflow used by nixpkgs:
2566f9dc/.github/workflows/backport.yml
2025-05-30 01:20:05 +01:00
Gaetan Lepage
f80d8d5907 ci/docs: build documentation for the nixos-25.05 branch 2025-05-24 18:35:23 +10:00
Matt Sturgeon
e3f4a57fb8
docs/mdbook: install directly to $out
This fixes a regression introduced by https://github.com/nix-community/nixvim/pull/3349
2025-05-23 21:50:22 +01:00
Matt Sturgeon
d88fde1899
ci/update-other: trigger updates for 25.05 2025-05-23 20:32:58 +01:00
Matt Sturgeon
ad7e489aa1
ci/update: use nix-community GitHub App 2025-05-23 19:49:03 +01:00
Matt Sturgeon
fb2d007f95
ci/update-other: don't run on forks 2025-05-23 18:59:43 +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
Gaetan Lepage
268c2680a3 ci: add dependabot and track github-actions dependencies 2025-03-11 16:51:06 +01:00
Gaetan Lepage
bc34099731 ci/documentation: bump cachix action to v16 2025-03-10 21:17:13 +01: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
30c2292b29
ci/update-other: use a job matrix
This will allow us to add/remove other branches to schedule updates for
more easily.
2025-01-25 18:42:17 +00:00