2021-12-11 11:30:21 +11:00
|
|
|
name: Build Pull Request
|
|
|
|
on: [pull_request]
|
2021-12-12 12:27:55 -05:00
|
|
|
concurrency:
|
2021-12-11 11:30:21 +11:00
|
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
|
|
cancel-in-progress: true
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
build_linux:
|
|
|
|
name: Build and Test (Linux)
|
|
|
|
runs-on: ubuntu-latest
|
2021-12-12 12:27:55 -05:00
|
|
|
|
2021-12-11 11:30:21 +11:00
|
|
|
steps:
|
|
|
|
- name: Install Dependencies
|
|
|
|
shell: bash
|
|
|
|
run: |
|
|
|
|
sudo apt-get update
|
2021-12-12 13:42:25 -05:00
|
|
|
sudo apt-get install linuxdoc-tools-info gcc-mingw-w64-x86-64
|
2021-12-12 12:27:55 -05:00
|
|
|
|
2021-12-12 23:54:17 -05:00
|
|
|
- shell: bash
|
|
|
|
run: git config --global core.autocrlf input
|
|
|
|
- name: Checkout Source
|
|
|
|
uses: actions/checkout@v2
|
|
|
|
|
2021-12-12 12:27:55 -05:00
|
|
|
- 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.
|
2021-12-11 11:30:21 +11:00
|
|
|
shell: bash
|
2021-12-12 12:27:55 -05:00
|
|
|
run: make test QUIET=1
|
|
|
|
- name: Test that the samples can be built.
|
|
|
|
shell: bash
|
|
|
|
run: make -j2 samples
|
2022-01-30 01:23:10 +01:00
|
|
|
- name: Test that the targettest programs can be built.
|
|
|
|
shell: bash
|
|
|
|
run: |
|
2022-01-30 01:54:06 +01:00
|
|
|
make SYS=c64 -C targettest all
|
|
|
|
make SYS=c64 -C targettest clean
|
2022-01-30 01:23:10 +01:00
|
|
|
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
|
2022-01-30 01:46:47 +01:00
|
|
|
# make SYS=atari2600 -C targettest
|
|
|
|
# make SYS=atari2600 -C targettest clean
|
2022-01-30 02:29:11 +01:00
|
|
|
# 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
|
2022-01-30 01:23:10 +01:00
|
|
|
make SYS=c64 -C targettest
|
|
|
|
make SYS=c64 -C targettest clean
|
2022-01-30 02:29:11 +01:00
|
|
|
# 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
|
2022-01-30 01:46:47 +01:00
|
|
|
# make SYS=supervision -C targettest
|
|
|
|
# make SYS=supervision -C targettest clean
|
2022-01-30 02:29:11 +01:00
|
|
|
# make SYS=sym1 -C targettest
|
|
|
|
# make SYS=sym1 -C targettest clean
|
|
|
|
# make SYS=telestrat -C targettest
|
|
|
|
# make SYS=telestrat -C targettest clean
|
2022-01-30 01:23:10 +01:00
|
|
|
make SYS=vic20 -C targettest
|
|
|
|
make SYS=vic20 -C targettest clean
|
2021-12-12 12:27:55 -05:00
|
|
|
- name: Build the document files.
|
|
|
|
shell: bash
|
|
|
|
run: make -j2 doc
|
2021-12-12 13:42:25 -05:00
|
|
|
- name: Build 64-bit Windows versions of the tools.
|
2021-12-11 11:30:21 +11:00
|
|
|
run: |
|
|
|
|
make -C src clean
|
2021-12-12 13:42:25 -05:00
|
|
|
make -j2 bin USER_CFLAGS=-Werror CROSS_COMPILE=x86_64-w64-mingw32-
|
2021-12-11 11:30:21 +11:00
|
|
|
|
|
|
|
build_windows:
|
|
|
|
name: Build (Windows)
|
|
|
|
runs-on: windows-latest
|
2021-12-12 12:27:55 -05:00
|
|
|
|
2021-12-11 11:30:21 +11:00
|
|
|
steps:
|
|
|
|
- shell: bash
|
|
|
|
run: git config --global core.autocrlf input
|
2021-12-12 12:27:55 -05:00
|
|
|
|
2021-12-11 11:30:21 +11:00
|
|
|
- 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
|
2021-12-12 12:27:55 -05:00
|
|
|
|
2021-12-11 11:30:21 +11:00
|
|
|
- name: Build app (release)
|
|
|
|
run: msbuild src\cc65.sln -t:rebuild -property:Configuration=Release
|
2022-01-30 02:07:50 +01:00
|
|
|
|
2022-01-30 02:29:11 +01:00
|
|
|
# TODO: fix tergettest Makefile for all currently commented out targets
|
2022-01-30 02:07:50 +01:00
|
|
|
# TODO: build targettest cbm subdir for all cbm targets
|
|
|
|
# TODO: build targettest atari subdir for all atari targets
|
|
|
|
# TODO: build targettest apple2 subdir for all apple2 targets
|