Created
June 7, 2020 21:34
-
-
Save dcaponi/f0a614bb2257bda7acf060e1b3f227b9 to your computer and use it in GitHub Desktop.
Multi-Platform Go Ship with GH Action
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
on: | |
push: | |
tags: | |
- '*' | |
name: Release | |
jobs: | |
release: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Unshallow | |
run: git fetch --prune --unshallow | |
- name: Set up Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: 1.14 | |
- name: Build | |
run: make ship # Add a script that generates builds for the platforms you need to support | |
- name: Create Release | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ github.ref }} | |
release_name: Release ${{ github.ref }} | |
draft: false | |
prerelease: false | |
- name: Upload Darwin-amd64 Asset # Upload mac build to release | |
id: upload-Darwin-amd64-asset | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./build/darwin-amd64.tar.gz | |
asset_name: dawrin-amd64.tar.gz | |
asset_content_type: application/x-gzip | |
- name: Upload Linux-amd64 Asset # Upload linux build to release | |
id: upload-Linux-amd64-asset | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./build/linux-amd64.tar.gz | |
asset_name: linux-amd64.tar.gz | |
asset_content_type: application/x-gzip | |
- name: Upload Windows-amd64 Asset # Upload windows build to release | |
id: upload-Windows-amd64-asset | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./build/windows-amd64.zip | |
asset_name: windows-amd64.zip | |
asset_content_type: application/zip | |
- name: Upload Windows-386 Asset # Upload windows 386 build to release | |
id: upload-Windows-386-asset | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./build/windows-386.zip | |
asset_name: windows-386.zip | |
asset_content_type: application/zip | |
- name: Upload Linux-386 Asset # Upload linux 386 build to release | |
id: upload-Linux-386-asset | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./build/linux-386.tar.gz | |
asset_name: linux-386.tar.gz | |
asset_content_type: application/x-gzip |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment