Add information on adding languages #408
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: Build | |
on: | |
push: | |
jobs: | |
Linux: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y wget cmake libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev libjsoncpp-dev libfuse2 | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Build | |
run: | | |
mkdir oceanpop && cd oceanpop | |
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr .. | |
cmake --build . | |
strip --strip-unneeded oceanpop | |
make install DESTDIR=AppDir | |
wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage | |
chmod +x linuxdeploy*.AppImage | |
./linuxdeploy-x86_64.AppImage --appdir AppDir --output appimage | |
cp ../LICENSE.txt ../README.md ./ | |
- name: Publish artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: oceanpop-linux | |
path: | | |
oceanpop/OceanPop*.AppImage | |
oceanpop/LICENSE.txt | |
oceanpop/README.md | |
Windows: | |
runs-on: windows-latest | |
defaults: | |
run: | |
shell: msys2 {0} | |
steps: | |
- name: Install dependencies | |
uses: msys2/setup-msys2@v2 | |
with: | |
msystem: MINGW64 | |
install: >- | |
mingw-w64-x86_64-gcc | |
mingw-w64-x86_64-binutils | |
mingw-w64-x86_64-make | |
mingw-w64-x86_64-cmake | |
mingw-w64-x86_64-pkgconf | |
mingw-w64-x86_64-SDL2 | |
mingw-w64-x86_64-SDL2_image | |
mingw-w64-x86_64-SDL2_mixer | |
mingw-w64-x86_64-SDL2_ttf | |
mingw-w64-x86_64-jsoncpp | |
update: true | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Build | |
run: | | |
mkdir oceanpop && cd oceanpop | |
cmake -DCMAKE_BUILD_TYPE=Release -G "MinGW Makefiles" .. | |
cmake --build . | |
strip --strip-unneeded oceanpop.exe | |
cp ../LICENSE.txt ../README.md ./ | |
- name: Publish artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: oceanpop-windows | |
path: | | |
oceanpop/oceanpop.exe | |
oceanpop/assets | |
oceanpop/LICENSE.txt | |
oceanpop/README.md | |
PSP: | |
runs-on: ubuntu-latest | |
container: pspdev/pspdev:latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Build | |
run: | | |
mkdir oceanpop && cd oceanpop | |
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=${PSPDEV}/psp/share/pspdev.cmake .. | |
cmake --build . | |
cp ../LICENSE.txt ../README.md ./ | |
- name: Publish artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: oceanpop-psp | |
path: | | |
oceanpop/EBOOT.PBP | |
oceanpop/assets | |
oceanpop/LICENSE.txt | |
oceanpop/README.md | |
Vita: | |
runs-on: ubuntu-latest | |
container: vitasdk/vitasdk:latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Build | |
run: | | |
mkdir oceanpop && cd oceanpop | |
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE="${VITASDK}/share/vita.toolchain.cmake" .. | |
cmake --build . | |
cp ../LICENSE.txt ../README.md ./ | |
- name: Publish artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: oceanpop-vita | |
path: | | |
oceanpop/oceanpop.vpk | |
oceanpop/LICENSE.txt | |
oceanpop/README.md | |
Wii: | |
runs-on: ubuntu-latest | |
container: devkitpro/devkitppc:latest | |
steps: | |
- name: Checkout json-cpp | |
uses: actions/checkout@v3 | |
with: | |
repository: open-source-parsers/jsoncpp | |
path: jsoncpp | |
ref: 1.9.5 | |
- name: Build json-cpp | |
run: | | |
cd jsoncpp | |
/opt/devkitpro/portlibs/wii/bin/powerpc-eabi-cmake -S. -Bbuild \ | |
-DJSONCPP_WITH_TESTS=OFF | |
cd build | |
make | |
sudo make install | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Build | |
run: | | |
mkdir oceanpop && cd oceanpop | |
/opt/devkitpro/portlibs/wii/bin/powerpc-eabi-cmake -DCMAKE_BUILD_TYPE=Release .. | |
make | |
- name: Prepare package | |
run: | | |
./platform/wii/make_release.sh oceanpop ${{ github.ref_name }} | |
- name: Publish artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: oceanpop-wii | |
path: | | |
oceanpop/oceanpop*.zip | |
Release: | |
needs: [Linux, Windows, PSP, Vita, Wii] | |
if: ${{ github.ref_type == 'tag' }} | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
build: [linux, windows, psp, vita, wii] | |
steps: | |
- uses: actions/download-artifact@v3 | |
- name: Zip artifacts | |
run: | | |
zip -r oceanpop-${{matrix.build}}.zip oceanpop-${{matrix.build}} | |
- name: Release | |
uses: softprops/action-gh-release@v1 | |
with: | |
files: oceanpop-${{matrix.build}}.zip | |
prerelease: true | |
name: OceanPop ${{ github.ref_name }} | |
tag_name: ${{ github.ref_name }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |