You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
2.4 KiB
87 lines
2.4 KiB
--- |
|
name: Nintendo 3DS |
|
|
|
on: # yamllint disable-line rule:truthy |
|
push: |
|
branches: |
|
- master |
|
paths-ignore: |
|
- '*.md' |
|
- 'docs/**' |
|
pull_request: |
|
types: [opened, synchronize] |
|
paths-ignore: |
|
- '*.md' |
|
- 'docs/**' |
|
release: |
|
types: [published] |
|
workflow_dispatch: |
|
|
|
concurrency: |
|
group: ${{ github.workflow }}-${{ github.ref }} |
|
cancel-in-progress: true |
|
|
|
jobs: |
|
build: |
|
runs-on: ubuntu-latest |
|
container: devkitpro/devkitarm:latest |
|
steps: |
|
- name: Checkout |
|
uses: actions/checkout@v6 |
|
with: |
|
fetch-depth: 0 |
|
|
|
- name: Install dependencies |
|
run: | |
|
apt-get update && apt-get install -y --no-install-recommends --no-install-suggests \ |
|
ffmpeg |
|
|
|
- name: Get external dependencies |
|
run: | |
|
wget https://github.com/diasurgical/bannertool/releases/download/1.2.0/bannertool.zip |
|
unzip -j "bannertool.zip" "linux-x86_64/bannertool" -d "/opt/devkitpro/tools/bin" |
|
wget https://github.com/3DSGuy/Project_CTR/releases/download/makerom-v0.18/makerom-v0.18-ubuntu_x86_64.zip |
|
unzip "makerom-v0.18-ubuntu_x86_64.zip" "makerom" -d "/opt/devkitpro/tools/bin" |
|
chmod a+x /opt/devkitpro/tools/bin/makerom |
|
|
|
- name: Configure CMake |
|
run: | |
|
cmake \ |
|
-S . \ |
|
-B build \ |
|
-G Ninja \ |
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo \ |
|
-DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/3DS.cmake |
|
|
|
- name: Build DevilutionX |
|
run: cmake --build build |
|
|
|
- name: Upload 3dsx Package |
|
if: ${{ !env.ACT }} |
|
uses: actions/upload-artifact@v7 |
|
with: |
|
name: devilutionx.3dsx |
|
path: ./build/devilutionx.3dsx |
|
|
|
- name: Upload cia Package |
|
if: ${{ !env.ACT }} |
|
uses: actions/upload-artifact@v7 |
|
with: |
|
name: devilutionx.cia |
|
path: ./build/devilutionx.cia |
|
|
|
- name: Update Release 3dsx |
|
if: ${{ github.event_name == 'release' && !env.ACT }} |
|
uses: svenstaro/upload-release-action@v2 |
|
with: |
|
asset_name: devilutionx-3ds.3dsx |
|
file: ./build/devilutionx.3dsx |
|
overwrite: true |
|
|
|
- name: Update Release cia |
|
if: ${{ github.event_name == 'release' && !env.ACT }} |
|
uses: svenstaro/upload-release-action@v2 |
|
with: |
|
asset_name: devilutionx-3ds.cia |
|
file: ./build/devilutionx.cia |
|
overwrite: true
|
|
|