-
Notifications
You must be signed in to change notification settings - Fork 41
Modular GitHub actions and rework of workflows #397
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…or run-tests to only run tests
Co-authored-by: Copilot <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR modularizes and DRYs up GoMud’s GitHub Actions by introducing composite actions and new workflows for testing, building, Docker packaging, version tagging, and Discord notifications.
- Leverages three new composite actions (
setup-go,codegen-and-test,discord-webhook) to replace repeated steps - Adds five workflows:
run-tests.yml,docker-package.yml,build-and-release.yml,auto-tag.yml, anddiscord-notify.yml - Implements semantic version auto-tagging, cross-platform builds, Docker publishing, and Discord notifications
Reviewed Changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/run-tests.yml | Simplify test workflow using composites and broaden event filters |
| .github/workflows/docker-package.yml | Refactor Docker packaging workflow to use composites |
| .github/workflows/discord-notify.yml | New workflow for sending PR and release notifications to Discord |
| .github/workflows/build-and-release.yml | Simplify build & release workflow with composites and branch trigger |
| .github/workflows/auto-tag.yml | Add semantic version auto-tagging workflow |
| .github/actions/setup-go/action.yml | Composite action to checkout and set up Go |
| .github/actions/codegen-and-test/action.yml | Composite action to run codegen and tests |
| .github/actions/discord-webhook/action.yml | Composite action to send messages via a Discord webhook |
Comments suppressed due to low confidence (3)
.github/workflows/docker-package.yml:7
- The push trigger no longer includes tags, so Docker packaging won’t run on new version tags; add
tags: ['v*.*.*']underpush:to restore tag-based runs.
- master
.github/actions/discord-webhook/action.yml:19
- [nitpick] The composite action redundantly checks out the repository even though the workflow already does so; consider removing this step to speed up execution.
- - uses: actions/checkout@v4
.github/workflows/run-tests.yml:5
- The
workflow_dispatchtrigger was removed, preventing manual runs of this workflow; re-addworkflow_dispatch:underon:to allow manual triggering.
branches:
| @@ -0,0 +1,41 @@ | |||
| name: Notify Discord | |||
|
|
|||
| on: | |||
Copilot
AI
Jun 3, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This workflow only listens to Pull Request opened events but includes release metadata steps; add a release event (e.g., release: types: [published]) or remove the release logic to align triggers with steps.
Description
This PR introduces a modular, reusable GitHub Actions setup for GoMud, improving maintainability and release automation. It adds support for semantic version tagging, cross-platform builds, Docker packaging, and Discord notifications on PRs and releases.
Auto Tag Overview
This PR introduces automatic semantic version tagging for the main branch. Commits containing
#patch,#minor, or#majorin their message will trigger the auto-tag workflow to create a new Git tag (e.g.,v1.0.1). Pre-release tags (e.g.,v1.0.1-feature.0) are generated when commits land on other branches, supporting preview builds and safe testing.Default change level is
#patchWorkflow Triggers Overview
Changes