5 changed files with 286 additions and 59 deletions
@ -1,59 +0,0 @@
|
||||
version: 2 |
||||
jobs: |
||||
switch: |
||||
docker: |
||||
- image: devkitpro/devkita64:latest |
||||
working_directory: ~/repo |
||||
steps: |
||||
- checkout |
||||
- run: apt-get update -y |
||||
- run: apt-get install -y gettext |
||||
- run: /opt/devkitpro/portlibs/switch/bin/aarch64-none-elf-cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=RelWithDebInfo |
||||
- run: cmake --build build -j 2 |
||||
- store_artifacts: {path: ./build/devilutionx.nro, destination: devilutionx.nro} |
||||
3ds: |
||||
docker: |
||||
- image: devkitpro/devkitarm:latest |
||||
working_directory: ~/repo |
||||
steps: |
||||
- checkout |
||||
- run: apt-get update -y |
||||
- run: apt-get install -y ffmpeg gettext |
||||
- run: wget https://github.com/diasurgical/bannertool/releases/download/1.2.0/bannertool.zip |
||||
- run: unzip -j "bannertool.zip" "linux-x86_64/bannertool" -d "/opt/devkitpro/tools/bin" |
||||
- run: wget https://github.com/3DSGuy/Project_CTR/releases/download/makerom-v0.18/makerom-v0.18-ubuntu_x86_64.zip |
||||
- run: unzip "makerom-v0.18-ubuntu_x86_64.zip" "makerom" -d "/opt/devkitpro/tools/bin" |
||||
- run: sudo chmod +rx /opt/devkitpro/tools/bin/makerom |
||||
- run: cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/3DS.cmake |
||||
- run: cmake --build build -j 2 |
||||
- store_artifacts: {path: ./build/devilutionx.3dsx, destination: devilutionx.3dsx} |
||||
- store_artifacts: {path: ./build/devilutionx.cia, destination: devilutionx.cia} |
||||
amigaos-m68k: |
||||
docker: |
||||
- image: amigadev/crosstools:m68k-amigaos-gcc10 |
||||
working_directory: ~/repo |
||||
steps: |
||||
- checkout |
||||
- run: Packaging/amiga/prep.sh |
||||
- run: cmake -S. -Bbuild -DM68K_CPU=68040 -DM68K_FPU=hard -DM68K_COMMON="-s -fbbb=- -ffast-math -O2" |
||||
- run: cd build && make -j2 |
||||
- store_artifacts: {path: ./build/devilutionx, destination: devilutionx_m68k} |
||||
vita: |
||||
docker: |
||||
- image: vitasdk/vitasdk |
||||
working_directory: ~/repo |
||||
steps: |
||||
- checkout |
||||
- run: apk --no-cache add git cmake ninja bash pkgconfig gettext |
||||
- run: cmake -S. -Bbuild -GNinja -DCMAKE_TOOLCHAIN_FILE=${VITASDK}/share/vita.toolchain.cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo |
||||
- run: cmake --build build -j 2 |
||||
- store_artifacts: {path: ./build/devilutionx.vpk, destination: devilutionx.vpk} |
||||
|
||||
workflows: |
||||
version: 2 |
||||
testflow: |
||||
jobs: |
||||
- switch |
||||
- 3ds |
||||
- amigaos-m68k |
||||
- vita |
||||
@ -0,0 +1,90 @@
|
||||
--- |
||||
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@v4 |
||||
with: |
||||
fetch-depth: 0 |
||||
|
||||
- name: Install dependencies |
||||
run: | |
||||
apt-get update |
||||
apt-get install -y \ |
||||
ffmpeg \ |
||||
gettext |
||||
|
||||
- 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@v4 |
||||
with: |
||||
name: devilutionx.3dsx |
||||
path: ./build/devilutionx.3dsx |
||||
|
||||
- name: Upload cia Package |
||||
if: ${{ !env.ACT }} |
||||
uses: actions/upload-artifact@v4 |
||||
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 |
||||
... |
||||
@ -0,0 +1,64 @@
|
||||
--- |
||||
name: Amiga M68K |
||||
|
||||
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: amigadev/crosstools:m68k-amigaos-gcc10 |
||||
steps: |
||||
- name: Checkout |
||||
uses: actions/checkout@v4 |
||||
with: |
||||
fetch-depth: 0 |
||||
|
||||
- name: Run prep.sh script |
||||
run: ./Packaging/amiga/prep.sh |
||||
|
||||
- name: Configure CMake |
||||
run: | |
||||
cmake \ |
||||
-S . \ |
||||
-B build \ |
||||
-G Ninja \ |
||||
-D M68K_COMMON="-s -fbbb=- -ffast-math -O2" \ |
||||
-D M68K_CPU=68040 \ |
||||
-D M68K_FPU=hard |
||||
|
||||
- name: Build DevilutionX |
||||
run: cmake --build build |
||||
|
||||
- name: Upload Package |
||||
if: ${{ !env.ACT }} |
||||
uses: actions/upload-artifact@v4 |
||||
with: |
||||
name: devilutionx_m68k |
||||
path: ./build/devilutionx |
||||
|
||||
- name: Update Release |
||||
if: ${{ github.event_name == 'release' && !env.ACT }} |
||||
uses: svenstaro/upload-release-action@v2 |
||||
with: |
||||
asset_name: devilutionx-amiga-m68k |
||||
file: ./build/devilutionx |
||||
overwrite: true |
||||
... |
||||
@ -0,0 +1,65 @@
|
||||
--- |
||||
name: Nintendo Switch |
||||
|
||||
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/devkita64:latest |
||||
steps: |
||||
- name: Checkout |
||||
uses: actions/checkout@v4 |
||||
with: |
||||
fetch-depth: 0 |
||||
|
||||
- name: Install dependencies |
||||
run: | |
||||
apt-get update && \ |
||||
apt-get install -y --no-install-recommends --no-install-suggests \ |
||||
gettext |
||||
|
||||
- name: Configure CMake |
||||
run: | |
||||
cmake \ |
||||
-S . \ |
||||
-B build \ |
||||
-D CMAKE_BUILD_TYPE=RelWithDebInfo \ |
||||
-D CMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/Switch.cmake |
||||
|
||||
- name: Build DevilutionX |
||||
run: cmake --build build -j$(nproc) |
||||
|
||||
- name: Upload Package |
||||
if: ${{ !env.ACT }} |
||||
uses: actions/upload-artifact@v4 |
||||
with: |
||||
name: devilutionx.nro |
||||
path: ./build/devilutionx.nro |
||||
|
||||
- name: Update Release |
||||
if: ${{ github.event_name == 'release' && !env.ACT }} |
||||
uses: svenstaro/upload-release-action@v2 |
||||
with: |
||||
asset_name: devilutionx-switch.nro |
||||
file: ./build/devilutionx.nro |
||||
overwrite: true |
||||
... |
||||
@ -0,0 +1,67 @@
|
||||
--- |
||||
name: Sony PlayStation Vita |
||||
|
||||
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: vitasdk/vitasdk:latest |
||||
steps: |
||||
- name: Checkout |
||||
uses: actions/checkout@v4 |
||||
with: |
||||
fetch-depth: 0 |
||||
|
||||
- name: Install dependencies |
||||
run: | |
||||
apk add \ |
||||
gettext \ |
||||
git \ |
||||
samurai |
||||
|
||||
- name: Configure CMake |
||||
run: | |
||||
cmake \ |
||||
-S . \ |
||||
-B build \ |
||||
-G Ninja \ |
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \ |
||||
-DCMAKE_TOOLCHAIN_FILE=${VITASDK}/share/vita.toolchain.cmake |
||||
|
||||
- name: Build DevilutionX |
||||
run: cmake --build build |
||||
|
||||
- name: Upload Package |
||||
if: ${{ !env.ACT }} |
||||
uses: actions/upload-artifact@v4 |
||||
with: |
||||
name: devilutionx.vpk |
||||
path: ./build/devilutionx.vpk |
||||
|
||||
- name: Update Release |
||||
if: ${{ github.event_name == 'release' && !env.ACT }} |
||||
uses: svenstaro/upload-release-action@v2 |
||||
with: |
||||
asset_name: devilutionx-vita.vpk |
||||
file: ./build/devilutionx.vpk |
||||
overwrite: true |
||||
... |
||||
Loading…
Reference in new issue