From 8ac9848555740f97f2502c1c98514cb72f11d128 Mon Sep 17 00:00:00 2001 From: Kamron Batman <3953314+kamronbatman@users.noreply.github.com> Date: Wed, 2 Sep 2020 18:28:03 -0700 Subject: [PATCH] Adds all OS for Release (#211) Adds all operating systems as a matrix for Release --- .github/workflows/create-release.yml | 69 ++++++++++++++++++---------- 1 file changed, 44 insertions(+), 25 deletions(-) diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index ccd540fe2..6fbde6991 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -6,7 +6,8 @@ on: - master jobs: - build: + release: + name: Create Release if: "contains(github.event.head_commit.message, 'Release')" runs-on: ubuntu-latest steps: @@ -29,33 +30,51 @@ jobs: prerelease: false env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Build Windows + - name: Output Release URL File + run: echo "${{ steps.create_release.outputs.upload_url }}" > release_url.txt + - name: Save Release URL file + uses: actions/upload-artifact@v1 + with: + name: release_url + path: release_url.txt + + publish: + name: Publish Release Asset + if: "contains(github.event.head_commit.message, 'Release')" + needs: [release] + runs-on: ubuntu-latest + strategy: + matrix: + os: [win, ubuntu.16.04, ubuntu.18.04, ubuntu.20.04, debian.9, debian.10, centos.7, centos.8, osx] + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 # avoid shallow clone so nbgv can do its work. + - name: Setup .NET Core + uses: actions/setup-dotnet@v1 + with: + dotnet-version: 3.1.401 + - uses: dotnet/nbgv@master + id: nbgv + - name: Load Release URL File from release job + uses: actions/download-artifact@v1 + with: + name: release_url + - name: Get Release File Name & Upload URL + id: get_release_info + run: | + value=`cat release_url/release_url.txt` + echo ::set-output name=upload_url::$value + - name: Publish Distribution run: ./publish.cmd win core Release - - name: Create Windows Artifact - run: rm -rf ./Projects/*/bin && rm -rf ./Projects/*/obj && zip -r modernuo-win-x64-${{ steps.nbgv.outputs.Version }}.zip ./* - - name: Upload Windows Build + - name: Create Artifact + run: rm -rf ./Projects/*/bin && rm -rf ./Projects/*/obj && zip -9 -r modernuo-asset.zip ./* + - name: Upload Release uses: actions/upload-release-asset@v1 with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./modernuo-win-x64-${{ steps.nbgv.outputs.Version }}.zip - asset_name: modernuo-win-x64-${{ steps.nbgv.outputs.Version }}.zip + upload_url: ${{ steps.get_release_info.outputs.upload_url }} + asset_path: ./modernuo-asset.zip + asset_name: modernuo-${{ matrix.os }}-x64-${{ steps.nbgv.outputs.Version }}.zip asset_content_type: application/zip env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Clean Windows Build - run: rm modernuo-win-x64-${{ steps.nbgv.outputs.Version }}.zip - - name: Build Ubuntu 18 LTS - run: ./publish.cmd ubuntu.18.04 core Release - - name: Create Ubuntu 18 LTS Artifact - run: rm -rf ./Projects/*/bin && rm -rf ./Projects/*/obj && zip -r ubuntu.18.04-x64-${{ steps.nbgv.outputs.Version }}.zip ./* - - name: Upload Ubuntu 18 LTS Build - uses: actions/upload-release-asset@v1 - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./modernuo-ubuntu.18.04-x64-${{ steps.nbgv.outputs.Version }}.zip - asset_name: modernuo-ubuntu.18.04-x64-${{ steps.nbgv.outputs.Version }}.zip - asset_content_type: application/zip - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Clean Ubuntu 18 LTS Build - run: rm modernuo-ubuntu.18.04-x64-${{ steps.nbgv.outputs.Version }}.zip