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

[CI] Adopt GitHub actions #193

Merged
merged 1 commit into from
Oct 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
root = true

[*]
indent_style = space
indent_size = 4
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true


[*.yml]
indent_style = space
indent_size = 2
26 changes: 26 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Main

on:
push:
branches: [main]

jobs:
unit-tests:
name: Unit tests
uses: apple/swift-nio/.github/workflows/unit_tests.yml@main
with:
linux_5_9_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
linux_5_10_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
linux_6_0_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
linux_nightly_6_0_arguments_override: "--explicit-target-dependency-import-check error"
linux_nightly_main_arguments_override: "--explicit-target-dependency-import-check error"

benchmarks:
name: Benchmarks
uses: apple/swift-nio/.github/workflows/benchmarks.yml@main
with:
benchmark_package_path: "Benchmarks"

cxx-interop:
name: Cxx interop
uses: apple/swift-nio/.github/workflows/cxx_interop.yml@main
39 changes: 39 additions & 0 deletions .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: PR

on:
pull_request:
types: [opened, reopened, synchronize]

jobs:
soundness:
name: Soundness
uses: swiftlang/github-workflows/.github/workflows/soundness.yml@main
with:
license_header_check_project_name: "SwiftCertificates"

cmake-lists:
name: Check cmake lists
uses: apple/swift-nio/.github/workflows/swift_matrix.yml@main
with:
name: "Check cmake lists"
matrix_linux_command: ./scripts/check-cmake-lists.sh

unit-tests:
name: Unit tests
uses: apple/swift-nio/.github/workflows/unit_tests.yml@main
with:
linux_5_9_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
linux_5_10_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
linux_6_0_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
linux_nightly_6_0_arguments_override: "--explicit-target-dependency-import-check error"
linux_nightly_main_arguments_override: "--explicit-target-dependency-import-check error"

benchmarks:
name: Benchmarks
uses: apple/swift-nio/.github/workflows/benchmarks.yml@main
with:
benchmark_package_path: "Benchmarks"

cxx-interop:
name: Cxx interop
uses: apple/swift-nio/.github/workflows/cxx_interop.yml@main
18 changes: 18 additions & 0 deletions .github/workflows/pull_request_label.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: PR label

on:
pull_request:
types: [labeled, unlabeled, opened, reopened, synchronize]

jobs:
semver-label-check:
name: Semantic Version label check
runs-on: ubuntu-latest
timeout-minutes: 1
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Check for Semantic Version label
uses: apple/swift-nio/.github/actions/pull_request_semver_label_checker@main
26 changes: 26 additions & 0 deletions .github/workflows/scheduled.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Scheduled

on:
schedule:
- cron: "0 8,20 * * *"

jobs:
unit-tests:
name: Unit tests
uses: apple/swift-nio/.github/workflows/unit_tests.yml@main
with:
linux_5_9_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
linux_5_10_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
linux_6_0_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
linux_nightly_6_0_arguments_override: "--explicit-target-dependency-import-check error"
linux_nightly_main_arguments_override: "--explicit-target-dependency-import-check error"

benchmarks:
name: Benchmarks
uses: apple/swift-nio/.github/workflows/benchmarks.yml@main
with:
benchmark_package_path: "Benchmarks"

