name: release on: push: tags: - 'v*' jobs: release: runs-on: ubuntu-20.04 outputs: upload_url: ${{ steps.release.outputs.upload_url }} steps: - id: changelog uses: zhaojh329/auto-changelog@master with: token: ${{ secrets.GITHUB_TOKEN }} - id: release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ github.ref }} release_name: ${{ github.ref }} draft: true body: ${{steps.changelog.outputs.changelog}} release-asset: runs-on: ubuntu-20.04 needs: release strategy: matrix: target: [ linux.amd64, linux.arm64, darwin.amd64, windows.amd64 ] steps: - uses: actions/checkout@v2 with: submodules: true - id: get-version uses: battila7/get-version-action@v2 - uses: actions/setup-go@v2 with: go-version: 1.16.0 - uses: actions/setup-node@v2 with: node-version: '12' - id: release-asset env: target: ${{ matrix.target }} run: | cd frontend npm install npm run build cd .. version=${{ steps.get-version.outputs.version-without-v }} os=$(echo $target | awk -F. '{print $1}') arch=$(echo $target | awk -F. '{print $2}') ./build.sh $os $arch mv rttys-$os-$arch rttys-$os-$arch-$version tar zcf rttys-$os-$arch-$version.tar.gz rttys-$os-$arch-$version echo "::set-output name=asset-path::./rttys-$os-$arch-$version.tar.gz" echo "::set-output name=asset-name::rttys-$os-$arch-$version.tar.gz" - id: upload-release-asset uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ needs.release.outputs.upload_url }} asset_path: ${{ steps.release-asset.outputs.asset-path }} asset_name: ${{ steps.release-asset.outputs.asset-name }} asset_content_type: application/gzip