forked from Mirror/Ryujinx
23000eeb9a
As AppVeyor took our project down and deleted it without any comments, we are switching to GitHub Releases earlier than anticipated. This isn't the most elegant design (and I would have prefered having a release manifest in place) but this will do for now. The concept of release channel was also defined with this change. The new base version is now 1.1.x to avoid confusion with older system. Standard test CI was disabled temporarly and may be chained later as a CI job after the release job. Users are expected to redownload the emulator to be sure to be up to date. PS: If someone from AppVeyor read this, thanks again for ruining my week-end, I will be sure to NEVER recommend you to anyone. Best Regards, Mary.
82 lines
3.2 KiB
YAML
82 lines
3.2 KiB
YAML
name: Build job
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs: {}
|
|
#push:
|
|
# branches: [ master ]
|
|
# paths-ignore:
|
|
# - '.github/*'
|
|
# - '.github/ISSUE_TEMPLATE/**'
|
|
# - '*.yml'
|
|
# - 'README.md'
|
|
pull_request:
|
|
branches: [ master ]
|
|
paths-ignore:
|
|
- '.github/*'
|
|
- '.github/ISSUE_TEMPLATE/**'
|
|
- '*.yml'
|
|
- 'README.md'
|
|
|
|
jobs:
|
|
build:
|
|
name: ${{ matrix.os }} (${{ matrix.configuration }})
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-latest, macOS-latest, windows-latest]
|
|
configuration: [Debug, Release]
|
|
include:
|
|
- os: ubuntu-latest
|
|
OS_NAME: Linux x64
|
|
DOTNET_RUNTIME_IDENTIFIER: linux-x64
|
|
RELEASE_ZIP_OS_NAME: linux_x64
|
|
|
|
- os: macOS-latest
|
|
OS_NAME: MacOS x64
|
|
DOTNET_RUNTIME_IDENTIFIER: osx-x64
|
|
RELEASE_ZIP_OS_NAME: osx_x64
|
|
|
|
- os: windows-latest
|
|
OS_NAME: Windows x64
|
|
DOTNET_RUNTIME_IDENTIFIER: win-x64
|
|
RELEASE_ZIP_OS_NAME: win_x64
|
|
|
|
fail-fast: false
|
|
env:
|
|
POWERSHELL_TELEMETRY_OPTOUT: 1
|
|
DOTNET_CLI_TELEMETRY_OPTOUT: 1
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-dotnet@v1
|
|
with:
|
|
dotnet-version: 6.0.x
|
|
- name: Ensure NuGet Source
|
|
uses: fabriciomurta/ensure-nuget-source@v1
|
|
- name: Get git short hash
|
|
id: git_short_hash
|
|
run: echo "::set-output name=result::$(git rev-parse --short "${{ github.sha }}")"
|
|
- name: Clear
|
|
run: dotnet clean && dotnet nuget locals all --clear
|
|
- name: Build
|
|
run: dotnet build -c "${{ matrix.configuration }}" /p:Version="1.1.0" /p:SourceRevisionId="${{ steps.git_short_hash.outputs.result }}" /p:ExtraDefineConstants=DISABLE_UPDATER
|
|
- name: Test
|
|
run: dotnet test -c "${{ matrix.configuration }}"
|
|
- name: Publish Ryujinx
|
|
run: dotnet publish -c "${{ matrix.configuration }}" -r "${{ matrix.DOTNET_RUNTIME_IDENTIFIER }}" -o ./publish /p:Version="1.1.0" /p:DebugType=embedded /p:SourceRevisionId="${{ steps.git_short_hash.outputs.result }}" /p:ExtraDefineConstants=DISABLE_UPDATER Ryujinx --self-contained
|
|
if: github.event_name == 'pull_request'
|
|
- name: Publish Ryujinx.Headless.SDL2
|
|
run: dotnet publish -c "${{ matrix.configuration }}" -r "${{ matrix.DOTNET_RUNTIME_IDENTIFIER }}" -o ./publish_sdl2_headless /p:Version="1.1.0" /p:DebugType=embedded /p:SourceRevisionId="${{ steps.git_short_hash.outputs.result }}" /p:ExtraDefineConstants=DISABLE_UPDATER Ryujinx.Headless.SDL2 --self-contained
|
|
if: github.event_name == 'pull_request'
|
|
- name: Upload Ryujinx artifact
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: ryujinx-${{ matrix.configuration }}-1.0.0+${{ steps.git_short_hash.outputs.result }}-${{ matrix.RELEASE_ZIP_OS_NAME }}
|
|
path: publish
|
|
if: github.event_name == 'pull_request'
|
|
- name: Upload Ryujinx.Headless.SDL2 artifact
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: ryujinx-headless-sdl2-${{ matrix.configuration }}-1.0.0+${{ steps.git_short_hash.outputs.result }}-${{ matrix.RELEASE_ZIP_OS_NAME }}
|
|
path: publish_sdl2_headless
|
|
if: github.event_name == 'pull_request'
|