Option to manually publish a binary from a specific branch. This is useful when we want to share test builds without having to merge to main. Once merged, this will let us release binaries for any branch just like publish website. --- #### Does this PR need a docs update or release note? - [ ] ✅ Yes, it's included - [ ] 🕐 Yes, but in a later PR - [x] ⛔ No #### Type of change <!--- Please check the type of change your PR introduces: ---> - [ ] 🌻 Feature - [ ] 🐛 Bugfix - [ ] 🗺️ Documentation - [ ] 🤖 Supportability/Tests - [x] 💻 CI/Deployment - [ ] 🧹 Tech Debt/Cleanup #### Issue(s) <!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. --> * #<issue> #### Test Plan <!-- How will this be tested prior to merging.--> - [x] 💪 Manual - [ ] ⚡ Unit test - [ ] 💚 E2E
76 lines
2.1 KiB
YAML
76 lines
2.1 KiB
YAML
name: Publish Binary
|
|
|
|
inputs:
|
|
version:
|
|
description: Corso version to use for publishing
|
|
required: true
|
|
github_token:
|
|
description: GitHub token for publishing
|
|
required: true
|
|
rudderstack_write_key:
|
|
description: Write key for RudderStack
|
|
required: true
|
|
rudderstack_data_plane_url:
|
|
description: Data plane URL for RudderStack
|
|
required: true
|
|
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0 # needed to pull changelog
|
|
|
|
- name: Setup Golang with cache
|
|
uses: magnetikonline/action-golang-cache@v4
|
|
with:
|
|
go-version-file: src/go.mod
|
|
|
|
- name: Mark snapshot release
|
|
shell: bash
|
|
if: ${{ !startsWith(github.ref , 'refs/tags/') }}
|
|
run: |
|
|
echo "grflags=--snapshot" >> $GITHUB_ENV
|
|
|
|
- name: Run GoReleaser
|
|
uses: goreleaser/goreleaser-action@v4
|
|
with:
|
|
version: latest
|
|
args: release --rm-dist --timeout 500m --parallelism 1 ${{ env.grflags }}
|
|
workdir: src
|
|
env:
|
|
GITHUB_TOKEN: ${{ inputs.github_token }}
|
|
RUDDERSTACK_CORSO_WRITE_KEY: ${{ inputs.rudderstack_write_key }}
|
|
RUDDERSTACK_CORSO_DATA_PLANE_URL: ${{ inputs.rudderstack_data_plane_url }}
|
|
CORSO_VERSION: ${{ inputs.version }}
|
|
|
|
- name: Upload darwin arm64
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: corso_Darwin_arm64
|
|
path: src/dist/corso_darwin_arm64/corso
|
|
|
|
- name: Upload linux arm64
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: corso_Linux_arm64
|
|
path: src/dist/corso_linux_arm64/corso
|
|
|
|
- name: Upload darwin amd64
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: corso_Darwin_amd64
|
|
path: src/dist/corso_darwin_amd64_v1/corso
|
|
|
|
- name: Upload linux amd64
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: corso_Linux_amd64
|
|
path: src/dist/corso_linux_amd64_v1/corso
|
|
|
|
- name: Upload windows amd64
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: corso_Windows_amd64
|
|
path: src/dist/corso_windows_amd64_v1/corso.exe
|