Update the README to address the stable releases #306
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build Artifacts | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
paths-ignore: | |
- "**.md" | |
- ".gitignore" | |
- "*.gitlab-ci.yml" | |
jobs: | |
windows: | |
name: Windows (x86_64) | |
uses: ./.github/workflows/build.yaml | |
with: | |
archive-name: melondsds_libretro-win32-x86_64 | |
runs-on: windows-latest | |
target: win32 | |
info-dir: info | |
lib-ext: dll | |
shell: msys2 {0} | |
cmake-args: -DENABLE_SCCACHE=ON -DSCCACHE="C:/Users/runneradmin/.cargo/bin/sccache.exe" | |
macos: | |
name: macOS (Universal) | |
uses: ./.github/workflows/build.yaml | |
with: | |
archive-name: melondsds_libretro-macos-universal | |
runs-on: macos-latest | |
target: macos-universal | |
lib-ext: dylib | |
cmake-args: -DCMAKE_OSX_ARCHITECTURES:STRING="arm64;x86_64" -DENABLE_OGLRENDERER=OFF | |
# Disabled OpenGL on macOS due to https://github.com/JesseTG/melonds-ds/issues/12 | |
linux-x86_64: | |
name: Linux (x86_64) | |
uses: ./.github/workflows/build.yaml | |
with: | |
archive-name: melondsds_libretro-linux-x86_64 | |
target: linux-x86_64 | |
runs-on: ubuntu-latest | |
lib-ext: so | |
test-suite: true | |
linux-aarch64: | |
name: Linux (aarch64) | |
uses: ./.github/workflows/build.yaml | |
with: | |
archive-name: melondsds_libretro-linux-aarch64 | |
target: linux-aarch64 | |
runs-on: ubuntu-latest | |
lib-ext: so | |
cmake-args: -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DPKG_CONFIG_EXECUTABLE=/usr/bin/aarch64-linux-gnu-pkg-config | |
android: | |
name: Android | |
uses: ./.github/workflows/build.yaml | |
with: | |
lib-ext: so | |
target: android | |
archive-name: melondsds_libretro-android | |
cmake-args: -DENABLE_OGLRENDERER=OFF -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=24 -DCMAKE_TOOLCHAIN_FILE="$ANDROID_NDK/build/cmake/android.toolchain.cmake" | |
runs-on: ubuntu-latest | |
# Disabled OpenGL on Android due to https://github.com/JesseTG/melonds-ds/issues/23 | |
ios: | |
name: iOS | |
uses: ./.github/workflows/build.yaml | |
with: | |
runs-on: macos-latest | |
target: ios | |
archive-name: melondsds_libretro-ios | |
info-dir: info | |
lib-ext: dylib | |
cmake-args: --toolchain ./cmake/toolchain/ios.toolchain.cmake -DPLATFORM=OS64 -DDEPLOYMENT_TARGET=14 | |
# Disabled OpenGL on iOS due to https://github.com/JesseTG/melonds-ds/issues/23 | |
tvos: | |
name: tvOS | |
uses: ./.github/workflows/build.yaml | |
with: | |
runs-on: macos-latest | |
target: tvos | |
archive-name: melondsds_libretro-tvos | |
info-dir: info | |
lib-ext: dylib | |
cmake-args: --toolchain ./cmake/toolchain/ios.toolchain.cmake -DPLATFORM=TVOS -DDEPLOYMENT_TARGET=14 | |
# Disabled OpenGL on tvOS due to https://github.com/JesseTG/melonds-ds/issues/23 | |
test-linux-x86_64: | |
name: Test Suite (Linux x86_64) | |
uses: ./.github/workflows/test.yaml | |
needs: [ linux-x86_64 ] | |
with: | |
archive-name: melondsds_libretro-linux-x86_64 | |
target: linux-x86_64 | |
runs-on: ubuntu-latest | |
secrets: | |
TESTFILE_REPO_TOKEN: ${{ secrets.TESTFILE_REPO_TOKEN }} | |
TESTFILE_REPO: ${{ secrets.TESTFILE_REPO }} | |
DSI_NAND_ARCHIVE: ${{ secrets.DSI_NAND_ARCHIVE }} | |
DSI_NAND: ${{ secrets.DSI_NAND }} | |
ARM7_BIOS: ${{ secrets.ARM7_BIOS }} | |
ARM9_BIOS: ${{ secrets.ARM9_BIOS }} | |
ARM7_DSI_BIOS: ${{ secrets.ARM7_DSI_BIOS }} | |
ARM9_DSI_BIOS: ${{ secrets.ARM9_DSI_BIOS }} | |
NDS_FIRMWARE: ${{ secrets.NDS_FIRMWARE }} | |
DSI_FIRMWARE: ${{ secrets.DSI_FIRMWARE }} | |
NDS_ROM: ${{ secrets.NDS_ROM }} | |
create-release: | |
name: Create Release | |
needs: [ windows, macos, linux-x86_64, linux-aarch64, android, ios, tvos, test-linux-x86_64 ] | |
if: github.event_name == 'push' && github.ref == 'refs/heads/main' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check Out Source | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 # To ensure we have all tags | |
- name: Get Latest Changelog Version | |
id: changelog | |
uses: release-flow/keep-a-changelog-action@v2 | |
with: | |
command: query | |
version: latest | |
- name: Get the Newest Tag | |
id: newest-tag | |
run: | | |
echo "version=`git tag --list "v[0-9]*.[0-9]*.[0-9]*" --sort=-v:refname | head -n1 | cut -c2-`" >> "$GITHUB_OUTPUT" | |
- name: Download Artifacts | |
if: "${{ steps.changelog.outputs.version != steps.newest-tag.outputs.version }}" | |
uses: actions/download-artifact@v3 | |
with: | |
path: artifact | |
- name: Zip Release Artifacts | |
if: "${{ steps.changelog.outputs.version != steps.newest-tag.outputs.version }}" | |
shell: bash | |
working-directory: artifact | |
run: | | |
for file in melondsds_libretro-*-Release; do | |
zip -r "${file}.zip" "$file" | |
done | |
- name: Upload .info File Artifact | |
if: "${{ steps.changelog.outputs.version != steps.newest-tag.outputs.version }}" | |
uses: actions/upload-artifact@v3 | |
with: | |
name: melondsds_libretro.info | |
path: artifact/melondsds_libretro-linux-x86_64-Release/cores/melondsds_libretro.info | |
- name: Create Release | |
if: "${{ steps.changelog.outputs.version != steps.newest-tag.outputs.version }}" | |
uses: softprops/action-gh-release@v1 | |
with: | |
token: ${{ secrets.RELEASE_TOKEN }} | |
tag_name: "v${{ steps.changelog.outputs.version }}" | |
body: "${{ steps.changelog.outputs.release-notes }}" | |
files: | | |
artifact/melondsds_libretro-win32-x86_64-Release.zip | |
artifact/melondsds_libretro-macos-universal-Release.zip | |
artifact/melondsds_libretro-linux-x86_64-Release.zip | |
artifact/melondsds_libretro-linux-aarch64-Release.zip | |
artifact/melondsds_libretro-android-Release.zip | |
artifact/melondsds_libretro-ios-Release.zip | |
artifact/melondsds_libretro-tvos-Release.zip | |
- name: Checkout libretro-super | |
if: "${{ steps.changelog.outputs.version != steps.newest-tag.outputs.version }}" | |
uses: actions/checkout@v3 | |
with: | |
repository: "${{ github.triggering_actor }}/libretro-super" | |
path: libretro-super | |
- name: Commit .info File | |
if: "${{ steps.changelog.outputs.version != steps.newest-tag.outputs.version }}" | |
uses: dmnemec/copy_file_to_another_repo_action@v1.1.1 | |
env: | |
API_TOKEN_GITHUB: ${{ secrets.RELEASE_TOKEN }} | |
with: | |
source_file: "${{ github.workspace }}/artifact/melondsds_libretro-linux-x86_64-Release/cores/melondsds_libretro.info" | |
destination_branch_create: "release-v${{ steps.changelog.outputs.version }}" | |
destination_branch: "master" | |
destination_repo: '${{ github.triggering_actor }}/libretro-super' | |
destination_folder: 'dist/info' | |
user_email: 'github-actions[bot]@users.noreply.github.com' | |
user_name: 'github-actions[bot]' | |
commit_message: 'Submit melondsds_libretro.info for melonDS DS release v${{ steps.changelog.outputs.version }} on behalf of @${{ github.triggering_actor }}' | |
- name: Open Pull Request | |
if: "${{ steps.changelog.outputs.version != steps.newest-tag.outputs.version }}" | |
working-directory: libretro-super | |
env: | |
GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }} | |
run: | | |
git pull | |
git checkout "release-v${{ steps.changelog.outputs.version }}" | |
gh pr create --fill --repo "libretro/libretro-super" |