So, with the initial transfer for #19 out of the way, this PR is intended to make some changes to contribution and the release process, some of them discussed in #20 with @purcell.
Laundry list of changes in this PR:
CODEOWNERS updated to the nix-community/nix-ts-mode team, and not just myself
PR title validation removed as a requirement. I do still like the conventional commit spec, and I'd prefer it to unreadable commit messages, but the NO-ISSUE cruft is a real concern. At the very least I'd like to eliminate the NO-ISSUE/issue number requirement but still require conventional spec type.
With PR title validation removed, automatic versioning doesn't make sense (and never really did with a repo of this size). Automatic versioning actions are replaced with simple release and changelog generation actions caused by version tagging events.
Enable Dependabot version updating for Github Actions, to keep them up to date
Deduplicate the lint/test actions to use on trunk after appropriate commits and repoint the status badge in the README to the correct repo
Open questions I have for discussion:
How do we want to restrict release tagging? Currently, the action in this PR will generate a changelog and release off of any tag. Obviously anyone in the nix-ts-mode team in theory will have permissions to push whatever tags. Do we want to restrict releasing to tags matching a semantic version (i.e. v.XX.XX.XX) exactly, which would leave room for tags for other uses? Do we really even care given how low traffic this repo is right now?
EDIT: It occurs to me that we could easily use protected tag patterns for this - protect semver tags for individuals with release permissions, and that should solve the problem rather nicely
Looks like other projects in nix-community tend to use Renovate rather than Dependabot - I prefer renovate myself, but did dependabot initially as it's arguably less configuration. Any preference folks have?
So, with the initial transfer for #19 out of the way, this PR is intended to make some changes to contribution and the release process, some of them discussed in #20 with @purcell.
Laundry list of changes in this PR:
CODEOWNERS
updated to thenix-community/nix-ts-mode
team, and not just myselfPR title validation removed as a requirement. I do still like the conventional commit spec, and I'd prefer it to unreadable commit messages, but the
NO-ISSUE
cruft is a real concern. At the very least I'd like to eliminate theNO-ISSUE
/issue number requirement but still require conventional spec type.With PR title validation removed, automatic versioning doesn't make sense (and never really did with a repo of this size). Automatic versioning actions are replaced with simple release and changelog generation actions caused by version tagging events.
Enable Dependabot version updating for Github Actions, to keep them up to date
Deduplicate the lint/test actions to use on
trunk
after appropriate commits and repoint the status badge in theREADME
to the correct repoOpen questions I have for discussion:
How do we want to restrict release tagging? Currently, the action in this PR will generate a changelog and release off of any tag. Obviously anyone in the
nix-ts-mode
team in theory will have permissions to push whatever tags. Do we want to restrict releasing to tags matching a semantic version (i.e.v.XX.XX.XX
) exactly, which would leave room for tags for other uses? Do we really even care given how low traffic this repo is right now?EDIT: It occurs to me that we could easily use protected tag patterns for this - protect semver tags for individuals with release permissions, and that should solve the problem rather nicely
Looks like other projects in
nix-community
tend to use Renovate rather than Dependabot - I prefer renovate myself, but did dependabot initially as it's arguably less configuration. Any preference folks have?