Skip to content

Commit

Permalink
Integrate step-test-Z80 into CI.
Browse files Browse the repository at this point in the history
  • Loading branch information
redcode committed Dec 23, 2024
1 parent efa24fa commit 0570fa2
Show file tree
Hide file tree
Showing 3 changed files with 99 additions and 4 deletions.
10 changes: 6 additions & 4 deletions .github/workflows/build-and-test-library.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,19 @@ on:
- '.github/workflows/build-and-test-library.yml'
- 'API/**'
- 'CMake/FindZeta.cmake'
- 'sources/*.c'
- 'sources/*.rc.in'
- 'sources/test-Z80.c'
- 'sources/Z80.c'
- 'sources/Z80.rc.in'
- 'support/*.sha3-512'
- 'CMakeLists.txt'
pull_request:
paths:
- '.github/workflows/build-and-test-library.yml'
- 'API/**'
- 'CMake/FindZeta.cmake'
- 'sources/*.c'
- 'sources/*.rc.in'
- 'sources/test-Z80.c'
- 'sources/Z80.c'
- 'sources/Z80.rc.in'
- 'support/*.sha3-512'
- 'CMakeLists.txt'

Expand Down
92 changes: 92 additions & 0 deletions .github/workflows/step-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
name: Step tests

on:
push:
paths:
- '.github/workflows/step-tests.yml'
- 'API/**'
- 'CMake/FindZeta.cmake'
- 'sources/step-test-Z80.c'
- 'sources/Z80.c'
- 'CMakeLists.txt'
pull_request:
paths:
- '.github/workflows/step-tests.yml'
- 'API/**'
- 'CMake/FindZeta.cmake'
- 'sources/step-test-Z80.c'
- 'sources/Z80.c'
- 'CMakeLists.txt'

env:
BUILD_SHARED_LIBS: YES
CMAKE_BUILD_TYPE: Release
Z80_FETCH_TEST_FILES: YES
Z80_NOSTDLIB_FLAGS: Auto
Z80_WITH_CMAKE_SUPPORT: NO
Z80_WITH_HTML_DOCUMENTATION: NO
Z80_WITH_PDF_DOCUMENTATION: NO
Z80_WITH_PKGCONFIG_SUPPORT: NO
Z80_WITH_STANDARD_DOCUMENTS: NO
Z80_WITH_STEP_TESTS: YES
Z80_WITH_TESTS: NO
Z80_WITH_EXECUTE: YES
Z80_WITH_FULL_IM0: YES
Z80_WITH_IM0_RETX_NOTIFICATIONS: YES
Z80_WITH_Q: YES
Z80_WITH_SPECIAL_RESET: YES
Z80_WITH_UNOFFICIAL_RETI: NO
Z80_WITH_ZILOG_NMOS_LD_A_IR_BUG: YES

jobs:
step-tests:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Install dependencies
run: |
curl -L https://zxe.io/scripts/add-zxe-apt-repo.sh | sudo sh
sudo apt-get update
sudo apt-get -y install libcjson-dev
sudo apt-get -y install libz80insnclock-dev
- name: Fetch unit tests
run: |
mkdir -p "${{github.workspace}}/build/SingleStepTests-Z80"
curl -L $(
curl -s https://api.github.com/repos/SingleStepTests/z80/releases/latest |
grep tarball_url | cut -d : -f 2,3 | tr -d '" ,'
) | gzip -cd | tar -C "${{github.workspace}}/build/SingleStepTests-Z80" --strip-components=2 -xf - "SingleStepTests**/v1"
- name: Configure CMake
run: >-
cmake
-DBUILD_SHARED_LIBS=${{env.BUILD_SHARED_LIBS}}
-DCMAKE_BUILD_TYPE=${{env.CMAKE_BUILD_TYPE}}
-DZ80_FETCH_TEST_FILES=${{env.Z80_FETCH_TEST_FILES}}
-DZ80_NOSTDLIB_FLAGS=${{env.Z80_NOSTDLIB_FLAGS}}
-DZ80_WITH_CMAKE_SUPPORT=${{env.Z80_WITH_CMAKE_SUPPORT}}
-DZ80_WITH_HTML_DOCUMENTATION=${{env.Z80_WITH_HTML_DOCUMENTATION}}
-DZ80_WITH_PDF_DOCUMENTATION=${{env.Z80_WITH_PDF_DOCUMENTATION}}
-DZ80_WITH_PKGCONFIG_SUPPORT=${{env.Z80_WITH_PKGCONFIG_SUPPORT}}
-DZ80_WITH_STANDARD_DOCUMENTS=${{env.Z80_WITH_STANDARD_DOCUMENTS}}
-DZ80_WITH_STEP_TESTS=${{env.Z80_WITH_STEP_TESTS}}
-DZ80_WITH_TESTS=${{env.Z80_WITH_TESTS}}
-DZ80_WITH_EXECUTE=${{env.Z80_WITH_EXECUTE}}
-DZ80_WITH_FULL_IM0=${{env.Z80_WITH_FULL_IM0}}
-DZ80_WITH_IM0_RETX_NOTIFICATIONS=${{env.Z80_WITH_IM0_RETX_NOTIFICATIONS}}
-DZ80_WITH_Q=${{env.Z80_WITH_Q}}
-DZ80_WITH_SPECIAL_RESET=${{env.Z80_WITH_SPECIAL_RESET}}
-DZ80_WITH_UNOFFICIAL_RETI=${{env.Z80_WITH_UNOFFICIAL_RETI}}
-DZ80_WITH_ZILOG_NMOS_LD_A_IR_BUG=${{env.Z80_WITH_ZILOG_NMOS_LD_A_IR_BUG}}
-B "${{github.workspace}}/build"
-S "${{github.workspace}}"
- name: Build
run: cmake --build "${{github.workspace}}/build" --config ${{env.CMAKE_BUILD_TYPE}} --verbose

- name: Test
working-directory: ${{github.workspace}}/build
run: ./step-test-Z80 SingleStepTests-Z80/*.json
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

[![](https://zxe.io/software/Z80/assets/images/documentation-badge.svg)](https://zxe.io/software/Z80/documentation/latest)
[![](https://github.com/redcode/Z80/actions/workflows/build-and-test-library.yml/badge.svg)](https://github.com/redcode/Z80/actions/workflows/build-and-test-library.yml)
[![](https://github.com/redcode/Z80/actions/workflows/step-tests.yml/badge.svg)](https://github.com/redcode/Z80/actions/workflows/step-tests.yml)
[![](https://github.com/redcode/Z80/actions/workflows/build-documentation.yml/badge.svg)](https://github.com/redcode/Z80/actions/workflows/build-documentation.yml)
[![](https://zxe.io/software/Z80/assets/images/chat-badge.svg)](https://zxe.io/software/Z80/chat)
![](https://zxe.io/software/Z80/assets/images/mentioned-in-awesome-badge.svg)
Expand Down

0 comments on commit 0570fa2

Please sign in to comment.