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 -j2 samples - name: Test that the targettest programs can be built. shell: bash run: | make SYS=c64 -C targettest all make SYS=c64 -C targettest clean 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 # 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