cxx-interop:
name: Cxx interop
uses: apple/swift-nio/.github/workflows/cxx_interop.yml@main
42 changes: 42 additions & 0 deletions .licenseignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
.gitignore
**/.gitignore
.licenseignore
.gitattributes
.git-blame-ignore-revs
.mailfilter
.mailmap
.spi.yml
.swift-format
.editorconfig
.github/*
*.md
*.txt
*.yml
*.yaml
*.json
Package.swift
**/Package.swift
Package@-*.swift
**/Package@-*.swift
Package.resolved
**/Package.resolved
Makefile
*.modulemap
**/*.modulemap
**/*.docc/*
*.xcprivacy
**/*.xcprivacy
*.symlink
**/*.symlink
Dockerfile
**/Dockerfile
Snippets/*
dev/git.commit.template
dev/update-benchmark-thresholds
*.crt
**/*.crt
*.pem
**/*.pem
*.der
**/*.der
Tests/X509Tests/CSR Vectors/cryptography/LICENSE.APACHE
8 changes: 4 additions & 4 deletions Benchmarks/Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ import PackageDescription
let package = Package(
name: "benchmarks",
platforms: [
.macOS(.v13),
.macOS(.v13)
],
dependencies: [
.package(path: "../"),
.package(url: "https://github.com/ordo-one/package-benchmark.git", from: "1.11.1"),
.package(url: "https://github.com/apple/swift-crypto.git", "2.5.0" ..< "4.0.0"),
.package(url: "https://github.com/apple/swift-crypto.git", "2.5.0"..<"4.0.0"),
.package(url: "https://github.com/apple/swift-asn1.git", from: "1.0.0"),
],
targets: [
Expand All @@ -37,11 +37,11 @@ let package = Package(
],
path: "Benchmarks/CertificatesBenchmark",
resources: [
.copy("ca-certificates/"),
.copy("ca-certificates/")
],
plugins: [
.plugin(name: "BenchmarkPlugin", package: "package-benchmark")
]
),
)
]
)

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"mallocCountTotal" : 10000,
"memoryLeaked" : 0,
"readSyscalls" : 0,
"writeSyscalls" : 0
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"mallocCountTotal" : 921000,
"memoryLeaked" : 0,
"readSyscalls" : 0,
"writeSyscalls" : 0
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"mallocCountTotal" : 1251,
"mallocCountTotal" : 4851,
"memoryLeaked" : 0,
"readSyscalls" : 0,
"writeSyscalls" : 0
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"mallocCountTotal" : 5810,
"memoryLeaked" : 0,
"readSyscalls" : 0,
"writeSyscalls" : 0
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"mallocCountTotal" : 5818,
"memoryLeaked" : 0,
"readSyscalls" : 0,
"writeSyscalls" : 0
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"mallocCountTotal" : 10000,
"memoryLeaked" : 0,
"readSyscalls" : 0,
"writeSyscalls" : 0
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"mallocCountTotal" : 26,
"mallocCountTotal" : 16,
"memoryLeaked" : 0,
"readSyscalls" : 0,
"writeSyscalls" : 0
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"mallocCountTotal" : 921000,
"memoryLeaked" : 0,
"readSyscalls" : 0,
"writeSyscalls" : 0
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"mallocCountTotal" : 4851,
"memoryLeaked" : 0,
"readSyscalls" : 0,
"writeSyscalls" : 0
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"mallocCountTotal" : 5810,
"memoryLeaked" : 0,
"readSyscalls" : 0,
"writeSyscalls" : 0
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"mallocCountTotal" : 5818,
"memoryLeaked" : 0,
"readSyscalls" : 0,
"writeSyscalls" : 0
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"mallocCountTotal" : 10000,
"memoryLeaked" : 0,
"readSyscalls" : 0,
"writeSyscalls" : 0
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"mallocCountTotal" : 16,
"memoryLeaked" : 0,
"readSyscalls" : 0,
"writeSyscalls" : 0
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"mallocCountTotal" : 921000,
"memoryLeaked" : 0,
"readSyscalls" : 0,
"writeSyscalls" : 0
}
23 changes: 0 additions & 23 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,29 +60,6 @@ We require that your commit messages match our template. The easiest way to do t

git config commit.template dev/git.commit.template

### Run `./scripts/soundness.sh`

The scripts directory contains a [soundness.sh script](https://github.com/apple/swift-certificates/blob/main/scripts/soundness.sh)
that enforces additional checks, like license headers and formatting style.

Please make sure to `./scripts/soundness.sh` before pushing a change upstream, otherwise it is likely the PR validation will fail
on minor changes such as a missing `self.` or similar formatting issues.

For frequent contributors, we recommend adding the script as a [git pre-push hook](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks), which you can do via executing the following command in the project root directory:

```bash
cat << EOF > .git/hooks/pre-push
if [[ -f "scripts/soundness.sh" ]]; then
scripts/soundness.sh
fi
EOF
```

Which makes the script execute, and only allow the `git push` to complete if the check has passed.

In the case of formatting issues, you can then `git add` the formatting changes, and attempt the push again.

## How to contribute your work

Please open a pull request at https://github.com/apple/swift-certificates. Make sure the CI passes, and then wait for code review.
19 changes: 0 additions & 19 deletions CONTRIBUTORS.txt

This file was deleted.

Loading