Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CircleCI to GHA #6947

Merged
merged 12 commits into from
Feb 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
...
Loading