cisagov / cisagov/skeleton-aws-lambda-python

Create automated prerelease/release functionality

Open
#8 0 comments 0 reactions 0 assignees View on GitHub
github-actions improvement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.