-
Notifications
You must be signed in to change notification settings - Fork 16
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 Release Workflow and Build Script for Automated Releases #190
Conversation
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.
Just some comments and possible improvements.
needs: build | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: write |
Check failure
Code scanning / Scorecard
Token-Permissions
Signed-off-by: Max Lambrecht <[email protected]>
Signed-off-by: Max Lambrecht <[email protected]>
Signed-off-by: Max Lambrecht <[email protected]>
Signed-off-by: Max Lambrecht <[email protected]>
Signed-off-by: Max Lambrecht <[email protected]>
Signed-off-by: Max Lambrecht <[email protected]>
Signed-off-by: Max Lambrecht <[email protected]>
Signed-off-by: Max Lambrecht <[email protected]>
Signed-off-by: Max Lambrecht <[email protected]>
Signed-off-by: Max Lambrecht <[email protected]>
Signed-off-by: Max Lambrecht <[email protected]>
Signed-off-by: Max Lambrecht <[email protected]>
Kudos, SonarCloud Quality Gate passed! 0 Bugs No Coverage information |
Pull request check list
Affected functionality
Description of change
This pull request introduces two new files that automate the release process for the Galadriel project. These additions will streamline the creation and publishing of new releases, ensuring that they are consistent, reliable, and require minimal manual intervention.
GitHub Release Workflow
release_build.yaml
: This GitHub Actions workflow is triggered whenever a new version tag (formatted asvX.Y.Z
) is pushed to the repository. The workflow sets up the Go environment, checks out the code, downloads dependencies, runs tests, and builds the project's artifacts using the provided build script. It then creates a new GitHub release and uploads the built artifacts and their SHA-256 checksums to it. The workflow is designed to run on an Ubuntu-latest environment.Build Artifacts Script
build_artifacts.sh
: This bash script is responsible for building the Galadriel project's artifacts. It supports building for two architectures:amd64
andarm64
. For each architecture, it builds thegaladriel-server
andgaladriel-harvester
binaries, packages them along with theLICENSE
and configuration files into a tarball, and generates a SHA-256 checksum for the tarball. The script is designed to halt on the first error encountered to prevent the propagation of build errors.Which issue this pull requests fixes