This commit introduces three new scripts:
- `release.sh` To be run by a user on their local machine to preview and
create a new release (tag + push)
- `check_commit_metadata.sh` For e.g. detecting breaking changes
- `genereate_release_notes.sh` To display the generated release notes,
used for previews and in `publish_release.sh`
The `release.sh` script can be run without arguments, and it will
automatically determine if we're to do a patch or minor release. A minor
release can be forced via `--minor` flag.
Breaking changes can be annotated either via commit/merge title prefix
(`feat!:`, `feat(api)!:`), or by adding the `release/breaking` label to
the PR that was merged (on GitHub).
Related #5233
Our Windows test-runner often takes close to 3m to complete the test,
this was producing a few false failures due to us adding tests over time
and test times increasing.
* chore: Close idle connections on test cleanup
It's possible that this was the source of a leak on Windows...
* ci: use big runners
* fix: Improve tailnet connections by reducing timeouts
This awaits connection ping before running a dial. Before,
we were hitting the TCP retransmission and handshake timeouts,
which could intermittently add 1 or 5 seconds to a connection
being initialized.
* Add logging to Startupscript test
* Add better logging
* Write startup script logs to fs dir
* Fix startup script test
* Fix startup script test
* Reduce test timeout
* Use central tmp dir in agent
* Adjust output
* Skip startup script test on Windows
Co-authored-by: Kyle Carberry <kyle@carberry.com>
* feat: add doas support
Some people may have some reason to drop sudo and switch to doas
* chore: doas at the end
Just because it is relatively cold :-(
Co-authored-by: Kyle Carberry <kyle@carberry.com>
* chore(CI): add doas to pass CI
* fix syntax error
Co-authored-by: Kyle Carberry <kyle@carberry.com>
Co-authored-by: Ben <me@bpmct.net>
* reword: chore: add CI to dogfood template
* use hardcoded URL
* use consistent name for tokens
* chore: add docs for template change management
* add an example
* fix case
* refactor(ci): only run ts jobs on ts changes
This modifies the `style-lint-typescript` and `test-js` jobs to only run
when there are changes in `site`.
* refactor(ci): only run lint-shellcheck on sh changes
* refactor(ci): only run go jobs on go changes
* refactor(ci): only run style-fmt when needed
This adds a new item to `changes` for `**.tf` changes. Now it will only
run `style-fmt` if PR includes changes to `site/**`, `**.tf`, or
`**.ts`.
* refactor(ci): run e2e on go, ts or tf changes
* refactor(ci): run gen on gen changes
* refactor(ci): delete old comments
* fixup: try moving if step inside test-go job
* fixup: try if all steps
* fixup!: refactor(ci): run gen on gen changes
* Revert "refactor(ci): run gen on gen changes"
This reverts commit d0a5ba1c4b.