diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 53fbe4e..0f05edf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,8 +23,62 @@ jobs: - name: Executing linter run: | make lint + trlc: + name: TRLC + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@v4 + - name: Install dependencies + run: | + python3 -m pip install --upgrade pip + python3 -m pip install -r requirements.txt + - name: Run TRLC + run: | + make trlc + test: + name: TestSuite + needs: [lint, trlc] + strategy: + matrix: + os: [ubuntu-24.04, windows-2022, macos-13, macos-14] + py-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + include: + - os: macos-13 + brew: "/usr/local" + - os: macos-14 + brew: "/opt/homebrew" + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Install python version + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.py-version }} + - name: Install dependencies + run: | + python3 -m pip install --upgrade pip + python3 -m pip install -r requirements_dev.txt + - name: Install gnu make on macos + if: startsWith(matrix.os, 'macos') + run: | + brew install make + echo "${{ matrix.brew }}/opt/make/libexec/gnubin" >> $GITHUB_PATH + - name: Executing unit tests + run: | + make unit-tests + - name: Executing system tests + run: | + make system-tests + - name: Coverage analysis + run: | + make coverage + - name: Check output files + if: always() + run: | + util/check_local_modifications.sh integration-tests: name: Integration tests + needs: test runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 @@ -71,4 +125,4 @@ jobs: runs-on: ubuntu-24.04 steps: - name: Failure - run: exit 1 + run: exit 1 \ No newline at end of file diff --git a/Makefile b/Makefile index 8b821ba..f91ee31 100644 --- a/Makefile +++ b/Makefile @@ -55,7 +55,12 @@ clang-tidy: cmake --build build --target clang-tidy integration-tests: packages + (cd tests-integration/projects/basic; make) + (cd tests-integration/projects/filter; make) (cd tests-integration/projects/coverage; make) + (cd tests-integration/projects/coverage-half; make) + (cd tests-integration/projects/coverage-mix; make) + (cd tests-integration/projects/coverage-zero; make) rm -f MODULE.bazel MODULE.bazel.lock system-tests: diff --git a/tests-integration/projects/coverage/report.reference_output b/tests-integration/projects/coverage/report.reference_output index df48477..9f1c0b4 100644 --- a/tests-integration/projects/coverage/report.reference_output +++ b/tests-integration/projects/coverage/report.reference_output @@ -59,7 +59,7 @@ "tracing_status": "OK", "framework": "TRLC", "kind": "Software_Requirement", - "text": "Requirement2", + "text": "Requirement 2", "status": null } ],