diff --git a/.github/workflows/build-on-pull-request.yml b/.github/workflows/build-on-pull-request.yml index 53f79fef4..da9216a3d 100644 --- a/.github/workflows/build-on-pull-request.yml +++ b/.github/workflows/build-on-pull-request.yml @@ -1,6 +1,6 @@ name: Build Pull Request on: [pull_request] -concurrency: +concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true @@ -8,11 +8,11 @@ jobs: build_linux: name: Build and Test (Linux) runs-on: ubuntu-latest - + steps: - shell: bash run: git config --global core.autocrlf input - + - name: Checkout Source uses: actions/checkout@v2 @@ -21,28 +21,35 @@ jobs: run: | sudo apt-get update sudo apt-get install linuxdoc-tools linuxdoc-tools-info binutils-mingw-w64-i686 gcc-mingw-w64-i686 sshpass - - - name: Build - id: build + + - 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: Build the document files. + shell: bash + run: make -j2 doc + - name: Build 32-bit Windows versions of the tools. run: | - make -j2 bin USER_CFLAGS=-Werror - make -j2 lib QUIET=1 - make test QUIET=1 - make -j2 samples make -C src clean make -j2 bin USER_CFLAGS=-Werror CROSS_COMPILE=i686-w64-mingw32- - make -C samples clean - make -j2 doc zip 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 @@ -51,6 +58,6 @@ jobs: - 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 diff --git a/.github/workflows/snapshot-on-push-master.yml b/.github/workflows/snapshot-on-push-master.yml index aefc7f2f5..e10904357 100644 --- a/.github/workflows/snapshot-on-push-master.yml +++ b/.github/workflows/snapshot-on-push-master.yml @@ -1,9 +1,9 @@ -name: Snapshot Build +name: Snapshot Build on: push: branches: master -concurrency: +concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true @@ -11,11 +11,11 @@ jobs: 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 @@ -24,7 +24,7 @@ jobs: - 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 @@ -32,11 +32,11 @@ jobs: name: Build, Test and Snaphot (Linux) runs-on: ubuntu-latest needs: build_windows - + steps: - shell: bash run: git config --global core.autocrlf input - + - name: Checkout Source uses: actions/checkout@v2 @@ -45,25 +45,37 @@ jobs: run: | sudo apt-get update sudo apt-get install linuxdoc-tools linuxdoc-tools-info binutils-mingw-w64-i686 gcc-mingw-w64-i686 sshpass - - - name: Build - id: build + + - 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: Remove the output from the samples tests. + shell: bash + run: make -C samples clean + - name: Build the document files. + shell: bash + run: make -j2 doc + - name: Build and package 32-bit Windows versions of the tools. run: | - make -j2 bin USER_CFLAGS=-Werror - make -j2 lib QUIET=1 - make test QUIET=1 - make -j2 samples make -C src clean make -j2 bin USER_CFLAGS=-Werror CROSS_COMPILE=i686-w64-mingw32- - make -C samples clean - make -j2 doc zip - + make zip + mv cc65.zip cc65-win32.zip + - name: Upload Snapshot Zip uses: actions/upload-artifact@v2 with: name: cc65-snapshot-win32.zip - path: cc65.zip + path: cc65-win32.zip # TODO: Update docs at https://github.com/cc65/doc # TODO: Publish snapshot zip at https://github.com/cc65/cc65.github.io