Skip to content

Commit

Permalink
[CI] Adopt GitHub actions (#193)
Browse files Browse the repository at this point in the history
  • Loading branch information
FranzBusch authored Oct 21, 2024
1 parent 1fbb6ef commit c0b6a47
Show file tree
Hide file tree
Showing 63 changed files with 342 additions and 656 deletions.
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

0 comments on commit c0b6a47

Please sign in to comment.