Skip to content

refactor(workflows)!: step 1, standardize workflow names and inputs - #38

Merged
synackd merged 17 commits into
seantronsen/release-400from
seantronsen/chore/cleanup
Oct 8, 2026
Merged

synackd merged 17 commits into
seantronsen/release-400from
seantronsen/chore/cleanup

Conversation

@seantronsen

Copy link
Copy Markdown
Contributor

Description

Do let me know if this needs to be split into multiple PRs. My intention is to target a v4 release due to the number of breaking changes.

Note

I still need to do an interactive rebase to modify several commit names, shuffle the order around, and squash others for cleanliness.

Despite the upcoming VCS history changes, I recommend a rebase style merge unless this PR is split into multiple. The underlying changes are too diverse to reasonably crush into a single commit.

What this PR does:

  • removes redundant name keys and dead run-name keys.
  • migrates all applicable workflows to ubuntu-slim runners (workflows requiring the docker daemon are not eligible).
  • removes deprecated actions
  • removes unnecessary dependency installs
  • merges unit testing with code coverage (one workflow to rule them all, avoids testing 2x)
  • standardizes all key names to kebab case
  • standardizes all workflow names to use the file basename (no extension)
  • fixes several copyright formatting issues
  • ensures sha pinning (release sha instead of tag name)
  • bumps all versions to current release for all uses of third party actions
  • renames several workflows.
    • internal workflows (to this repo) now prefixed with 0-local to simplify differentiation and sorting (ls order)
    • reusable workflows with multiple variants renamed to the format of <workflow>-<variant>.yml

Note

This is a first step toward taming

What this PR does not do:

  • It does not refactor all the build workflows and split their steps into smaller, manageable, and reusable pieces.
    • I opted to save that task for later to reduce the burden on reviewers given this PR is large enough already.
  • It barely touches build, release, or signing related components. all of those are subject to a redesign coming soon, so it didn't seem worth the effort to mutate them considering they're getting nuked in the near future.

The only listed issue this fixes is: #35

Checklist

  • My code follows the style guidelines of this project
  • I have added/updated comments where needed
  • I have added tests that prove my fix is effective or my feature works
  • I have run make test (or equivalent) locally and all tests pass
  • I have updated the relevant documentation (CLI examples, man pages, README, other docs, etc.)
  • DCO Sign-off: All commits are signed off (git commit -s) with my real name and email
  • REUSE Compliance:
    • Each new/modified source file has SPDX copyright and license headers
    • Any non-commentable files include a <filename>.license sidecar
    • All referenced licenses are present in the LICENSES/ directory

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation update
  • Dependency update
  • Build system/CI

@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

Comment thread .github/workflows/0-local-ci.yml Fixed
Comment thread .github/workflows/publish-release.yml Fixed
Signed-off-by: Sean Tronsen <sean.tronsen@gmail.com>
Signed-off-by: Sean Tronsen <sean.tronsen@gmail.com>
Signed-off-by: Sean Tronsen <sean.tronsen@gmail.com>
Signed-off-by: Sean Tronsen <sean.tronsen@gmail.com>
Signed-off-by: Sean Tronsen <sean.tronsen@gmail.com>
Signed-off-by: Sean Tronsen <sean.tronsen@gmail.com>
… in the future)

Signed-off-by: Sean Tronsen <sean.tronsen@gmail.com>
Signed-off-by: Sean Tronsen <sean.tronsen@gmail.com>
Signed-off-by: Sean Tronsen <sean.tronsen@gmail.com>
Signed-off-by: Sean Tronsen <sean.tronsen@gmail.com>
Signed-off-by: Sean Tronsen <sean.tronsen@gmail.com>
…l optargs

Signed-off-by: Sean Tronsen <sean.tronsen@gmail.com>
@seantronsen
seantronsen force-pushed the seantronsen/chore/cleanup branch from 725aa70 to 46b914c Compare October 5, 2026 19:54
Signed-off-by: Sean Tronsen <sean.tronsen@gmail.com>
Signed-off-by: Sean Tronsen <sean.tronsen@gmail.com>
@seantronsen seantronsen changed the title Seantronsen/chore/cleanup v4: step 1, taming the wild. Oct 5, 2026
@seantronsen seantronsen self-assigned this Oct 5, 2026
@seantronsen
seantronsen requested a review from synackd October 5, 2026 20:20
@seantronsen
seantronsen marked this pull request as ready for review October 5, 2026 20:20
Signed-off-by: Sean Tronsen <sean.tronsen@gmail.com>
@seantronsen
seantronsen force-pushed the seantronsen/chore/cleanup branch from c1caf9d to 3eb61f6 Compare October 5, 2026 20:37
@seantronsen
seantronsen added this pull request to stack #40 October 5, 2026 21:10
@synackd synackd added this to the v4 milestone Oct 7, 2026
@synackd synackd changed the title v4: step 1, taming the wild. refactor(workflows)!: step 1, standardize workflow names and inputs Oct 7, 2026

@synackd synackd left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lot of good refactoring here.

One other thing I thought of is that ubuntu-slim imposes a hard 15-minute job limit and one CPU on every caller and so I'm wondering if it would be worth it to add a string runner input defaulting to the current default runners (ubuntu-latest/ubuntu-latest), and use runs-on: ${{ inputs.runner }} to change from the default. Just a thought.

Comment thread .github/workflows/publish-release.yml Outdated
Comment thread .github/workflows/test-unit-go.yml Outdated
Comment thread .github/workflows/test-unit-go.yml
@seantronsen

Copy link
Copy Markdown
Contributor Author

One other thing I thought of is that ubuntu-slim imposes a hard 15-minute job limit and one CPU on every caller and so I'm wondering if it would be worth it to add a string runner input defaulting to the current default runners (ubuntu-latest/ubuntu-latest), and use runs-on: ${{ inputs.runner }} to change from the default. Just a thought.

Yeah... I noticed that in the docs and don't agree with the disparity (single cpu => 15 minutes, anything else => 6 hours), but rules are rules I suppose.

I'll make it parameterized as requested. Should I add any warnings? I've always been of the mindset that unit tests should only take a few minutes, while integration + e2e tests go for any sane number of hours.

@seantronsen
seantronsen requested a review from synackd October 8, 2026 16:57
Signed-off-by: Sean Tronsen <sean.tronsen@gmail.com>
Signed-off-by: Sean Tronsen <sean.tronsen@gmail.com>
@seantronsen
seantronsen force-pushed the seantronsen/chore/cleanup branch from 09941b8 to e568377 Compare October 8, 2026 21:27
@synackd
synackd merged commit 84a6389 into seantronsen/release-400 Oct 8, 2026
4 checks passed
@synackd
synackd deleted the seantronsen/chore/cleanup branch October 8, 2026 22:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants