Add SDL2 building to CMake as default #87
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: [master, dev, development, feature/**, bugfix/**, pr/**] | |
pull_request: | |
workflow_dispatch: | |
concurrency: | |
group: ci-${{ github.ref }} | |
cancel-in-progress: true | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
linux-gcc: | |
name: Build (Ubuntu 20.04 LTS x86_64, GCC) | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Install dependencies | |
run: | | |
sudo apt-get update -yqq | |
sudo apt-get install -yqq build-essential libsdl1.2-dev | |
- name: Prepare Environment | |
run: | | |
echo "SHORT_SHA=${GITHUB_SHA:0:10}" >> $GITHUB_ENV | |
echo "MAKEFLAGS=-j$(nproc)" >> $GITHUB_ENV | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Build OpenJazz (normal) | |
run: | | |
make | |
ls -l OpenJazz | |
linux-clang: | |
name: Build (Ubuntu 20.04 LTS x86_64, Clang) | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Install dependencies | |
run: | | |
sudo apt-get update -yqq | |
sudo apt-get install -yqq build-essential cmake ninja-build clang-10 \ | |
libsdl1.2-dev asciidoctor w3m | |
- name: Prepare Environment | |
run: | | |
echo "SHORT_SHA=${GITHUB_SHA:0:10}" >> $GITHUB_ENV | |
echo "MAKEFLAGS=-j$(nproc)" >> $GITHUB_ENV | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Build OpenJazz (slim) | |
run: | | |
export CXX=clang++ | |
export CXXFLAGS="-Wall -O2 -g -ffunction-sections -fdata-sections" | |
export LDFLAGS="-Wl,--gc-sections" | |
cmake -G Ninja -B build . -DCMAKE_BUILD_TYPE=Release | |
cmake --build build | |
ls -l build/OpenJazz | |
- name: Prepare artifact | |
run: | | |
mkdir OJ-${SHORT_SHA} | |
asciidoctor -o OpenJazzManual.html -a oj_version=${SHORT_SHA} res/unix/OpenJazz.6.adoc | |
w3m -dump -cols 2147483647 -s OpenJazzManual.html > OJ-${SHORT_SHA}/Manual.txt | |
cp build/OpenJazz README.md COPYING licenses.txt OJ-${SHORT_SHA}/ | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: openjazz-linux-glibc2.31-x86_64 | |
path: OJ-*/ | |
windows-mingw-gcc: | |
name: Build (Windows x86_64, MinGW, GCC) | |
runs-on: windows-2019 | |
defaults: | |
run: | |
shell: msys2 {0} | |
steps: | |
- uses: msys2/setup-msys2@v2 | |
with: | |
update: true | |
install: | | |
base-devel dos2unix w3m | |
pacboy: | | |
toolchain:p cmake:p ninja:p SDL:p asciidoctor:p | |
- name: Prepare Environment | |
run: | | |
echo "SHORT_SHA=${GITHUB_SHA:0:10}" >> $GITHUB_ENV | |
echo "MAKEFLAGS=-j$(nproc)" >> $GITHUB_ENV | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Build OpenJazz | |
run: | | |
export LDFLAGS="-static" | |
export PKG_CONFIG="pkg-config --static" | |
cmake -G Ninja -B build . -DCMAKE_BUILD_TYPE=Release | |
cmake --build build | |
- name: Prepare artifact | |
run: | | |
cmake --install build --prefix $PWD | |
asciidoctor -o OpenJazzManual.html -a oj_version=${SHORT_SHA} res/unix/OpenJazz.6.adoc | |
w3m -dump -cols 2147483647 -s OpenJazzManual.html > dist/Manual.txt | |
cp README.md dist/README.txt | |
cp COPYING dist/COPYING.txt | |
cp licenses.txt dist/ | |
unix2dos dist/*.txt | |
mv dist OJ-${SHORT_SHA} | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: openjazz-windows-mingw-x86_64 | |
path: OJ-*/ | |
wii-devkitppc: | |
name: Build (Wii, devkitPPC) | |
runs-on: ubuntu-latest | |
container: devkitpro/devkitppc:latest | |
steps: | |
- name: Install dependencies | |
run: | | |
sudo apt-get update -qq | |
sudo apt-get install -yqq ninja-build dos2unix asciidoctor w3m | |
- name: Prepare Environment | |
run: | | |
echo "SHORT_SHA=${GITHUB_SHA:0:10}" >> $GITHUB_ENV | |
echo "MAKEFLAGS=-j$(nproc)" >> $GITHUB_ENV | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Build OpenJazz | |
run: | | |
export CXXFLAGS="-Wall -g -O2" | |
$DEVKITPRO/portlibs/wii/bin/powerpc-eabi-cmake -G Ninja -B build . -DCMAKE_BUILD_TYPE=Release | |
cmake --build build | |
- name: Prepare artifact | |
run: | | |
cmake --install build --prefix $PWD | |
asciidoctor -o OpenJazzManual.html -a oj_version=${SHORT_SHA} res/unix/OpenJazz.6.adoc | |
w3m -dump -cols 2147483647 -s OpenJazzManual.html > OpenJazz/Manual.txt | |
cp README.md OpenJazz/README.txt | |
cp COPYING OpenJazz/COPYING.txt | |
cp licenses.txt OpenJazz/ | |
unix2dos OpenJazz/*.txt | |
mv OpenJazz OJ-${SHORT_SHA} | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: openjazz-wii | |
path: OJ-*/ | |
n3ds-devkitarm: | |
name: Build (3DS, devkitARM) | |
runs-on: ubuntu-latest | |
container: devkitpro/devkitarm:latest | |
steps: | |
- name: Install dependencies | |
run: | | |
sudo apt-get update -qq | |
sudo apt-get install -yqq ninja-build dos2unix asciidoctor w3m | |
- name: Prepare Environment | |
run: | | |
echo "SHORT_SHA=${GITHUB_SHA:0:10}" >> $GITHUB_ENV | |
echo "MAKEFLAGS=-j$(nproc)" >> $GITHUB_ENV | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Build OpenJazz | |
run: | | |
export CXXFLAGS="-Wall -g -O2" | |
$DEVKITPRO/portlibs/3ds/bin/arm-none-eabi-cmake -G Ninja -B build . -DCMAKE_BUILD_TYPE=Release | |
cmake --build build | |
- name: Prepare artifact | |
run: | | |
cmake --install build --prefix $PWD | |
asciidoctor -o OpenJazzManual.html -a oj_version=${SHORT_SHA} res/unix/OpenJazz.6.adoc | |
w3m -dump -cols 2147483647 -s OpenJazzManual.html > OpenJazz/Manual.txt | |
cp README.md OpenJazz/README.txt | |
cp COPYING OpenJazz/COPYING.txt | |
cp licenses.txt OpenJazz/ | |
unix2dos OpenJazz/*.txt | |
mv OpenJazz OJ-${SHORT_SHA} | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: openjazz-3ds | |
path: OJ-*/ | |
riscos-gccsdk: | |
name: Build (RISC OS, GCCSDK 4.7) | |
runs-on: ubuntu-latest | |
container: riscosdotinfo/riscos-gccsdk-4.7:latest | |
steps: | |
- name: Install dependencies | |
run: | | |
apt-get update -qq | |
apt-get install -yqq cmake ninja-build | |
- name: Prepare Environment | |
run: | | |
echo "SHORT_SHA=${GITHUB_SHA:0:10}" >> $GITHUB_ENV | |
echo "MAKEFLAGS=-j$(nproc)" >> $GITHUB_ENV | |
- name: Prepare GCCSDK autobuilder and build SDL | |
run: | | |
cp /usr/bin/false /usr/bin/automake-1.11 # autobuilder wants this, sdl does not need it | |
cp /usr/bin/false /usr/bin/meson # autobuilder wants this, sdl does not need it | |
svn co svn://svn.riscos.info/gccsdk/trunk/autobuilder/ autobuilder # todo: maybe use snapshot | |
mkdir sdl-build | |
cd sdl-build | |
../autobuilder/build -v libsdl1.2debian # todo: cache? | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Build OpenJazz | |
run: | | |
cmake -G Ninja -B build . -DCMAKE_BUILD_TYPE=Release \ | |
-DCMAKE_TOOLCHAIN_FILE=/home/riscos/env/toolchain-riscos.cmake -DRISCOS=ON | |
cmake --build build | |
- name: Prepare artifact | |
run: | | |
cmake --install build --prefix $PWD | |
cp README.md COPYING licenses.txt !OpenJazz/ | |
mkdir OJ-${SHORT_SHA} | |
mv !OpenJazz OJ-${SHORT_SHA}/ | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: openjazz-riscos | |
path: OJ-*/ | |
psp-pspdev: | |
name: Build (PSP, pspdev) | |
runs-on: ubuntu-latest | |
container: pspdev/pspdev:latest | |
steps: | |
- name: Install dependencies | |
run: | | |
apk add cmake ninja asciidoctor w3m | |
- name: Prepare Environment | |
run: | | |
echo "SHORT_SHA=${GITHUB_SHA:0:10}" >> $GITHUB_ENV | |
echo "MAKEFLAGS=-j$(nproc)" >> $GITHUB_ENV | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Build OpenJazz | |
run: | | |
export CXXFLAGS="-Wall -g -O2" | |
psp-cmake -G Ninja -B build . -DCMAKE_BUILD_TYPE=Release -DNETWORK=OFF | |
cmake --build build | |
- name: Prepare artifact | |
run: | | |
cmake --install build --prefix $PWD | |
asciidoctor -o OpenJazzManual.html -a oj_version=${SHORT_SHA} res/unix/OpenJazz.6.adoc | |
w3m -dump -cols 2147483647 -s OpenJazzManual.html > OpenJazz/Manual.txt | |
cp README.md OpenJazz/README.txt | |
cp COPYING OpenJazz/COPYING.txt | |
cp licenses.txt OpenJazz/ | |
unix2dos OpenJazz/*.txt | |
mv OpenJazz OJ-${SHORT_SHA} | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: openjazz-psp | |
path: OJ-*/ |