diff --git a/.github/workflows/local-auto-merge.yml b/.github/workflows/local-auto-merge.yml index e5db6ea..7887802 100644 --- a/.github/workflows/local-auto-merge.yml +++ b/.github/workflows/local-auto-merge.yml @@ -1,4 +1,4 @@ -name: Dependabot auto-merge +name: Dependabot auto-merge [Test only] permissions: contents: read diff --git a/.github/workflows/local-bump-release.yml b/.github/workflows/local-bump-release.yml index d00136b..62ac9a7 100644 --- a/.github/workflows/local-bump-release.yml +++ b/.github/workflows/local-bump-release.yml @@ -1,4 +1,4 @@ -name: Bump Release +name: Bump Release [Test only] permissions: contents: read diff --git a/.github/workflows/local-codeql.yml b/.github/workflows/local-codeql.yml index 264b152..697d88d 100644 --- a/.github/workflows/local-codeql.yml +++ b/.github/workflows/local-codeql.yml @@ -1,4 +1,4 @@ -name: "CodeQL" +name: CodeQL [Test only] on: push: diff --git a/.github/workflows/local-contributors.yml b/.github/workflows/local-contributors.yml index 41c731e..095532d 100644 --- a/.github/workflows/local-contributors.yml +++ b/.github/workflows/local-contributors.yml @@ -1,4 +1,4 @@ -name: Contributors +name: Contributors [Test only] on: schedule: diff --git a/.github/workflows/local-go-test.yml b/.github/workflows/local-go-test.yml index 8972a7a..4eeb91f 100644 --- a/.github/workflows/local-go-test.yml +++ b/.github/workflows/local-go-test.yml @@ -1,4 +1,4 @@ -name: go test +name: go test [Test only] permissions: pull-requests: read diff --git a/.github/workflows/local-release.yml b/.github/workflows/local-release.yml index fbe6f16..526a994 100644 --- a/.github/workflows/local-release.yml +++ b/.github/workflows/local-release.yml @@ -1,4 +1,4 @@ -name: Release +name: Release [Test only] on: push: diff --git a/.github/workflows/local-scanner.yml b/.github/workflows/local-scanner.yml index 746a658..86ad071 100644 --- a/.github/workflows/local-scanner.yml +++ b/.github/workflows/local-scanner.yml @@ -1,4 +1,4 @@ -name: Vulnerability scans +name: Vulnerability scans [Test only] on: branch_protection_rule: diff --git a/.github/workflows/local-tag-release.yml b/.github/workflows/local-tag-release.yml index e61b58a..80b2746 100644 --- a/.github/workflows/local-tag-release.yml +++ b/.github/workflows/local-tag-release.yml @@ -1,4 +1,4 @@ -name: Release on tag +name: Release on tag [Test only] permissions: contents: read diff --git a/README.md b/README.md index 0395875..516d78d 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,12 @@ Development is active. We are regularly adding more shared workflows to standard > NOTE: at this moment, it is difficult to share the configurations for dependabot and golangci-lint, > so these are not shared yet. +## Example + +`go-test.yml` + +![go-test workflow](./docs/images/go-test.png) + ## Basic usage You reuse a workflow like so: @@ -142,6 +148,7 @@ This content ships under the [SPDX-License-Identifier: Apache-2.0](./LICENSE). * [Contributing guidelines](.github/CONTRIBUTING.md) * [Maintainers documentation](docs/MAINTAINERS.md) * [Code style](docs/STYLE.md) +* [Roadmap](docs/ROADMAP.md) ## Cutting a new release @@ -152,44 +159,6 @@ Maintainers can cut a new release by either: * signed tags are preferred * The tag message is prepended to release notes -## Contemplated enhancements - -Most urgent: - -* [ ] mono-repo test -* [ ] mono-repo release - -In no particular order: - -* [x] ui: enrich github actions UI with a job summary -* [x] introduce config file specific checkout (markdownlint, spellcheck) -* [x] security: separate PR / issue comments as a trusted bot workflow, acting on request artifacts -* [x] version common workflows, so we can limit the impact of a change -* [ ] build: verify that go.sum cache for tests works (should be enabled) -* [ ] share mono repo workflows (see github.com/go-openapi/swag/.github/workflows) -* [ ] lint: manage somehow to share golangci config (with local merge) -* [ ] dependencies: manage somehow to share / replicate dependabot config -* [ ] lint: golangci-lint: check valid PR comments etc -* [ ] lint: use non-blocking, scheduled, proactive full linting to check for - the impact of new linters, new go versions etc -* [ ] doc: (possibility) take over hugo & doc gen part from go-swagger -* [ ] (possibility) take over release part from go-swagger -* [ ] doc: produce hugo github page with all latest tagged versions - (incl. mono repo) -* [ ] add bot to filter PRs, issues -* [ ] check with github API that all repo settings (branch protection rules, etc) - are identical -* [ ] comment PRs and issues -* [ ] doc: checkout vale style-check guide (vale-action exists) -* [x] ~doc: experiment LanguageTool for grammar checks ( -> a github action / docker image exists)~ -* [ ] doc: experiment LLM from github model, using embeddings ( -> -* [ ] issues: experiment LLM from github model, using embeddings ( -> show related issues) -* [ ] github pages w/ hugo (like go-swagger, experiment another theme and json data) - -To be reworked: -* [ ] doc: add markdown linting for docs -* [ ] doc: add spellcheck for docs (and code?) - [test-badge]: https://github.com/go-openapi/ci-workflows/actions/workflows/local-go-test.yml/badge.svg [test-url]: https://github.com/go-openapi/ci-workflows/actions/workflows/local-go-test.yml diff --git a/docs/MAINTAINERS.md b/docs/MAINTAINERS.md index 0c73976..c84bb0a 100644 --- a/docs/MAINTAINERS.md +++ b/docs/MAINTAINERS.md @@ -148,10 +148,10 @@ Reference documentation (released): A few things remain ahead to ease a bit a maintainer's job: -* reuse CI workflows (e.g. in `github.com/go-openapi/workflows`) -* reusable actions with custom tools pinned (e.g. in `github.com/go-openapi/gh-actions`) +* [x] reuse CI workflows (e.g. in `github.com/go-openapi/workflows`) +* [x] reusable actions with custom tools pinned (e.g. in `github.com/go-openapi/gh-actions`) +* [x] auto-merge for CONTRIBUTORS.md (requires a github app to produce tokens) * open-source license checks -* auto-merge for CONTRIBUTORS.md (requires a github app to produce tokens) -* more automated code renovation / relinting work (possibly built with CLAUDE) +* more automated code renovation / relinting work (possibly built with CLAUDE) (in the works) * organization-level documentation web site * ... diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md new file mode 100644 index 0000000..2bd4285 --- /dev/null +++ b/docs/ROADMAP.md @@ -0,0 +1,41 @@ +## Roadmap + +### Contemplated enhancements + +Most urgent: + +* [ ] mono-repo test +* [ ] mono-repo release + +In no particular order: + +* [x] ui: enrich github actions UI with a job summary +* [x] introduce config file specific checkout (markdownlint, spellcheck) +* [x] security: separate PR / issue comments as a trusted bot workflow, acting on request artifacts +* [x] version common workflows, so we can limit the impact of a change +* [ ] build: verify that go.sum cache for tests works (should be enabled) +* [ ] share mono repo workflows (see github.com/go-openapi/swag/.github/workflows) +* [ ] lint: manage somehow to share golangci config (with local merge) +* [ ] dependencies: manage somehow to share / replicate dependabot config +* [ ] lint: golangci-lint: check valid PR comments etc +* [ ] lint: use non-blocking, scheduled, proactive full linting to check for + the impact of new linters, new go versions etc +* [ ] doc: (possibility) take over hugo & doc gen part from go-swagger +* [ ] (possibility) take over release part from go-swagger +* [ ] doc: produce hugo github page with all latest tagged versions + (incl. mono repo) +* [ ] check with github API that all repo settings (branch protection rules, etc) + are identical +* [ ] comment PRs and issues +* [ ] doc: checkout vale style-check guide (vale-action exists) +* [x] ~doc: experiment LanguageTool for grammar checks ( -> a github action / docker image exists)~ +* [ ] github pages w/ hugo (like go-swagger, experiment another theme and json data) + +AI-driven experiments: +* [ ] add bot to filter PRs, issues +* [ ] doc: experiment LLM from github model, using embeddings ( -> +* [ ] issues: experiment LLM from github model, using embeddings ( -> show related issues) + +To be reworked: +* [ ] doc: add markdown linting for docs +* [ ] doc: add spellcheck for docs (and code?) diff --git a/docs/images/go-test.png b/docs/images/go-test.png new file mode 100644 index 0000000..3cd58f3 Binary files /dev/null and b/docs/images/go-test.png differ