Ryujinx/.github/workflows/release.yml

97 lines
3.1 KiB
YAML
Raw Normal View History

name: Release job
on:
workflow_dispatch:
inputs: {}
push:
2023-04-03 21:02:30 +00:00
branches: [ stable ]
paths-ignore:
- '.github/**'
- '*.yml'
- '*.json'
- '*.config'
- 'README.md'
2023-04-03 21:02:30 +00:00
concurrency: release-stable
env:
POWERSHELL_TELEMETRY_OPTOUT: 1
DOTNET_CLI_TELEMETRY_OPTOUT: 1
RYUJINX_BASE_VERSION: "1.1"
2023-04-03 21:02:30 +00:00
RYUJINX_TARGET_RELEASE_CHANNEL_NAME: "stable"
RYUJINX_TARGET_RELEASE_CHANNEL_OWNER: "Ryujinx"
RYUJINX_TARGET_RELEASE_CHANNEL_REPO: "release-channel-master"
jobs:
release:
name: Release ${{ matrix.OS_NAME }}
runs-on: ${{ matrix.os }}
timeout-minutes: ${{ fromJSON(vars.JOB_TIMEOUT) }}
strategy:
matrix:
2023-04-03 21:02:30 +00:00
os: [ ubuntu-latest, ubuntu-latest, windows-latest ]
include:
- os: ubuntu-latest
OS_NAME: Linux x64
DOTNET_RUNTIME_IDENTIFIER: linux-x64
2023-04-03 21:02:30 +00:00
- os: ubuntu-latest
OS_NAME: macOS universal
DOTNET_RUNTIME_IDENTIFIER: osx-universal
- os: windows-latest
OS_NAME: Windows x64
DOTNET_RUNTIME_IDENTIFIER: win10-x64
steps:
- uses: actions/checkout@v4
- name: Setup LLVM 14
2023-04-03 21:02:30 +00:00
if: matrix.DOTNET_RUNTIME_IDENTIFIER == 'osx-universal'
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 14
- name: Install rcodesign
2023-04-03 21:02:30 +00:00
if: matrix.DOTNET_RUNTIME_IDENTIFIER == 'osx-universal'
run: |
mkdir -p $HOME/.bin
gh release download -R indygreg/apple-platform-rs -O apple-codesign.tar.gz -p 'apple-codesign-*-x86_64-unknown-linux-musl.tar.gz'
tar -xzvf apple-codesign.tar.gz --wildcards '*/rcodesign' --strip-components=1
rm apple-codesign.tar.gz
mv rcodesign $HOME/.bin/
echo "$HOME/.bin" >> $GITHUB_PATH
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2023-04-03 21:02:30 +00:00
- name: Prepare release
id: release
uses: ./.github/actions/ryujinx-release
with:
base_version: ${{ env.RYUJINX_BASE_VERSION }}
rid: ${{ matrix.DOTNET_RUNTIME_IDENTIFIER }}
channel: ${{ env.RYUJINX_TARGET_RELEASE_CHANNEL_NAME }}
owner: ${{ env.RYUJINX_TARGET_RELEASE_CHANNEL_OWNER }}
repo: ${{ env.RYUJINX_TARGET_RELEASE_CHANNEL_REPO }}
- name: Pushing new release
uses: ncipollo/release-action@v1
with:
2023-04-03 21:02:30 +00:00
name: ${{ steps.release.outputs.build_version }}
artifacts: "release_output/*.tar.gz,release_output/*.zip"
tag: ${{ steps.release.outputs.build_version }}
body: "For more information about this release please check out the official [Changelog](https://github.com/Ryujinx/Ryujinx/wiki/Changelog)."
omitBodyDuringUpdate: true
allowUpdates: true
replacesArtifacts: true
owner: ${{ env.RYUJINX_TARGET_RELEASE_CHANNEL_OWNER }}
repo: ${{ env.RYUJINX_TARGET_RELEASE_CHANNEL_REPO }}
token: ${{ secrets.RELEASE_TOKEN }}
flatpak_release:
uses: ./.github/workflows/flatpak.yml
2023-03-11 18:13:40 +00:00
needs: release
with:
ryujinx_version: "1.1.${{ github.run_number }}"
2023-04-03 21:02:30 +00:00
secrets: inherit