Skip to content

Commit

Permalink
CircleCI to GHA (diasurgical#6947)
Browse files Browse the repository at this point in the history
  • Loading branch information
dallemon authored and glebm committed Sep 2, 2024
1 parent 8921923 commit 62a56e8
Show file tree
Hide file tree
Showing 5 changed files with 286 additions and 59 deletions.
59 changes: 0 additions & 59 deletions .circleci/config.yml

This file was deleted.

90 changes: 90 additions & 0 deletions .github/workflows/3ds.yml
Original file line number Diff line number Diff line change
@@ -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
...
64 changes: 64 additions & 0 deletions .github/workflows/amiga-m68k.yml
Original file line number Diff line number Diff line change
@@ -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
...
65 changes: 65 additions & 0 deletions .github/workflows/switch.yml
Original file line number Diff line number Diff line change
@@ -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
...
67 changes: 67 additions & 0 deletions .github/workflows/vita.yml
Original file line number Diff line number Diff line change
@@ -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
...

0 comments on commit 62a56e8

Please sign in to comment.