mirror of
https://github.com/cmosher01/Epple-II.git
synced 2024-08-14 10:29:12 +00:00
202 lines
5.3 KiB
YAML
202 lines
5.3 KiB
YAML
---
|
|
on:
|
|
push:
|
|
tags:
|
|
|
|
env:
|
|
name: "epple2"
|
|
desc: "Apple ][ emulator"
|
|
deb_depends: "libsdl2-2.0-0"
|
|
|
|
jobs:
|
|
"build-roms":
|
|
runs-on: "ubuntu-latest"
|
|
steps:
|
|
- name: "Prepare runner"
|
|
run: |
|
|
set -x
|
|
sudo apt-get update -qqqq
|
|
sudo apt-get install -qqqq xa65
|
|
|
|
- uses: "actions/checkout@v3"
|
|
|
|
- name: "Build artifacts"
|
|
run: |
|
|
set -x
|
|
cd rom
|
|
make
|
|
|
|
- uses: "actions/upload-artifact@v3"
|
|
with:
|
|
name: "epple2-roms"
|
|
path: "./rom/*.a65"
|
|
|
|
|
|
|
|
"build-epple2-ubuntu":
|
|
needs: "build-roms"
|
|
runs-on: "ubuntu-latest"
|
|
steps:
|
|
- name: "Prepare runner"
|
|
run: |
|
|
set -x
|
|
sudo apt-get update -qqqq
|
|
sudo apt-get install -qqqq libsdl2-dev tree
|
|
|
|
- uses: "actions/checkout@v3"
|
|
|
|
- name: "Build"
|
|
run: |
|
|
set -x
|
|
mkdir build
|
|
cd build
|
|
cmake ..
|
|
cmake --build .
|
|
|
|
- uses: "actions/download-artifact@v3"
|
|
with:
|
|
name: "epple2-roms"
|
|
path: "build/epple2-roms"
|
|
|
|
- name: "Stage"
|
|
run: |
|
|
set -x
|
|
pwd
|
|
cd build
|
|
mkdir -p stage/usr/local/bin
|
|
mkdir -p stage/usr/local/etc/epple2
|
|
mkdir -p stage/usr/local/lib/epple2/system
|
|
mkdir -p stage/usr/local/lib/epple2/cards
|
|
cp src/epple2 stage/usr/local/bin/
|
|
cp conf/*.conf stage/usr/local/etc/epple2/
|
|
cp epple2-roms/epple2sys.a65 stage/usr/local/lib/epple2/system/
|
|
cp epple2-roms/stdout.a65 stage/usr/local/lib/epple2/cards/
|
|
cp epple2-roms/stdin.a65 stage/usr/local/lib/epple2/cards/
|
|
cp epple2-roms/clock.a65 stage/usr/local/lib/epple2/cards/
|
|
tree stage
|
|
|
|
- name: "Package"
|
|
uses: "jiro4989/build-deb-action@v2"
|
|
with:
|
|
package: "${{ env.name }}"
|
|
desc: "${{ env.desc }}"
|
|
maintainer: "${{ github.repository_owner }}"
|
|
version: "${{ github.ref }}"
|
|
arch: "amd64"
|
|
package_root: "build/stage"
|
|
depends: "${{ env.deb_depends }}"
|
|
|
|
- uses: "softprops/action-gh-release@v1"
|
|
with:
|
|
files: |
|
|
*.deb
|
|
|
|
|
|
|
|
"build-epple2-macos":
|
|
needs: "build-roms"
|
|
runs-on: "macos-latest"
|
|
steps:
|
|
- name: "Prepare runner"
|
|
run: |
|
|
set -x
|
|
HOMEBREW_NO_AUTO_UPDATE=1 brew install sdl2 tree
|
|
|
|
- uses: "actions/checkout@v3"
|
|
|
|
- name: "Build"
|
|
run: |
|
|
set -x
|
|
mkdir build
|
|
cd build
|
|
cmake ..
|
|
cmake --build .
|
|
|
|
- uses: "actions/download-artifact@v3"
|
|
with:
|
|
name: "epple2-roms"
|
|
path: "build/epple2-roms"
|
|
|
|
- name: "Stage"
|
|
run: |
|
|
set -x
|
|
pwd
|
|
cd build
|
|
mkdir -p stage/local/bin
|
|
mkdir -p stage/local/etc/epple2
|
|
mkdir -p stage/local/lib/epple2/system
|
|
mkdir -p stage/local/lib/epple2/cards
|
|
cp src/epple2 stage/local/bin/
|
|
cp conf/*.conf stage/local/etc/epple2/
|
|
cp epple2-roms/epple2sys.a65 stage/local/lib/epple2/system/
|
|
cp epple2-roms/stdout.a65 stage/local/lib/epple2/cards/
|
|
cp epple2-roms/stdin.a65 stage/local/lib/epple2/cards/
|
|
cp epple2-roms/clock.a65 stage/local/lib/epple2/cards/
|
|
tree stage
|
|
|
|
- name: "Package"
|
|
run: |
|
|
set -x
|
|
pkgbuild --identifier nu.mine.mosher.$name --root build/stage --install-location /usr $name.pkg
|
|
|
|
- uses: "softprops/action-gh-release@v1"
|
|
with:
|
|
files: |
|
|
*.pkg
|
|
|
|
|
|
|
|
"build-epple2-windows":
|
|
needs: "build-roms"
|
|
runs-on: "windows-latest"
|
|
steps:
|
|
- name: "Prepare runner"
|
|
run: |
|
|
Invoke-WebRequest -Uri "https://github.com/libsdl-org/SDL/releases/download/release-2.24.2/SDL2-devel-2.24.2-VC.zip" -OutFile "C:/Program Files/SDL2-devel-VC.zip"
|
|
Expand-Archive -LiteralPath "C:/Program Files/SDL2-devel-VC.zip" -DestinationPath "C:/Program Files/"
|
|
|
|
- uses: "actions/checkout@v3"
|
|
|
|
- name: "Build"
|
|
shell: "bash"
|
|
run: |
|
|
set -x
|
|
mkdir build
|
|
cd build
|
|
cmake ..
|
|
cmake --build .
|
|
|
|
- uses: "actions/download-artifact@v3"
|
|
with:
|
|
name: "epple2-roms"
|
|
path: "build/epple2-roms"
|
|
|
|
- name: "Stage"
|
|
shell: "bash"
|
|
run: |
|
|
set -x
|
|
pwd
|
|
cd build
|
|
mkdir -p stage/epple2/etc/epple2
|
|
mkdir -p stage/epple2/lib/epple2/system
|
|
mkdir -p stage/epple2/lib/epple2/cards
|
|
cp src/Debug/epple2.exe stage/epple2/
|
|
cp conf/*.conf stage/epple2/etc/epple2/
|
|
cp epple2-roms/epple2sys.a65 stage/epple2/lib/epple2/system/
|
|
cp epple2-roms/stdout.a65 stage/epple2/lib/epple2/cards/
|
|
cp epple2-roms/stdin.a65 stage/epple2/lib/epple2/cards/
|
|
cp epple2-roms/clock.a65 stage/epple2/lib/epple2/cards/
|
|
cp "C:/Program Files/SDL2-2.24.2/lib/x64/SDL2.dll" stage/epple2/
|
|
|
|
- name: "Package"
|
|
uses: "thedoctor0/zip-release@main"
|
|
with:
|
|
directory: "build/stage"
|
|
path: "${{ env.name }}"
|
|
filename: "${{ env.name }}-windows.zip"
|
|
|
|
- uses: "softprops/action-gh-release@v1"
|
|
with:
|
|
files: |
|
|
*.zip
|