Skip to content

ci: run swift build and swift test on every push and PR - #57

Merged
gsdali merged 1 commit into
mainfrom
ci/run-tests-in-ci
Aug 19, 2026
Merged

ci: run swift build and swift test on every push and PR#57
gsdali merged 1 commit into
mainfrom
ci/run-tests-in-ci

Conversation

@gsdali

@gsdali gsdali commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator

Adds a blocking tests workflow running swift build then swift test on every push and PR.

Part of the fleet-wide rollout in ecosystem#40: 12 of the 14 repos in the OCCT stack ran no tests in CI at all, so a failing test produced a green tick. This repo was one of them.

That gap is not hypothetical. Five assertions in OCCTSwiftAIS sat broken for nine days (OCCTSwiftAIS#46) because nothing in its pipeline ever compiled a test target.

swift build and swift test are separate steps on purpose. swift build does not compile test targets, so it is a weaker signal than it looks: OCCTSwiftIO built clean with zero errors while carrying three real breaks in its test target during the OCCTSwift v3.0.0 repin.

Modelled on OCCTSwiftScripts/.github/workflows/tests.yml, which already solved this once: macos-15, actions/cache on .build keyed by Package.resolved, blocking rather than continue-on-error.

Baseline was measured locally before rollout rather than assumed. See the workflow's own header comment for this repo's count.

Notes for the reviewer

Nothing but the workflow file is added. No source, manifest or doc change.

This repo carried a full test suite that no CI job ever executed, so a failing
test produced a green tick. Recorded fleet-wide as ecosystem#40, where 12 of the
14 repos in the OCCT stack had the same gap.

swift build and swift test are separate steps deliberately: swift build does not
compile test targets, so on its own it is a weaker signal than it appears.

Baseline measured locally before rollout.
run: swift build

- name: swift test
run: swift test

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CRITICAL: Missing required OCCT_SERIAL=1 and serial test flags

The CLAUDE.md explicitly states: OCCT_SERIAL=1 swift test --parallel --num-workers 1 # MUST run serially — there is a known NCollection container-overflow race in OCCT on arm64 macOS that segfaults parallel test runs. The workflow runs on macos-15 (arm64), so swift test without these flags will likely segfault.

Suggested change
run: swift test
- name: swift test
run: OCCT_SERIAL=1 swift test --parallel --num-workers 1

Reply with @kilocode-bot fix it to have Kilo Code address this issue.

@kilo-code-bot

kilo-code-bot Bot commented Aug 19, 2026

Copy link
Copy Markdown

Code Review Summary

Status: 1 Issues Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 1
WARNING 0
SUGGESTION 0
Issue Details (click to expand)

CRITICAL

File Line Issue
.github/workflows/tests.yml 57 Missing required OCCT_SERIAL=1 and serial test flags
Files Reviewed (1 files)
  • .github/workflows/tests.yml - 1 issue

Fix these issues in Kilo Cloud


Reviewed by nemotron-3-ultra-550b-a55b:free · Input: 83.6K · Output: 2.1K · Cached: 38.9K

@gsdali
gsdali merged commit 9c86e57 into main Aug 19, 2026
2 of 4 checks passed
@gsdali
gsdali deleted the ci/run-tests-in-ci branch August 19, 2026 08:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant