Skip to content

Add vapor framework - #1143

Open
nigrosimone wants to merge 3 commits into
MDA2AV:mainfrom
nigrosimone:add-vapor
Open

Add vapor framework#1143
nigrosimone wants to merge 3 commits into
MDA2AV:mainfrom
nigrosimone:add-vapor

Conversation

@nigrosimone

Copy link
Copy Markdown
Contributor

Adds Vapor (Swift) with the profiles it can run: baseline, pipelined, limited-conn, json, json-comp, upload.

Vapor routes on SwiftNIO, Codable JSON responses, gzip through the server responseCompression setting, streaming body for the upload profile.

Checked locally by building the image and calling every endpoint of those profiles: query and body sums, per request totals with the multiplier, Accept-Encoding negotiation and the 20 MB upload.

I am not a maintainer of Vapor and I am not involved in its development, I used Claude Code to help me implement the entry correctly.

@MDA2AV

MDA2AV commented Aug 15, 2026

Copy link
Copy Markdown
Owner

/benchmark -f vapor --save

@github-actions

Copy link
Copy Markdown
Contributor

👋 Benchmark request received. A collaborator will review and approve the run.

Repository owner deleted a comment from github-actions Bot Aug 15, 2026
Repository owner deleted a comment from github-actions Bot Aug 15, 2026
@github-actions

Copy link
Copy Markdown
Contributor

⚠️ /benchmark --save aborted: main has diverged and cannot be auto-merged into this branch. Please merge or rebase main manually, push, and re-run /benchmark --save.

@github-actions

Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: vapor | Test: all tests

No results captured

Full log

@nigrosimone

Copy link
Copy Markdown
Contributor Author

What problem has this pr?

@MDA2AV

MDA2AV commented Aug 15, 2026

Copy link
Copy Markdown
Owner

validate failed, Ill trigger it again

@nigrosimone

Copy link
Copy Markdown
Contributor Author

The validate failure is not the entry: the 300s watchdog in scripts/validate.sh starts before the docker build, and a from-source Vapor build cannot fit in it. Measured locally: 11m12s for the image on 8 cores, 474s of that is swift build alone, because the dependency graph compiles two vendored BoringSSL copies (swift-crypto and swift-nio-ssl) plus the NIO to Vapor module chain. Vapor has no official prebuilt base image to lean on, the way the userver and drogon entries do.

The container itself is fine: built from this branch, every subscribed profile passes the checks validate.sh makes (baseline GET, POST and chunked, pipeline, json totals, json-comp negotiation, the upload sizes, the raw socket cases).

A possible fix: start the watchdog after the build, so the 300s guards what has to be fast, container start and the endpoint checks, while a hung build stays bounded by the job timeout-minutes. A smaller one: raise VALIDATE_TIMEOUT for the validate job to 900.

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