Remove a loose source file declaration #623
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: | |
workflow_dispatch: | |
push: | |
paths-ignore: | |
- "*.gitlab-ci.yml" | |
- "*.gitignore" | |
- "*.github/ISSUE_TEMPLATE/**" | |
- "*.github/FUNDING.yml" | |
pull_request: | |
branches: | |
- dev | |
paths-ignore: | |
- "**.md" | |
- ".gitignore" | |
- "*.gitlab-ci.yml" | |
- "*.github/ISSUE_TEMPLATE/**" | |
- "*.github/FUNDING.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} | |
test-suite: true | |
cmake-args: -DENABLE_SCCACHE=ON -DSCCACHE="C:/Users/runneradmin/.cargo/bin/sccache.exe" | |
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 }} | |
GBA_ROM: ${{ secrets.GBA_ROM }} | |
GBA_SRAM: ${{ secrets.GBA_SRAM }} | |
macos-x86_64: | |
name: macOS (x86_64) | |
uses: ./.github/workflows/build.yaml | |
with: | |
archive-name: melondsds_libretro-macos-x86_64 | |
runs-on: macos-13 | |
target: macos-x86_64 | |
lib-ext: dylib | |
test-suite: true | |
cmake-args: -DCMAKE_OSX_ARCHITECTURES:STRING="x86_64" -DENABLE_OGLRENDERER=OFF -DCMAKE_APPLE_SILICON_PROCESSOR="x86_64" | |
# Disabled OpenGL on macOS due to https://github.com/JesseTG/melonds-ds/issues/12 | |
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 }} | |
GBA_ROM: ${{ secrets.GBA_ROM }} | |
GBA_SRAM: ${{ secrets.GBA_SRAM }} | |
macos-arm64: | |
name: macOS (arm64) | |
uses: ./.github/workflows/build.yaml | |
with: | |
archive-name: melondsds_libretro-macos-arm64 | |
runs-on: macos-latest | |
target: macos-arm64 | |
lib-ext: dylib | |
test-suite: true | |
cmake-args: -DCMAKE_OSX_ARCHITECTURES:STRING="arm64" -DENABLE_OGLRENDERER=OFF -DCMAKE_APPLE_SILICON_PROCESSOR="arm64" | |
# Disabled OpenGL on macOS due to https://github.com/JesseTG/melonds-ds/issues/12 | |
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 }} | |
GBA_ROM: ${{ secrets.GBA_ROM }} | |
GBA_SRAM: ${{ secrets.GBA_SRAM }} | |
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 | |
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 }} | |
GBA_ROM: ${{ secrets.GBA_ROM }} | |
GBA_SRAM: ${{ secrets.GBA_SRAM }} | |
linux-aarch64: | |
name: Linux (arm64) | |
uses: ./.github/workflows/build.yaml | |
with: | |
archive-name: melondsds_libretro-linux-arm64 | |
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 -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE | |
android: | |
name: Android | |
uses: ./.github/workflows/build.yaml | |
with: | |
lib-ext: so | |
target: android | |
core-name: melondsds_libretro_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 | |
create-release: | |
name: Create Release | |
needs: [ windows, macos-x86_64, macos-arm64, linux-x86_64, linux-aarch64, android, ios, tvos ] | |
if: github.event_name == 'push' && github.ref == 'refs/heads/main' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check Out Source | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 # To ensure we have all tags | |
- name: Get Latest Changelog Version | |
id: changelog | |
uses: release-flow/keep-a-changelog-action@v3 | |
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@v4 | |
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@v4 | |
with: | |
name: melondsds_libretro.info | |
path: artifact/melondsds_libretro-linux-x86_64-Release/cores/melondsds_libretro.info | |
# The .info file doesn't vary by platform, so we only need to upload one | |
- name: Create Release | |
if: "${{ steps.changelog.outputs.version != steps.newest-tag.outputs.version }}" | |
uses: softprops/action-gh-release@v2 | |
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-x86_64-Release.zip | |
artifact/melondsds_libretro-macos-arm64-Release.zip | |
artifact/melondsds_libretro-linux-x86_64-Release.zip | |
artifact/melondsds_libretro-linux-arm64-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@v4 | |
with: | |
repository: "libretro/libretro-super" | |
path: libretro-super | |
- name: Add Updated .info File | |
if: "${{ steps.changelog.outputs.version != steps.newest-tag.outputs.version }}" | |
run: | | |
cp -f "${{ github.workspace }}/artifact/melondsds_libretro-linux-x86_64-Release/cores/melondsds_libretro.info" libretro-super/dist/info/melondsds_libretro.info | |
- name: Open Pull Request | |
if: "${{ steps.changelog.outputs.version != steps.newest-tag.outputs.version }}" | |
uses: peter-evans/create-pull-request@v6 | |
with: | |
token: ${{ secrets.RELEASE_TOKEN }} | |
path: libretro-super | |
commit-message: 'Submit melondsds_libretro.info for melonDS DS release v${{ steps.changelog.outputs.version }} on behalf of @${{ github.triggering_actor }}' | |
title: "Update melonDS DS to ${{ steps.changelog.outputs.version }}" | |
branch: "melondsds-v${{ steps.changelog.outputs.version }}" | |
push-to-fork: "${{ github.triggering_actor }}/libretro-super" |