Adds all OS for Release (#211)

Adds all operating systems as a matrix for Release
This commit is contained in:
Kamron Batman 2020-09-02 18:28:03 -07:00 committed by GitHub
parent ffa3e1012c
commit 8ac9848555
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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