Skip to content

Introduce CI #97

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

Merged
merged 10 commits into from
Apr 7, 2025
Merged

Introduce CI #97

merged 10 commits into from
Apr 7, 2025

Conversation

rnro
Copy link
Contributor

@rnro rnro commented Apr 7, 2025

Motivation

Add CI which builds (most of) the examples. We can use this to monitor hitting strict concurrency targets as the following PRs from #96 are merged

Modifications

  • Add CI for building the examples excepting NIOSMTP
    • CI enables strict concurrency settings for all examples except backpressure-file-io which is built around deprecated API and so has unrelated warnings
  • Resolve soundness issues
    • Including adding license headers
  • Do not enable formatting yet, we'll do that last for ease of reviewing

Result

  • CI to measure progress and lock-in wins

@rnro rnro added the 🔨 semver/patch No public API change. label Apr 7, 2025
@rnro rnro changed the title Add CI Introduce CI Apr 7, 2025
Copy link
Contributor

@glbrntt glbrntt left a comment

Choose a reason for hiding this comment

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

Couple of minor things but looks good otherwise

@@ -0,0 +1,18 @@
name: PR label
Copy link
Contributor

Choose a reason for hiding this comment

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

We don't need this: this repo is unversioned and doesn't get released.

@@ -1,3 +1,18 @@
//===----------------------------------------------------------------------===//
Copy link
Contributor

Choose a reason for hiding this comment

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

There's already a license header in this file

dev/build_all.sh Outdated
error() { printf -- "** ERROR: %s\n" "$*" >&2; }
fatal() { error "$@"; exit 1; }

default_package_directories="TLSify UniversalBootstrapDemo backpressure-file-io-channel http-responsiveness-server connect-proxy http2-client http2-server json-rpc nio-launchd"
Copy link
Contributor

Choose a reason for hiding this comment

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

We have a similar setup in gRPC where we want to build all examples, rather than listing them all we look for directories containing Package.swift: https://github.com/grpc/grpc-swift/blob/edb1ec6a5f5e3d3bd1f1a9353b18edc170df4689/dev/build-examples.sh#L25-L26

Might be worth doing similar here.

dev/build_all.sh Outdated
Comment on lines 47 to 53
if [ -n "$xcode_build_enabled" ]; then
for directory in $project_directories; do
log "Building: $directory"
cd "$directory" || fatal "Could not cd to ${directory}."
$xcode_build_command
cd .. || fatal "Could not cd to parent."
done
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: indentation is weird here

@rnro rnro removed the 🔨 semver/patch No public API change. label Apr 7, 2025
@rnro rnro requested a review from glbrntt April 7, 2025 14:29
@rnro rnro merged commit 3b4c957 into main Apr 7, 2025
10 of 15 checks passed
@rnro rnro deleted the add_ci branch April 7, 2025 14:34
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.

2 participants