name: Release job on: workflow_dispatch: inputs: {} push: branches: [ stable ] paths-ignore: - '.github/**' - '*.yml' - '*.json' - '*.config' - 'README.md' concurrency: release-stable env: POWERSHELL_TELEMETRY_OPTOUT: 1 DOTNET_CLI_TELEMETRY_OPTOUT: 1 RYUJINX_BASE_VERSION: "1.1" 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: os: [ ubuntu-latest, ubuntu-latest, windows-latest ] include: - os: ubuntu-latest OS_NAME: Linux x64 DOTNET_RUNTIME_IDENTIFIER: linux-x64 - 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 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 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 }} - 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: 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 needs: release with: ryujinx_version: "1.1.${{ github.run_number }}" secrets: inherit