Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move DocC and integration tests into separate CI pipelines #110

Merged

Conversation

simonjbeaumont
Copy link
Collaborator

Motivation

Like many other projects, we have a soundness script which runs in CI. It started out with some fast policy and style tests but has grown over time. It currently has:

  1. Check for broken symlinks
  2. Check for unacceptable language
  3. Check all files have a license headers
  4. Run swift-format lint
  5. Check DocC compiliation has no warnings
  6. Run integration test

On my machine, (5) takes 19s and (6) takes 1m13s.

The soundness script should be cheap to run so as not to disclosure running it often—potentially even adding it to a precommit hook.

Removing (5) and (6) from the soundness suite means it takes 3s, which is more reasonable.

Modifications

  • Add integration-test to Compose file.
  • Add docc-test to Compose file.
  • Stop running DocC and integration tests in soundness.sh.

Result

Running soundness.sh takes 3s (was ~1m30s).

Test Plan

The following commands all succeed when run locally:

  • ./scripts/soundness.sh
  • docker-compose -f docker/docker-compose.yaml run soundness
  • docker-compose -f docker/docker-compose.yaml run docc-test
  • docker-compose -f docker/docker-compose.yaml run integration-test

Notes

This PR should be used to stand up the new CI pipelines and shouldn't be merged
until we see them passing.

@simonjbeaumont
Copy link
Collaborator Author

@yim-lee would you be so kind as to help us set up two additional pipelines for this project on the CI server? One for each of the following Compose targets:

  • docc-test
  • integration-test

Thanks in advance 🙏

@simonjbeaumont simonjbeaumont added status/blocked Waiting for another issue. semver/none No version bump required. labels Jul 10, 2023
@yim-lee
Copy link
Member

yim-lee commented Jul 10, 2023

@swift-server-bot test this please

@yim-lee
Copy link
Member

yim-lee commented Jul 10, 2023

@simonjbeaumont The two pipelines are created per your request

@simonjbeaumont
Copy link
Collaborator Author

Thanks @yim-lee.

@czechboy0 we can see these pipelines in the checks on this PR now, so I think we can probably land this.

@simonjbeaumont simonjbeaumont removed the status/blocked Waiting for another issue. label Jul 11, 2023
@simonjbeaumont simonjbeaumont merged commit 7ed73ef into apple:main Jul 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
semver/none No version bump required.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants