cisagov / cisagov/skeleton-aws-lambda-python
Create automated prerelease/release functionality
- Dominant language
- Shell
- Stars
- 6
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
# 💡 Summary #
Add appropriate GitHub Actions workflow functionality to automatically generate a prerelease/release when a corresponding tag is pushed.
## Motivation and context ##
This would automate what is otherwise the tedious job of downloading Actions artifacts, creating a release manually, and uploading the aforementioned artifacts to that release (again manually). It would allow the appropriate GitHub Actions functionality to kick off when a matching tag is pushed to the repository.
## Implementation notes ##
We can leverage the existing [actions/upload-artifact] and [actions/download-artifact] actions to handle generating and sharing the individual Python version artifacts. We can then use something like [softprops/action-gh-release] in conjunction with the [GitHub automated release notes configuration](https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes) functionality to create an initial release with artifacts attached. The person creating the tag (and thus the prerelease/release) could then simply check the release and make any necessary edits to the release notes if necessary.
## Acceptance criteria ##
- [ ] When a tag is pushed an appropriate prerelease or release is generated
[actions/upload-artifact]: https://github.com/actions/upload-artifact
[actions/download-artifact]:https://github.com/actions/download-artifact
[softprops/action-gh-release]: https://github.com/softprops/action-gh-release
Contributor guide
Research direction
Start by inspecting the repository's existing GitHub Actions workflows and the artifact names produced for each Python version. Review the upload-artifact and download-artifact actions, then determine how matching pushed tags should distinguish prereleases from releases and how release notes should be generated. Done means a pushed matching tag creates the appropriate GitHub release with the expected artifacts attached.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, python, shell
- Domain
- ci-cd, devops, release
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100