Commit Graph

22 Commits

Author SHA1 Message Date
Johannes Weiss 7a0ec436a1
include relevant versions (kernel & Swift) in test output (#2425) 2023-05-16 02:55:18 -07:00
Cory Benfield a7c36a7654
Clean up and regression check the docs. (#2400)
Motivation:

Up until recently, it has not been possible to regression check our
documentation. However, in recent releases of the DocC plugin it has
become possible to make warnings into errors, making it possible for us
to CI our docs.

This patch adds support for doing that, and also cleans up our
documentation so that it successfully passes the check.

Along the way I accidentally wrote an `index.md` for `NIOCore` so I
figure we may as well keep it.

Modifications:

- Structure the documentation for NIOCore
- Fix up DocC issues
- Add `check-docs.sh` script to check the docs cleanly build
- Wire things up to our docker-compose scripts.

Result:

We can CI our docs.

Co-authored-by: George Barnett <gbarnett@apple.com>
2023-04-11 09:05:22 +01:00
Cory Benfield 901e9692b9
Validate missing imports in CI (#2245) 2022-08-15 10:26:34 -07:00
tomer doron 712e207f26
initial adoption of DocC based documentaiton (#2235)
* initial adoption of DocC based documentaiton

motivation: use DocC for docs

change:
* add DocC catalog to NIO target, as the "landing page"
* remove jazzy doc generation script
* add Package.swift with tools-version 5.6 so that DocC can be used, and add a dependency on the DocC plugin
* udpate soundness script

* * add packge.swift files for older vrsions
* adjust waning-as-error and enable-test-discovery to the different permutations

* fixup

* remove jazzy

Co-authored-by: Cory Benfield <lukasa@apple.com>
2022-08-08 03:55:18 -07:00
Johannes Weiss 0a860b1c3d
CI: print out version info (#1821)
Motivation:

Sometimes it's useful to know the kernel & Swift versions that CI uses.

Modifications:

Print the versions in the soundness check.

Result:

More info.

Co-authored-by: Cory Benfield <lukasa@apple.com>
2021-04-27 13:34:54 +01:00
Johannes Weiss ce4328689c
disable tests on main (#1790)
Motivation:

The Swift compiler can still not compile NIO's tests on main, so I'm
proposing this sad workaround for
https://bugs.swift.org/browse/SR-14268 .

Modifications:

Don't compile (or run) tests on `main` :(

Result:

May get a green tick.
2021-03-30 16:05:07 +01:00
Johannes Weiss ef9e98a592
align all functions to make micro benchmarks more stable (#1739)
Motivation:

After chatting to the Swift perf team, they thought it may be a good
idea to align all functions in our performance tests which may make the
micro benchmarks more stable.

Modifications:

Align all functions/blocks.

Result:

Hopefully more stable micro benchmarks.
2021-01-29 08:32:08 +00:00
Fabian Fett f745421d49
Final language fix (#1732) 2021-01-22 18:39:10 +00:00
Fabian Fett 76b4637122
Make language more welcoming (#1728) 2021-01-21 12:45:46 +00:00
tomer doron 25583d5ad8
improve docker security (#1375)
motivation: more secured ci setup

changes:
* enable :z selinux flag on bind mounts so we can enable selinux on ci
* drop potentially exploitable capabilities from docker-compose
2020-02-01 07:40:06 +00:00
Johannes Weiss 7f8e96cf02
fix 5.2 builds (#1366)
motivation: tsan is broken on ubuntu 18.04.use 16.04 so 5.2 build can pass

changes:
* change 5.2 docker setup to use 16.04 instead of 18.04
* add the ability to pipe arguments to the integration tests via the docker setup
* skip tests_02 integration tests suite since it broken on 5.2 (swift-pm issue?)

fake the new limits from #1362

Co-authored-by: tomer doron <tomer@apple.com>
2020-01-29 14:39:28 +00:00
Johannes Weiss b6067bd531 enable TSan (#1130)
Motivation:

TSan is now supported in Swift 5.1 for Linux.

Modifications:

Enable TSan on 5.1.

Result:

More validation in the tests.
2019-09-09 09:27:56 +01:00
tomer doron c1aff57ba4 add performance analysis docker-compose setup and script (#1013)
motivation: prepare to run performance tests in ci

changes:
* add performance-test docker-compose task
* add script that can parse the performance test suite results and compare between two result-sets
* add generic shell docker-compose task
2019-05-23 11:37:21 +01:00
tomer doron ed50f8a41e
replace redundant commands in docker-compose files with generic one (#1010)
Motivation: keep it DRY

Modifications: move redundant commands from 18-04-5.0 and 16.04-5.1 to the generic task definitions
2019-05-21 09:12:05 -07:00
Johannes Weiss 72370b6b42 defined NIO_CI_BUILD in the CI builds (#765)
Motivation:

Certain warnings we want to ignore in CI builds but we want to keep
`-warnings-to-errors` on.

Modifications:

define `NIO_CI_BUILD` in the CI builds

Result:

can ignore select warnings in CI
2019-01-21 15:24:51 +00:00
Eugen a8a18ba222 add 'tty: true' to the docker-compose file (#490) (#491)
Motivation:

swift-nio example projects (http, echo) don't print anything to the console when running inside docker container because of buffering issue.

Modifications:

Added tty: true to the docker-compose.yaml for http & echo.

Result:

Buffering issue is resolved. http & echo prints logs to the console.
2018-06-25 21:11:58 +01:00
tomer doron 093328e1b3
expose sanity script through docker compose (#375)
Motivation:

be able to run the sanity check via docker compose

Modifications:

add sanity task to docker compose file

Result:

you can now run sanity check via docker
2018-05-01 03:12:05 -07:00
tomer doron 8914a5536e extend docker setup to multiple version of ubuntu and swift (#357)
Motivation: easier testing across different permutations of os and language versions

Modifications:

* update dockerfile to take both swift_version adn ubuntu_version
* update default linux version to 16.04
* create multiple docker-compose files that use arguments to define os and swift versions
* make docker-compose file DRYer with yaml anchors

Result: users/ci can easily run tests across various versions of ubuntu and swift
2018-05-01 08:56:39 +01:00
tomer doron 142ee43906 docker cleanup (#90)
Motivation:

repository currently contains two seperate docker definitions that are confusing to users

Modifications:

* remove Dockerfile.xenial so we have a canonical docker file for CI and developer testing
* point docker compose to canonical docker file
* define docker compose services for unit and integration tests. and make "test" service run both
* update readme

Result:

users are less confused about docker setup
2018-03-05 19:37:29 +09:00
Norman Maurer 776a0698ba Mount ~/.ssh into docker image (#23)
Motivation:

We need to mount the ~/.ssh directory into the docker image as we use git@ to checkout our dependencies.

Modifications:

Use ~/.ssh as volume as well.

Result:

Be able to use docker images again.
2018-02-23 09:34:22 +00:00
Cory Benfield dfe3fe212a Better readme for release 2018-02-09 12:25:50 +00:00
Max (Swift) Moiseev 8d4eb477ed Xenial and compose
* Docker work

- New image based on xenial.
- Simplified workflow with docker-compose
- Update the readme with docker-compose section
- Move docker related stuff to a dedicated folder

* Add a gen-cert.sh to the container image

* Document certificate generation and how to test all sample servers
2017-11-09 21:34:51 -08:00