Skip to content

ci: introduce

ci: introduce #16

Workflow file for this run

name: Build CI-specific versions
on: [push, pull_request, workflow_dispatch]
permissions:
contents: read
jobs:
build_windows_x64:
env:
SYSROOT: /usr/x86_64-w64-mingw32/sys-root/mingw
runs-on: ubuntu-latest
container: fedora:latest
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: sudo dnf -y install autoconf automake binutils cpp gcc make pkgconf pkgconf-m4 pkgconf-pkg-config zip unzip git mingw64-gcc mingw64-gcc-c++ mingw64-zlib mingw64-zlib-static mingw64-libpng mingw64-libpng-static mingw64-SDL2 mingw64-win-iconv python3-pillow
- name: Build
run: make PLATFORM=mingw32-sdl ARCH=x86_64
- name: Package artifact
run: mkdir dist && cp LICENSE docs/* build/x86_64-mingw32-sdl/zeta86.exe $SYSROOT/bin/SDL2.dll dist/
- name: Archive artifact
uses: actions/upload-artifact@v3
with:
name: Zeta (Windows)
path: dist/*
build_linux_x64:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- name: Update Ubuntu packages
run: sudo apt-get update
- name: Set up Ubuntu packages
run: sudo apt-get install -y git zip libsdl2-dev && pip install Pillow
- name: Build
run: make PLATFORM=unix-sdl
- name: Package artifact
run: mkdir dist && cp LICENSE build/unix-sdl/zeta86 dist/
- name: Archive artifact
uses: actions/upload-artifact@v3
with:
name: Zeta (Linux)
path: dist/*
build_macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Set up macOS packages
run: brew install sdl2 && pip install Pillow
- name: Build (x86_64)
run: make PLATFORM=macos-sdl ARCH=x86_64
- name: Set up ARM64 macOS packages
run: brew uninstall --ignore-dependencies libpng sdl2 && brew fetch --force --bottle-tag=arm64_monterey sdl2 && brew install $(brew --cache --bottle-tag=arm64_monterey sdl2) && brew fetch --force --bottle-tag=arm64_monterey libpng && brew install $(brew --cache --bottle-tag=arm64_monterey libpng)
- name: Build (ARM64)
run: make PLATFORM=macos-sdl clean && make PLATFORM=macos-sdl ARCH=aarch64
- name: Package artifact
run: mkdir dist && cp LICENSE dist/ && lipo -create -output dist/zeta86 build/x86_64-macos-sdl/zeta86 build/aarch64-macos-sdl/zeta86
- name: Archive artifact
uses: actions/upload-artifact@v3
with:
name: Zeta (macOS)
path: dist/*