Skip to content

Update the README to address the stable releases #306

Update the README to address the stable releases

Update the README to address the stable releases #306

Workflow file for this run

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"