Skip to content

Commit

Permalink
Add separate builds for the byuu frontend.
Browse files Browse the repository at this point in the history
By convention, byuu builds use the "performance" versions of each core
(where available), while higan builds use the "accuracy" cores.

byuu does not need higan's Templates or icarus' Firmware directories (they're
compiled in) and it doesn't need a `paths.bml` to tell it where to store
configured systems (because it uses static, built-in configs). We can still
give it an empty Firmware directory, though, as a hint for where to drop
the DSP (etc.) firmware files.
  • Loading branch information
Screwtapello committed Apr 8, 2020
1 parent 165ea27 commit 2c85f45
Showing 1 changed file with 102 additions and 48 deletions.
150 changes: 102 additions & 48 deletions .cirrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,19 @@ linux-x86_64-binaries_task:
higan-nightly_artifacts:
path: "higan-nightly.zip"

- build_byuu_script:
- make -C higan target=byuu profile=performance build=performance local=false

package_byuu_script:
- mkdir byuu-nightly
- mkdir byuu-nightly/Firmware
- cp -a higan/out/byuu byuu-nightly/byuu
- cp -a GPLv3.txt byuu-nightly
- zip -r byuu-nightly.zip byuu-nightly

byuu-nightly_artifacts:
path: "byuu-nightly.zip"

freebsd-x86_64-binaries_task:
freebsd_instance:
image: freebsd-12-1-release-amd64
Expand All @@ -46,7 +59,7 @@ freebsd-x86_64-binaries_task:
- gmake -C genius

- build_higan_script:
- gmake -C higan target=higan local=false
- gmake -C higan target=higan profile=accuracy build=performance local=false
- gmake -C icarus

package_higan_script:
Expand All @@ -70,66 +83,107 @@ freebsd-x86_64-binaries_task:
higan-nightly_artifacts:
path: "higan-nightly.zip"

- build_higan_script:
- gmake -C higan target=byuu profile=performance build=performance local=false

package_byuu_script:
- mkdir byuu-nightly
- mkdir byuu-nightly/Firmware
- cp -a higan/out/byuu byuu-nightly/byuu
- cp -a GPLv3.txt byuu-nightly
- zip -r byuu-nightly.zip byuu-nightly

byuu-nightly_artifacts:
path: "byuu-nightly.zip"

windows-x86_64-binaries_task:
container:
image: ubuntu:latest

setup_script:
- apt-get update && apt-get -y install build-essential curl mingw-w64 zip

build_higan_script:
- make -C higan target=higan local=false platform=windows compiler="x86_64-w64-mingw32-g++" windres="x86_64-w64-mingw32-windres"
- make -C icarus platform=windows compiler="x86_64-w64-mingw32-g++" windres="x86_64-w64-mingw32-windres"

package_higan_script:
- mkdir higan-nightly
- cp -a higan/out/higan higan-nightly/higan.exe
- cp -a icarus/out/icarus higan-nightly/icarus.exe
- cp -a higan/System higan-nightly/Templates
- mkdir higan-nightly/Systems
- cp -a icarus/Database higan-nightly
- cp -a icarus/Firmware higan-nightly
- cp -a GPLv3.txt higan-nightly
- echo "templates: ./Templates/" >> higan-nightly/paths.bml
- echo "data: ./Systems/" >> higan-nightly/paths.bml
- zip -r higan-nightly.zip higan-nightly

matrix:
- only_if: $CIRRUS_RELEASE != ""
environment:
OS: windows-x86_64
GITHUB_TOKEN: ENCRYPTED[7a134a5ab55ae4be1e91c44040969d89e5f4017e2d71f4f03fbde21e136085b6f366c33e0bbcc2d2c6d23914a149aa66]
upload_script: ./.cirrus.upload.sh
- only_if: $CIRRUS_RELEASE == ""
- build_higan_script:
- make -C higan target=higan profile=accuracy build=performance local=false platform=windows compiler="x86_64-w64-mingw32-g++" windres="x86_64-w64-mingw32-windres"
- make -C icarus platform=windows compiler="x86_64-w64-mingw32-g++" windres="x86_64-w64-mingw32-windres"

