Skip to content

gh actions

gh actions #8

Workflow file for this run

name: release
permissions: write-all
on:
push:
tags:
- "v*.*.*"
workflow_dispatch:
pull_request:
jobs:
test:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
- run: go mod download
- run: go generate ./...
- run: go test ./...
- run: bash build.sh
- name: Create a Release
id: create_release
uses: shogo82148/actions-create-release@v1
- name: Upload Windows amd64 binary
uses: shogo82148/actions-upload-release-asset@v1
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: dist/windows_amd64/vlc-sync-play.exe
asset_name: vlc-sync-play_win_x64.exe
asset_content_type: application/vnd.microsoft.portable-executable
- name: Pack MacOS amd64 bundle
run: cd dist/darwin_amd64 & zip -r -q vlc-sync-play.app.zip vlc-sync-play.app
- name: Upload MacOS amd64 app bundle
uses: shogo82148/actions-upload-release-asset@v1
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: dist/darwin_amd64/vlc-sync-play.app.zip
asset_name: vlc-sync-play_MacOS_intel.app.zip
- name: Upload MacOS amd64 dmg
uses: shogo82148/actions-upload-release-asset@v1
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: dist/darwin_amd64/vlc-sync-play.dmg
asset_name: vlc-sync-play_MacOS_intel.dmg
- name: Pack MacOS arm64 bundle
run: cd dist/darwin_arm64 & zip -r -q vlc-sync-play.app.zip vlc-sync-play.app
- name: Upload MacOS arm64 app bundle
uses: shogo82148/actions-upload-release-asset@v1
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: dist/darwin_arm64/vlc-sync-play.app.zip
asset_name: vlc-sync-play_MacOS_apple_silicon.app.zip
- name: Upload MacOS arm64 dmg
uses: shogo82148/actions-upload-release-asset@v1
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: dist/darwin_arm64/vlc-sync-play.dmg
asset_name: vlc-sync-play_MacOS_apple_silicon.dmg
- name: Upload Linux x64 bin
uses: shogo82148/actions-upload-release-asset@v1
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: dist/linux_amd64/vlc-sync-play
asset_name: vlc-sync-play_linux_x64
asset_content_type: application/x-executable
- name: Upload Linux x64 deb
uses: shogo82148/actions-upload-release-asset@v1
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: dist/linux_amd64/vlc-sync-play.deb
asset_name: vlc-sync-play_linux_x64.deb
asset_content_type: application/vnd.debian.binary-package
- name: Upload Linux arm64 bin
uses: shogo82148/actions-upload-release-asset@v1
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: dist/linux_arm64/vlc-sync-play
asset_name: vlc-sync-play_linux_arm64
asset_content_type: application/x-executable
- name: Upload Linux arm64 deb
uses: shogo82148/actions-upload-release-asset@v1
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: dist/linux_arm64/vlc-sync-play.deb
asset_name: vlc-sync-play_linux_arm64.deb
asset_content_type: application/vnd.debian.binary-package