-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
e71ac4e
commit d874318
Showing
1 changed file
with
121 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,121 @@ | ||
name: release | ||
on: | ||
push: | ||
tags: | ||
- v* | ||
jobs: | ||
release: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout the code | ||
uses: actions/checkout@v2 | ||
- name: Set up Go | ||
uses: actions/setup-go@v2 | ||
with: | ||
go-version: '^1.14' | ||
- name: Get dependencies | ||
run: | | ||
# Install genisoimage to create a macOS DMG package | ||
sudo apt install genisoimage | ||
GO111MODULE=off go get github.com/lucor/fyne-cross/cmd/fyne-cross | ||
- name: Set up environment | ||
env: | ||
IMGUR_CLIENT_ID: ${{ secrets.IMGUR_CLIENT_ID }} | ||
run: | | ||
# Get version from Git (latest tag without leading "v" or sha1 if no tag): | ||
BUILD_VERSION=$(set -o pipefail; git describe --tags 2>/dev/null | sed 's/^v//' || git rev-parse HEAD) | ||
# Get the date in RFC 3339 format (UTC) | ||
BUILD_TIME=$(date --utc --iso-8601=seconds | sed 's/+00:00$//') | ||
echo "::set-env name=BUILD_FLAGS::-X main.version=${BUILD_VERSION} -X main.buildTimeStr=${BUILD_TIME} -X github.com/jeandeaual/tts-deckconverter/tts/upload.imgurClientID=${IMGUR_CLIENT_ID}" | ||
- name: Build Linux CLI | ||
run: | | ||
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -v -o build-linux/tts-deckconverter -ldflags "${BUILD_FLAGS} -s -w" ./cmd/tts-deckconverter | ||
tar -cvzf tts-deckconverter-linux-amd64.tar.gz -C build-linux tts-deckconverter | ||
- name: Build Linux GUI | ||
run: | | ||
$(go env GOPATH)/bin/fyne-cross linux -debug -app-id tts-deckconverter-gui -ldflags "${BUILD_FLAGS}" -icon ./resources/icon.png -output tts-deckconverter-gui ./cmd/tts-deckconverter-gui | ||
tar -cvzf tts-deckconverter-gui-linux-amd64.tar.gz -C fyne-cross/bin/linux-amd64 tts-deckconverter-gui | ||
- name: Build macOS CLI | ||
run: | | ||
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -v -o build-darwin/tts-deckconverter -ldflags "${BUILD_FLAGS} -s -w" ./cmd/tts-deckconverter | ||
zip -9 -j tts-deckconverter-macos-amd64.zip build-darwin/tts-deckconverter | ||
- name: Build macOS GUI | ||
run: | | ||
$(go env GOPATH)/bin/fyne-cross darwin -debug -app-id tts-deckconverter-gui -ldflags "${BUILD_FLAGS}" -icon ./resources/icon.png -output tts-deckconverter-gui ./cmd/tts-deckconverter-gui | ||
# Build the OS X DMG file | ||
mkdir fyne-cross/dist/darwin-amd64-dmg | ||
genisoimage -V tts-deckconverter-gui -D -R -apple -no-pad -o fyne-cross/dist/darwin-amd64-dmg/tts-deckconverter-gui-amd64.dmg fyne-cross/dist/darwin-amd64 | ||
- name: Build Windows CLI | ||
run: | | ||
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -v -o build-windows/tts-deckconverter.exe -ldflags "${BUILD_FLAGS} -s -w" ./cmd/tts-deckconverter | ||
zip -9 -j tts-deckconverter-windows-amd64.zip build-windows/tts-deckconverter.exe | ||
- name: Build Windows GUI | ||
run: | | ||
$(go env GOPATH)/bin/fyne-cross windows -debug -app-id tts-deckconverter-gui -ldflags "${BUILD_FLAGS}" -icon ./resources/icon.png -output tts-deckconverter-gui.exe ./cmd/tts-deckconverter-gui | ||
zip -9 -j tts-deckconverter-gui-windows-amd64.zip fyne-cross/bin/windows-amd64/tts-deckconverter-gui.exe | ||
- name: Create release | ||
id: create_release | ||
uses: actions/create-release@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
tag_name: ${{ github.ref }} | ||
release_name: ${{ github.ref }} | ||
draft: true | ||
prerelease: false | ||
- uses: olegtarasov/get-tag@v2 | ||
id: tag_name | ||
- name: Upload Linux CLI release asset | ||
uses: actions/upload-release-asset@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
upload_url: ${{ steps.create_release.outputs.upload_url }} | ||
asset_path: ./tts-deckconverter-linux-amd64.tar.gz | ||
asset_name: tts-deckconverter-linux-amd64-${{ steps.tag_name.outputs.tag }}.tar.gz | ||
asset_content_type: application/gzip | ||
- name: Upload Linux GUI release asset | ||
uses: actions/upload-release-asset@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
upload_url: ${{ steps.create_release.outputs.upload_url }} | ||
asset_path: ./tts-deckconverter-gui-linux-amd64.tar.gz | ||
asset_name: tts-deckconverter-gui-linux-amd64-${{ steps.tag_name.outputs.tag }}.tar.gz | ||
asset_content_type: application/gzip | ||
- name: Upload macOS CLI release asset | ||
uses: actions/upload-release-asset@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
upload_url: ${{ steps.create_release.outputs.upload_url }} | ||
asset_path: ./tts-deckconverter-macos-amd64.zip | ||
asset_name: tts-deckconverter-macos-amd64-${{ steps.tag_name.outputs.tag }}.zip | ||
asset_content_type: application/zip | ||
- name: Upload macOS GUI release asset | ||
uses: actions/upload-release-asset@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
upload_url: ${{ steps.create_release.outputs.upload_url }} | ||
asset_path: ./fyne-cross/dist/darwin-amd64-dmg/tts-deckconverter-gui-amd64.dmg | ||
asset_name: tts-deckconverter-gui-macos-amd64-${{ steps.tag_name.outputs.tag }}.dmg | ||
asset_content_type: application/octet-stream | ||
- name: Upload Windows CLI release asset | ||
uses: actions/upload-release-asset@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
upload_url: ${{ steps.create_release.outputs.upload_url }} | ||
asset_path: ./tts-deckconverter-windows-amd64.zip | ||
asset_name: tts-deckconverter-windows-amd64-${{ steps.tag_name.outputs.tag }}.zip | ||
asset_content_type: application/zip | ||
- name: Upload Windows GUI release asset | ||
uses: actions/upload-release-asset@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
upload_url: ${{ steps.create_release.outputs.upload_url }} | ||
asset_path: ./tts-deckconverter-gui-windows-amd64.zip | ||
asset_name: tts-deckconverter-gui-windows-amd64-${{ steps.tag_name.outputs.tag }}.zip | ||
asset_content_type: application/zip |