package_higan_script:
- mkdir higan-nightly
- cp -a higan/out/higan higan-nightly/higan.exe
- cp -a icarus/out/icarus higan-nightly/icarus.exe
- cp -a higan/System higan-nightly/Templates
- mkdir higan-nightly/Systems
- cp -a icarus/Database higan-nightly
- cp -a icarus/Firmware higan-nightly
- cp -a GPLv3.txt higan-nightly
- echo "templates: ./Templates/" >> higan-nightly/paths.bml
- echo "data: ./Systems/" >> higan-nightly/paths.bml
- zip -r higan-nightly.zip higan-nightly

matrix:
- only_if: $CIRRUS_RELEASE != ""
environment:
OS: windows-x86_64
GITHUB_TOKEN: ENCRYPTED[7a134a5ab55ae4be1e91c44040969d89e5f4017e2d71f4f03fbde21e136085b6f366c33e0bbcc2d2c6d23914a149aa66]
upload_script: ./.cirrus.upload.sh
- only_if: $CIRRUS_RELEASE == ""

higan-nightly_artifacts:
path: "higan-nightly.zip"

higan-nightly_artifacts:
path: "higan-nightly.zip"
- build_byuu_script:
- make -C higan target=byuu profile=performance build=performance local=false platform=windows compiler="x86_64-w64-mingw32-g++" windres="x86_64-w64-mingw32-windres"

package_byuu_script:
- mkdir byuu-nightly
- mkdir byuu-nightly/Firmware
- cp -a higan/out/byuu byuu-nightly/byuu.exe
- cp -a GPLv3.txt byuu-nightly
- zip -r byuu-nightly.zip byuu-nightly

byuu-nightly_artifacts:
path: "byuu-nightly.zip"

macOS-x86_64-binaries_task:
osx_instance:
image: mojave-base

build_higan_script:
- make -C higan target=higan local=false
- make -C icarus
matrix:
- build_higan_script:
- make -C higan target=higan profile=accuracy build=performance local=false
- make -C icarus

package_higan_script:
- mkdir higan-nightly
- cp -a higan/out/higan.app higan-nightly
- cp -a higan/System higan-nightly
- cp -a icarus/out/icarus.app higan-nightly
- cp -a icarus/Database higan-nightly
- cp -a icarus/Firmware higan-nightly
- cp -a GPLv3.txt higan-nightly
- zip -r higan-nightly.zip higan-nightly

matrix:
- only_if: $CIRRUS_RELEASE != ""
environment:
OS: macOS-x86_64
GITHUB_TOKEN: ENCRYPTED[7a134a5ab55ae4be1e91c44040969d89e5f4017e2d71f4f03fbde21e136085b6f366c33e0bbcc2d2c6d23914a149aa66]
upload_script: ./.cirrus.upload.sh
- only_if: $CIRRUS_RELEASE == ""

higan-nightly_artifacts:
path: "higan-nightly.zip"

package_higan_script:
- mkdir higan-nightly
- cp -a higan/out/higan.app higan-nightly
- cp -a higan/System higan-nightly
- cp -a icarus/out/icarus.app higan-nightly
- cp -a icarus/Database higan-nightly
- cp -a icarus/Firmware higan-nightly
- cp -a GPLv3.txt higan-nightly
- zip -r higan-nightly.zip higan-nightly
- build_byuu_script:
- make -C higan target=byuu profile=performance build=performance local=false

matrix:
- only_if: $CIRRUS_RELEASE != ""
environment:
OS: macOS-x86_64
GITHUB_TOKEN: ENCRYPTED[7a134a5ab55ae4be1e91c44040969d89e5f4017e2d71f4f03fbde21e136085b6f366c33e0bbcc2d2c6d23914a149aa66]
upload_script: ./.cirrus.upload.sh
- only_if: $CIRRUS_RELEASE == ""

higan-nightly_artifacts:
path: "higan-nightly.zip"
package_byuu_script:
- mkdir byuu-nightly
- mkdir byuu-nightly/Firmware
- cp -a higan/out/byuu.app byuu-nightly
- cp -a GPLv3.txt byuu-nightly
- zip -r byuu-nightly.zip byuu-nightly

byuu-nightly_artifacts:
path: "byuu-nightly.zip"

0 comments on commit 2c85f45

Please sign in to comment.