Skip to content
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

Add GitHub Actions for automating system releases #76

Open
DC23 opened this issue Nov 23, 2024 · 0 comments · May be fixed by #78
Open

Add GitHub Actions for automating system releases #76

DC23 opened this issue Nov 23, 2024 · 0 comments · May be fixed by #78
Assignees
Labels
maintenance System plumbing, maintenance, CI/CD workflows

Comments

@DC23
Copy link
Collaborator

DC23 commented Nov 23, 2024

I have two actions set up in my Foundry module that are working well. Both are based on patterns in regular use by the Foundry community developers on the Foundry Discord - which is where I learned the approach, though I've made adjustments to tighten the permissions allowed to the actions to the bare minimum required. Both should adapt easily to this project.

The first action runs when a PR is merged to main, updating the draft release change notes from the PR title and label. I can't edit your labels. If the setup needs any changes they will be very minimal, and I'll note them in the PR description. The advantage of this workflow over others I looked at is that it uses the PR title instead of the commit messages. This avoids filling the notes with fine-grained noise. The action can also run manually (another of my tweaks), so PR labels or titles can be changed after merging but before the release is published to update the notes.

The second action runs when a release is being made. It updates the manifest (system.json) based on the commit tag for the release, builds the release artifacts and attaches them. No more manual edits to the manifest. Though with my setup you still need to manually create the new release on Foundry, though I am looking into automating that as well with cURL AxiosJS. No idea when that will be done though! This is a hobby after all, not my day job.

DC23 added a commit to DC23/basicfantasyrpg that referenced this issue Nov 27, 2024
DC23 added a commit to DC23/basicfantasyrpg that referenced this issue Nov 27, 2024
DC23 added a commit to DC23/basicfantasyrpg that referenced this issue Nov 27, 2024
I don't think draft releases are what we want
DC23 added a commit to DC23/basicfantasyrpg that referenced this issue Nov 27, 2024
Removing default artifacts and fixing zip path in manifest
DC23 added a commit to DC23/basicfantasyrpg that referenced this issue Nov 27, 2024
fixed bug in release build workflow - the zip file download url was incorrect
DC23 added a commit to DC23/basicfantasyrpg that referenced this issue Nov 27, 2024
renaming zip to basicfantasyrpg.zip
DC23 added a commit to DC23/basicfantasyrpg that referenced this issue Nov 27, 2024
DC23 added a commit to DC23/basicfantasyrpg that referenced this issue Nov 28, 2024
…manual workflow runs.

This rebuilds release notes when PRs are edited and relabeled.
orffen#76
DC23 added a commit to DC23/basicfantasyrpg that referenced this issue Nov 28, 2024
DC23 added a commit to DC23/basicfantasyrpg that referenced this issue Nov 28, 2024
DC23 added a commit to DC23/basicfantasyrpg that referenced this issue Nov 28, 2024
@DC23 DC23 self-assigned this Nov 28, 2024
@DC23 DC23 added the maintenance System plumbing, maintenance, CI/CD workflows label Nov 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintenance System plumbing, maintenance, CI/CD workflows
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant