Skip to content

Commit 71af79b

Browse files
dallemonAJenbo
authored andcommitted
CircleCI to GHA (#6947)
1 parent 154ca9c commit 71af79b

File tree

5 files changed

+286
-59
lines changed

5 files changed

+286
-59
lines changed

.circleci/config.yml

-59
This file was deleted.

.github/workflows/3ds.yml

+90
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
---
2+
name: Nintendo 3DS
3+
4+
on: # yamllint disable-line rule:truthy
5+
push:
6+
branches:
7+
- master
8+
paths-ignore:
9+
- '*.md'
10+
- 'docs/**'
11+
pull_request:
12+
types: [opened, synchronize]
13+
paths-ignore:
14+
- '*.md'
15+
- 'docs/**'
16+
release:
17+
types: [published]
18+
workflow_dispatch:
19+
20+
concurrency:
21+
group: ${{ github.workflow }}-${{ github.ref }}
22+
cancel-in-progress: true
23+
24+
jobs:
25+
build:
26+
runs-on: ubuntu-latest
27+
container: devkitpro/devkitarm:latest
28+
steps:
29+
- name: Checkout
30+
uses: actions/checkout@v4
31+
with:
32+
fetch-depth: 0
33+
34+
- name: Install dependencies
35+
run: |
36+
apt-get update
37+
apt-get install -y \
38+
ffmpeg \
39+
gettext
40+
41+
- name: Get external dependencies
42+
run: |
43+
wget https://github.com/diasurgical/bannertool/releases/download/1.2.0/bannertool.zip
44+
unzip -j "bannertool.zip" "linux-x86_64/bannertool" -d "/opt/devkitpro/tools/bin"
45+
wget https://github.com/3DSGuy/Project_CTR/releases/download/makerom-v0.18/makerom-v0.18-ubuntu_x86_64.zip
46+
unzip "makerom-v0.18-ubuntu_x86_64.zip" "makerom" -d "/opt/devkitpro/tools/bin"
47+
chmod a+x /opt/devkitpro/tools/bin/makerom
48+
49+
- name: Configure CMake
50+
run: |
51+
cmake \
52+
-S . \
53+
-B build \
54+
-G Ninja \
55+
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
56+
-DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/3DS.cmake
57+
58+
- name: Build DevilutionX
59+
run: cmake --build build
60+
61+
- name: Upload 3dsx Package
62+
if: ${{ !env.ACT }}
63+
uses: actions/upload-artifact@v4
64+
with:
65+
name: devilutionx.3dsx
66+
path: ./build/devilutionx.3dsx
67+
68+
- name: Upload cia Package
69+
if: ${{ !env.ACT }}
70+
uses: actions/upload-artifact@v4
71+
with:
72+
name: devilutionx.cia
73+
path: ./build/devilutionx.cia
74+
75+
- name: Update Release 3dsx
76+
if: ${{ github.event_name == 'release' && !env.ACT }}
77+
uses: svenstaro/upload-release-action@v2
78+
with:
79+
asset_name: devilutionx-3ds.3dsx
80+
file: ./build/devilutionx.3dsx
81+
overwrite: true
82+
83+
- name: Update Release cia
84+
if: ${{ github.event_name == 'release' && !env.ACT }}
85+
uses: svenstaro/upload-release-action@v2
86+
with:
87+
asset_name: devilutionx-3ds.cia
88+
file: ./build/devilutionx.cia
89+
overwrite: true
90+
...

.github/workflows/amiga-m68k.yml

+64
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
---
2+
name: Amiga M68K
3+
4+
on: # yamllint disable-line rule:truthy
5+
push:
6+
branches:
7+
- master
8+
paths-ignore:
9+
- '*.md'
10+
- 'docs/**'
11+
pull_request:
12+
types: [opened, synchronize]
13+
paths-ignore:
14+
- '*.md'
15+
- 'docs/**'
16+
release:
17+
types: [published]
18+
workflow_dispatch:
19+
20+
concurrency:
21+
group: ${{ github.workflow }}-${{ github.ref }}
22+
cancel-in-progress: true
23+
24+
jobs:
25+
build:
26+
runs-on: ubuntu-latest
27+
container: amigadev/crosstools:m68k-amigaos-gcc10
28+
steps:
29+
- name: Checkout
30+
uses: actions/checkout@v4
31+
with:
32+
fetch-depth: 0
33+
34+
- name: Run prep.sh script
35+
run: ./Packaging/amiga/prep.sh
36+
37+
- name: Configure CMake
38+
run: |
39+
cmake \
40+
-S . \
41+
-B build \
42+
-G Ninja \
43+
-D M68K_COMMON="-s -fbbb=- -ffast-math -O2" \
44+
-D M68K_CPU=68040 \
45+
-D M68K_FPU=hard
46+
47+
- name: Build DevilutionX
48+
run: cmake --build build
49+
50+
- name: Upload Package
51+
if: ${{ !env.ACT }}
52+
uses: actions/upload-artifact@v4
53+
with:
54+
name: devilutionx_m68k
55+
path: ./build/devilutionx
56+
57+
- name: Update Release
58+
if: ${{ github.event_name == 'release' && !env.ACT }}
59+
uses: svenstaro/upload-release-action@v2
60+
with:
61+
asset_name: devilutionx-amiga-m68k
62+
file: ./build/devilutionx
63+
overwrite: true
64+
...

.github/workflows/switch.yml

+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
---
2+
name: Nintendo Switch
3+
4+
on: # yamllint disable-line rule:truthy
5+
push:
6+
branches:
7+
- master
8+
paths-ignore:
9+
- '*.md'
10+
- 'docs/**'
11+
pull_request:
12+
types: [opened, synchronize]
13+
paths-ignore:
14+
- '*.md'
15+
- 'docs/**'
16+
release:
17+
types: [published]
18+
workflow_dispatch:
19+
20+
concurrency:
21+
group: ${{ github.workflow }}-${{ github.ref }}
22+
cancel-in-progress: true
23+
24+
jobs:
25+
build:
26+
runs-on: ubuntu-latest
27+
container: devkitpro/devkita64:latest
28+
steps:
29+
- name: Checkout
30+
uses: actions/checkout@v4
31+
with:
32+
fetch-depth: 0
33+
34+
- name: Install dependencies
35+
run: |
36+
apt-get update && \
37+
apt-get install -y --no-install-recommends --no-install-suggests \
38+
gettext
39+
40+
- name: Configure CMake
41+
run: |
42+
cmake \
43+
-S . \
44+
-B build \
45+
-D CMAKE_BUILD_TYPE=RelWithDebInfo \
46+
-D CMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/Switch.cmake
47+
48+
- name: Build DevilutionX
49+
run: cmake --build build -j$(nproc)
50+
51+
- name: Upload Package
52+
if: ${{ !env.ACT }}
53+
uses: actions/upload-artifact@v4
54+
with:
55+
name: devilutionx.nro
56+
path: ./build/devilutionx.nro
57+
58+
- name: Update Release
59+
if: ${{ github.event_name == 'release' && !env.ACT }}
60+
uses: svenstaro/upload-release-action@v2
61+
with:
62+
asset_name: devilutionx-switch.nro
63+
file: ./build/devilutionx.nro
64+
overwrite: true
65+
...

.github/workflows/vita.yml

+67
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
---
2+
name: Sony PlayStation Vita
3+
4+
on: # yamllint disable-line rule:truthy
5+
push:
6+
branches:
7+
- master
8+
paths-ignore:
9+
- '*.md'
10+
- 'docs/**'
11+
pull_request:
12+
types: [opened, synchronize]
13+
paths-ignore:
14+
- '*.md'
15+
- 'docs/**'
16+
release:
17+
types: [published]
18+
workflow_dispatch:
19+
20+
concurrency:
21+
group: ${{ github.workflow }}-${{ github.ref }}
22+
cancel-in-progress: true
23+
24+
jobs:
25+
build:
26+
runs-on: ubuntu-latest
27+
container: vitasdk/vitasdk:latest
28+
steps:
29+
- name: Checkout
30+
uses: actions/checkout@v4
31+
with:
32+
fetch-depth: 0
33+
34+
- name: Install dependencies
35+
run: |
36+
apk add \
37+
gettext \
38+
git \
39+
samurai
40+
41+
- name: Configure CMake
42+
run: |
43+
cmake \
44+
-S . \
45+
-B build \
46+
-G Ninja \
47+
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
48+
-DCMAKE_TOOLCHAIN_FILE=${VITASDK}/share/vita.toolchain.cmake
49+
50+
- name: Build DevilutionX
51+
run: cmake --build build
52+
53+
- name: Upload Package
54+
if: ${{ !env.ACT }}
55+
uses: actions/upload-artifact@v4
56+
with:
57+
name: devilutionx.vpk
58+
path: ./build/devilutionx.vpk
59+
60+
- name: Update Release
61+
if: ${{ github.event_name == 'release' && !env.ACT }}
62+
uses: svenstaro/upload-release-action@v2
63+
with:
64+
asset_name: devilutionx-vita.vpk
65+
file: ./build/devilutionx.vpk
66+
overwrite: true
67+
...

0 commit comments

Comments
 (0)