Skip to content

Merge pull request #152 from p2000t/main #679

Merge pull request #152 from p2000t/main

Merge pull request #152 from p2000t/main #679

Workflow file for this run

name: build
on:
push:
branches: [ "**" ]
jobs:
build-win64:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
Invoke-WebRequest -Uri https://github.com/liballeg/allegro5/releases/download/5.2.9.0/allegro-x86_64-w64-mingw32-gcc-13.2.0-posix-seh-static-5.2.9.0.zip -OutFile allegro.zip
Expand-Archive allegro.zip -DestinationPath .
- name: Build Allegro
shell: bash
run: make allegro \
CFLAGS="-Wall -O2 -I${{ github.workspace }}/allegro/include" \
LDFLAGS="-s -mwindows -L${{ github.workspace }}/allegro/lib ../icons/icon64.res"
- name: Build Libretro
shell: bash
run: make libretro CC=gcc
- name: Create installer
shell: cmd
run: |
cd package/WiX
build64.bat
- name: Upload package
uses: actions/upload-artifact@v4
with:
name: M2000-snapshot-win64
path: package/WiX/M2000-installer.msi
build-win32:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
choco install winlibs --x86
Invoke-WebRequest -Uri https://github.com/liballeg/allegro5/releases/download/5.2.9.0/allegro-i686-w64-mingw32-gcc-13.2.0-posix-dwarf-static-5.2.9.0.zip -OutFile allegro.zip
Expand-Archive allegro.zip -DestinationPath .
- name: Build Allegro
shell: bash
run: make allegro \
CC=C:/ProgramData/chocolatey/lib/winlibs/tools/mingw32/bin/gcc \
CFLAGS="-Wall -O2 -m32 -I${{ github.workspace }}/allegro/include" \
LDFLAGS="-s -mwindows -m32 -L${{ github.workspace }}/allegro/lib ../icons/icon32.res"
- name: Create installer
shell: cmd
run: |
cd package/WiX
build32.bat
- name: Upload package
uses: actions/upload-artifact@v4
with:
name: M2000-snapshot-win32
path: package/WiX/M2000-installer.msi
build-ubuntu:
runs-on: ubuntu-latest
steps:
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y build-essential liballegro5-dev
- uses: actions/checkout@v4
- name: Build Allegro
run: make allegro
- name: Build Libretro
run: make libretro CC=gcc
- name: Copy files
run: |
mkdir -p package/M2000_amd64/usr/bin/
mkdir -p package/M2000_amd64/usr/share/M2000/
cp M2000 package/M2000_amd64/usr/bin/
cp Default.fnt package/M2000_amd64/usr/share/M2000/
cp P2000ROM.bin package/M2000_amd64/usr/share/M2000/
cp BASIC.bin package/M2000_amd64/usr/share/M2000/
cp README.md package/M2000_amd64/usr/share/M2000/
cp "package/Cassettes/Basic Demo Cassette (zijde A).cas" package/M2000_amd64/usr/share/M2000/
cp "package/Cassettes/Basic Demo Cassette (zijde B).cas" package/M2000_amd64/usr/share/M2000/
cp "package/Cartridges/Basic 1.1 NL.bin" package/M2000_amd64/usr/share/M2000/
cp "package/Cartridges/Familiegeheugen 2.0 NL.bin" package/M2000_amd64/usr/share/M2000/
- name: Create package
run: |
cd package
dpkg-deb --build M2000_amd64
- name: Upload package
uses: actions/upload-artifact@v4
with:
name: M2000-snapshot-ubuntu
path: package/M2000_amd64.deb
build-macos:
runs-on: macos-11
env:
MACOSX_DEPLOYMENT_TARGET: 10.11
steps:
- name: Install dependencies
run: |
brew install allegro
brew install dylibbundler
- uses: actions/checkout@v4
- name: Build Allegro
run: make allegro
- name: Build Libretro
run: make libretro CC=gcc
- name: Copy files
run: |
cp M2000 package/M2000.app/Contents/MacOS/
cp Default.fnt package/M2000.app/Contents/Resources/
cp P2000ROM.bin package/M2000.app/Contents/Resources/
cp BASIC.bin package/M2000.app/Contents/Resources/
cp README.md package/M2000.app/Contents/Resources/
cp "package/Cassettes/Basic Demo Cassette (zijde A).cas" package/M2000.app/Contents/Resources/
cp "package/Cassettes/Basic Demo Cassette (zijde B).cas" package/M2000.app/Contents/Resources/
cp "package/Cartridges/Basic 1.1 NL.bin" package/M2000.app/Contents/Resources/
cp "package/Cartridges/Familiegeheugen 2.0 NL.bin" package/M2000.app/Contents/Resources/
- name: Run dylibbundler
run: |
export DYLD_LIBRARY_PATH=/usr/local/opt/allegro/lib
dylibbundler -x package/M2000.app/Contents/MacOS/M2000 -b -cd -p @executable_path
- name: Zip package
run: |
cd package
zip -vr M2000.zip M2000.app
- name: Upload package
uses: actions/upload-artifact@v4
with:
name: M2000-snapshot-macos
path: package/M2000.zip