Merge pull request #1454 from getlantern/update-bu #339
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Compile genconfig binary | |
# This GitHub action compiles the genconfig binary that cm-donyc3021etc then uses when | |
# updating the global config. Controlling this here gives more control and visibility | |
# into that process, as things like changes in Go versions can break the build (since genconfig relies on flashlight), | |
# which is brittle and hard to track down. | |
on: | |
push: | |
branches: [ main ] | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
jobs: | |
build: | |
runs-on: ubuntu-20.04 # the binary produced on newer Ubuntu versions won't run on our rather old cloudmaster | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version-file: "go.mod" | |
- name: Granting private modules access | |
run: | | |
git config --global url."https://${{ secrets.CI_PRIVATE_REPOS_GH_TOKEN }}:[email protected]/".insteadOf "https://github.com/" | |
- name: Build | |
run: | | |
cd genconfig | |
go build -ldflags="-s -w" | |
- name: Run UPX | |
uses: crazy-max/ghaction-upx@v2 | |
with: | |
version: latest | |
files: genconfig/genconfig | |
args: -fq | |
- id: commit | |
uses: pr-mpt/actions-commit-hash@v1 | |
- name: Bump version and push tag | |
id: bump_tag | |
uses: anothrNick/github-tag-action@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
WITH_V: true | |
DEFAULT_BUMP: patch | |
- name: Create Release | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ steps.bump_tag.outputs.tag }} | |
release_name: genconfig release ${{ steps.bump_tag.outputs.tag }} | |
draft: false | |
prerelease: false | |
- name: Upload Release Asset | |
id: upload-release-asset | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps | |
asset_path: genconfig/genconfig | |
asset_name: genconfig | |
asset_content_type: application/octet-stream |