UNCLASSIFIED - NO CUI

Skip to content

Adds initial goreleaser config and modifies release script to use it

Ryan Daily requested to merge 268-add-goreleaser-config into main

General MR

Summary

Adds initial GoReleaser config and modifies release script to use it

Relevant logs/screenshots

After hacking away the release safeguards, I was able to do a dry run release locally using the script

 bbctl (268-add-goreleaser-config) ✗ bash ./scripts/release.sh
DRY_RUN is not set to 'false'. This will echo the write commands for git/gitlab instead of running them.
Binary is changed
git tag -a "0.7.6" -m "bbctl Release 0.7.6"
git push origin "0.7.6"
  • skipping announce, publish and validate...
  • cleaning distribution directory
  • loading environment variables
  • getting and validating git state
    • git state                                      commit=73088be95293af02118d3e93eaf8f5dfaa52a9e1 branch=268-add-goreleaser-config current_tag=0.7.4-bb.0 previous_tag=0.7.4 dirty=true
    • pipe skipped                                   reason=disabled during snapshot mode
  • parsing tag
  • setting defaults
  • snapshotting
    • building snapshot...                           version=0.7.4-bb.0-SNAPSHOT-73088be
  • ensuring distribution directory
  • setting up metadata
  • writing release metadata
  • loading go mod information
  • build prerequisites
  • building binaries
    • building                                       binary=dist/bbctl_windows_arm64/bbctl.exe
    • building                                       binary=dist/bbctl_darwin_amd64_v1/bbctl
    • building                                       binary=dist/bbctl_linux_amd64_v1/bbctl
    • building                                       binary=dist/bbctl_linux_arm64/bbctl
    • building                                       binary=dist/bbctl_windows_amd64_v1/bbctl.exe
    • building                                       binary=dist/bbctl_darwin_arm64/bbctl
  • signing binaries
    • signing                                        cmd=gpg artifact=bbctl signature=dist/bbctl_linux_arm64/bbctl_linux_arm64
    • signing                                        cmd=gpg artifact=bbctl signature=dist/bbctl_linux_amd64_v1/bbctl_linux_amd64
    • signing                                        cmd=gpg artifact=bbctl signature=dist/bbctl_darwin_amd64_v1/bbctl_darwin_amd64
    • signing                                        cmd=gpg artifact=bbctl.exe signature=dist/bbctl_windows_arm64/bbctl.exe_windows_arm64
    • signing                                        cmd=gpg artifact=bbctl.exe signature=dist/bbctl_windows_amd64_v1/bbctl.exe_windows_amd64
    • signing                                        cmd=gpg artifact=bbctl signature=dist/bbctl_darwin_arm64/bbctl_darwin_arm64
  • archives
    • creating                                       archive=dist/bbctl_Linux_x86_64.tar.gz
    • creating                                       archive=dist/bbctl_Windows_arm64.zip
    • creating                                       archive=dist/bbctl_Windows_x86_64.zip
    • creating                                       archive=dist/bbctl_Linux_arm64.tar.gz
    • creating                                       archive=dist/bbctl_Darwin_x86_64.tar.gz
    • creating                                       archive=dist/bbctl_Darwin_arm64.tar.gz
  • cataloging artifacts
    • cataloging                                     cmd=syft artifact=dist/bbctl_Windows_arm64.zip sbom=[bbctl_Windows_arm64.zip.sbom.json]
    • cataloging                                     cmd=syft artifact=dist/bbctl_Linux_arm64.tar.gz sbom=[bbctl_Linux_arm64.tar.gz.sbom.json]
    • cataloging                                     cmd=syft artifact=dist/bbctl_Darwin_arm64.tar.gz sbom=[bbctl_Darwin_arm64.tar.gz.sbom.json]
    • cataloging                                     cmd=syft artifact=dist/bbctl_Linux_x86_64.tar.gz sbom=[bbctl_Linux_x86_64.tar.gz.sbom.json]
    • cataloging                                     cmd=syft artifact=dist/bbctl_Windows_x86_64.zip sbom=[bbctl_Windows_x86_64.zip.sbom.json]
    • cataloging                                     cmd=syft artifact=dist/bbctl_Darwin_x86_64.tar.gz sbom=[bbctl_Darwin_x86_64.tar.gz.sbom.json]
  • calculating checksums
  • signing artifacts
    • signing                                        cmd=gpg artifact=bbctl_0.7.4-bb.0-SNAPSHOT-73088be_checksums.txt signature=dist/bbctl_0.7.4-bb.0-SNAPSHOT-73088be_checksums.txt.sig
  • writing artifacts metadata
  • release succeeded after 25s
  • thanks for using goreleaser!

Linked Issue

#268 (closed)

Upgrade Notices

To run the release locally, you will need to

  • Install GoReleaser and make it executable as goreleaser
  • Install Syft and make it executable as syft
  • Create a GPG key and store it in the default location
  • Set the tty for the GPG step export GPG_TTY=$(tty)
  • Type passphrase for GPG key during release (if not trusted)

Closes #268 (closed)

Merge request reports