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