1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-23 04:30:10 +00:00
cc65/.github/workflows/build-on-pull-request.yml
2022-01-30 19:51:05 +01:00

190 lines
7.0 KiB
YAML

name: Build Pull Request
on: [pull_request]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build_linux:
name: Build and Test (Linux)
runs-on: ubuntu-latest
steps:
- name: Install Dependencies
shell: bash
run: |
sudo apt-get update
sudo apt-get install linuxdoc-tools-info gcc-mingw-w64-x86-64
- shell: bash
run: git config --global core.autocrlf input
- name: Checkout Source
uses: actions/checkout@v2
- name: Build the tools.
shell: bash
run: make -j2 bin USER_CFLAGS=-Werror
- name: Build the platform libraries.
shell: bash
run: make -j2 lib QUIET=1
- name: Run the regression tests.
shell: bash
run: make test QUIET=1
- name: Test that the samples can be built.
shell: bash
run: |
make SYS=apple2 -C samples
make SYS=apple2 -C samples clean
make SYS=apple2enh -C samples
make SYS=apple2enh -C samples clean
make SYS=atari -C samples
make SYS=atari -C samples clean
make SYS=atarixl -C samples
make SYS=atarixl -C samples clean
make SYS=atari2600 -C samples
make SYS=atari2600 -C samples clean
make SYS=atari5200 -C samples
make SYS=atari5200 -C samples clean
make SYS=atmos -C samples
make SYS=atmos -C samples clean
make SYS=bbc -C samples
make SYS=bbc -C samples clean
make SYS=c128 -C samples
make SYS=c128 -C samples clean
make SYS=c16 -C samples
make SYS=c16 -C samples clean
make SYS=c64 -C samples
make SYS=c64 -C samples clean
make SYS=cbm510 -C samples
make SYS=cbm510 -C samples clean
make SYS=cbm610 -C samples
make SYS=cbm610 -C samples clean
make SYS=creativision -C samples
make SYS=creativision -C samples clean
make SYS=cx16 -C samples
make SYS=cx16 -C samples clean
make SYS=gamate -C samples
make SYS=gamate -C samples clean
make SYS=geos-apple -C samples
make SYS=geos-apple -C samples clean
make SYS=geos-cbm -C samples
make SYS=geos-cbm -C samples clean
make SYS=lunix -C samples
make SYS=lunix -C samples clean
make SYS=lynx -C samples
make SYS=lynx -C samples clean
make SYS=nes -C samples
make SYS=nes -C samples clean
make SYS=osic1p -C samples
make SYS=osic1p -C samples clean
make SYS=pce -C samples
make SYS=pce -C samples clean
make SYS=pet -C samples
make SYS=pet -C samples clean
make SYS=plus4 -C samples
make SYS=plus4 -C samples clean
make SYS=sim6502 -C samples
make SYS=sim6502 -C samples clean
make SYS=sim65c02 -C samples
make SYS=sim65c02 -C samples clean
make SYS=supervision -C samples
make SYS=supervision -C samples clean
make SYS=sym1 -C samples
make SYS=sym1 -C samples clean
make SYS=telestrat -C samples
make SYS=telestrat -C samples clean
make SYS=vic20 -C samples
make SYS=vic20 -C samples clean
- name: Test that the targettest programs can be built.
shell: bash
run: |
make SYS=apple2 -C targettest
make SYS=apple2 -C targettest clean
make SYS=apple2enh -C targettest
make SYS=apple2enh -C targettest clean
make SYS=atari -C targettest
make SYS=atari -C targettest clean
make SYS=atarixl -C targettest
make SYS=atarixl -C targettest clean
make SYS=atari2600 -C targettest
make SYS=atari2600 -C targettest clean
make SYS=atari5200 -C targettest
make SYS=atari5200 -C targettest clean
make SYS=atmos -C targettest
make SYS=atmos -C targettest clean
make SYS=bbc -C targettest
make SYS=bbc -C targettest clean
make SYS=c128 -C targettest
make SYS=c128 -C targettest clean
make SYS=c16 -C targettest
make SYS=c16 -C targettest clean
make SYS=c64 -C targettest
make SYS=c64 -C targettest clean
make SYS=cbm510 -C targettest
make SYS=cbm510 -C targettest clean
make SYS=cbm610 -C targettest
make SYS=cbm610 -C targettest clean
make SYS=creativision -C targettest
make SYS=creativision -C targettest clean
make SYS=cx16 -C targettest
make SYS=cx16 -C targettest clean
make SYS=gamate -C targettest
make SYS=gamate -C targettest clean
make SYS=geos-apple -C targettest
make SYS=geos-apple -C targettest clean
make SYS=geos-cbm -C targettest
make SYS=geos-cbm -C targettest clean
make SYS=lunix -C targettest
make SYS=lunix -C targettest clean
make SYS=lynx -C targettest
make SYS=lynx -C targettest clean
make SYS=nes -C targettest
make SYS=nes -C targettest clean
make SYS=osic1p -C targettest
make SYS=osic1p -C targettest clean
make SYS=pce -C targettest
make SYS=pce -C targettest clean
make SYS=pet -C targettest
make SYS=pet -C targettest clean
make SYS=plus4 -C targettest
make SYS=plus4 -C targettest clean
make SYS=sim6502 -C targettest
make SYS=sim6502 -C targettest clean
make SYS=sim65c02 -C targettest
make SYS=sim65c02 -C targettest clean
make SYS=supervision -C targettest
make SYS=supervision -C targettest clean
make SYS=sym1 -C targettest
make SYS=sym1 -C targettest clean
make SYS=telestrat -C targettest
make SYS=telestrat -C targettest clean
make SYS=vic20 -C targettest
make SYS=vic20 -C targettest clean
- name: Build the document files.
shell: bash
run: make -j2 doc
- name: Build 64-bit Windows versions of the tools.
run: |
make -C src clean
make -j2 bin USER_CFLAGS=-Werror CROSS_COMPILE=x86_64-w64-mingw32-
build_windows:
name: Build (Windows)
runs-on: windows-latest
steps:
- shell: bash
run: git config --global core.autocrlf input
- name: Checkout Source
uses: actions/checkout@v2
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.1
- name: Build app (debug)
run: msbuild src\cc65.sln -t:rebuild -property:Configuration=Debug
- name: Build app (release)
run: msbuild src\cc65.sln -t:rebuild -property:Configuration=Release