Skip to content

Commit fa10f84

Browse files
chore: audit Pioneer (#32)
1 parent 35833ff commit fa10f84

File tree

11 files changed

+442
-2
lines changed

11 files changed

+442
-2
lines changed

.github/workflows/audits.yml

+33
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,33 @@ jobs:
252252
with:
253253
name: postgraphile-report
254254
path: README.md
255+
pioneer:
256+
runs-on: ubuntu-latest
257+
if: "!contains(github.event.head_commit.message, '[skip ci]')"
258+
env:
259+
PORT: 4000
260+
steps:
261+
- name: Checkout
262+
uses: actions/checkout@v3
263+
- name: Set up node
264+
uses: actions/setup-node@v3
265+
with:
266+
node-version: 18
267+
cache: yarn
268+
- name: Install
269+
run: yarn install --immutable
270+
- name: Build
271+
run: yarn build:esm
272+
- name: Start
273+
run: yarn workspace pioneer start -d --wait
274+
# TODO: cache docker build artifacts
275+
- name: Audit
276+
run: node scripts/audit-implementation.mjs README.md
277+
- name: Upload report
278+
uses: actions/upload-artifact@v3
279+
with:
280+
name: pioneer-report
281+
path: README.md
255282

256283
report:
257284
name: Report
@@ -268,6 +295,7 @@ jobs:
268295
thegraph,
269296
hotchocolate,
270297
postgraphile,
298+
pioneer,
271299
]
272300
steps:
273301
- name: Checkout
@@ -320,6 +348,11 @@ jobs:
320348
with:
321349
name: postgraphile-report
322350
path: implementations/postgraphile
351+
- name: Download pioneer report
352+
uses: actions/download-artifact@v3
353+
with:
354+
name: pioneer-report
355+
path: implementations/pioneer
323356
- name: Commit
324357
run: |
325358
git config user.name "github-actions[bot]"

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -733,6 +733,7 @@ If you want a feature-full server with bleeding edge technologies, you're recomm
733733
| ------------------------------------------------------------------ | -------------------------------------------------------- |
734734
| [graphql-yoga](https://www.the-guild.dev/graphql/yoga-server) | [✅ Compliant](/implementations/graphql-yoga/README.md) |
735735
| [hotchocolate](https://chillicream.com/docs/hotchocolate) | [✅ Compliant](/implementations/hotchocolate/README.md) |
736+
| [pioneer](https://pioneer.dexclaimation.com/) | [✅ Compliant](/implementations/pioneer/README.md) |
736737
| [postgraphile](https://www.graphile.org/postgraphile/) | [✅ Compliant](/implementations/postgraphile/README.md) |
737738
| [apollo-server](https://www.apollographql.com/docs/apollo-server/) | [✅ Compliant](/implementations/apollo-server/README.md) |
738739

implementations/pioneer/.gitignore

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
.DS_Store
2+
/.build
3+
/Packages
4+
/*.xcodeproj
5+
xcuserdata/
6+
DerivedData/
7+
.swiftpm/config/registries.json
8+
.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
9+
.netrc

implementations/pioneer/Dockerfile

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
FROM swift:latest
2+
WORKDIR /root
3+
RUN apt update
4+
RUN apt install curl
5+
COPY ./Package.* ./
6+
RUN swift package resolve
7+
COPY ./Sources ./Sources
8+
RUN swift build -c release
+212
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,212 @@
1+
{
2+
"pins" : [
3+
{
4+
"identity" : "async-http-client",
5+
"kind" : "remoteSourceControl",
6+
"location" : "https://github.com/swift-server/async-http-client.git",
7+
"state" : {
8+
"revision" : "5bee16a79922e3efcb5cea06ecd27e6f8048b56b",
9+
"version" : "1.13.1"
10+
}
11+
},
12+
{
13+
"identity" : "async-kit",
14+
"kind" : "remoteSourceControl",
15+
"location" : "https://github.com/vapor/async-kit.git",
16+
"state" : {
17+
"revision" : "929808e51fea04f01de0e911ce826ef70c4db4ea",
18+
"version" : "1.15.0"
19+
}
20+
},
21+
{
22+
"identity" : "console-kit",
23+
"kind" : "remoteSourceControl",
24+
"location" : "https://github.com/vapor/console-kit.git",
25+
"state" : {
26+
"revision" : "a7e67a1719933318b5ab7eaaed355cde020465b1",
27+
"version" : "4.5.0"
28+
}
29+
},
30+
{
31+
"identity" : "graphiti",
32+
"kind" : "remoteSourceControl",
33+
"location" : "https://github.com/GraphQLSwift/Graphiti.git",
34+
"state" : {
35+
"revision" : "8c0048e217b185da163c8ba83475948dc5b0174e",
36+
"version" : "1.2.2"
37+
}
38+
},
39+
{
40+
"identity" : "graphql",
41+
"kind" : "remoteSourceControl",
42+
"location" : "https://github.com/GraphQLSwift/GraphQL",
43+
"state" : {
44+
"revision" : "30b8e2d192b44b6188644f87f5d60d416bcc5537",
45+
"version" : "2.4.4"
46+
}
47+
},
48+
{
49+
"identity" : "multipart-kit",
50+
"kind" : "remoteSourceControl",
51+
"location" : "https://github.com/vapor/multipart-kit.git",
52+
"state" : {
53+
"revision" : "0d55c35e788451ee27222783c7d363cb88092fab",
54+
"version" : "4.5.2"
55+
}
56+
},
57+
{
58+
"identity" : "pioneer",
59+
"kind" : "remoteSourceControl",
60+
"location" : "https://github.com/d-exclaimation/pioneer",
61+
"state" : {
62+
"revision" : "1c3fb676fd67cfd4b99e374f1f4302d35aa2c64e",
63+
"version" : "1.1.0"
64+
}
65+
},
66+
{
67+
"identity" : "routing-kit",
68+
"kind" : "remoteSourceControl",
69+
"location" : "https://github.com/vapor/routing-kit.git",
70+
"state" : {
71+
"revision" : "ffac7b3a127ce1e85fb232f1a6271164628809ad",
72+
"version" : "4.6.0"
73+
}
74+
},
75+
{
76+
"identity" : "swift-algorithms",
77+
"kind" : "remoteSourceControl",
78+
"location" : "https://github.com/apple/swift-algorithms.git",
79+
"state" : {
80+
"revision" : "b14b7f4c528c942f121c8b860b9410b2bf57825e",
81+
"version" : "1.0.0"
82+
}
83+
},
84+
{
85+
"identity" : "swift-atomics",
86+
"kind" : "remoteSourceControl",
87+
"location" : "https://github.com/apple/swift-atomics.git",
88+
"state" : {
89+
"revision" : "ff3d2212b6b093db7f177d0855adbc4ef9c5f036",
90+
"version" : "1.0.3"
91+
}
92+
},
93+
{
94+
"identity" : "swift-backtrace",
95+
"kind" : "remoteSourceControl",
96+
"location" : "https://github.com/swift-server/swift-backtrace.git",
97+
"state" : {
98+
"revision" : "f25620d5d05e2f1ba27154b40cafea2b67566956",
99+
"version" : "1.3.3"
100+
}
101+
},
102+
{
103+
"identity" : "swift-collections",
104+
"kind" : "remoteSourceControl",
105+
"location" : "https://github.com/apple/swift-collections",
106+
"state" : {
107+
"revision" : "937e904258d22af6e447a0b72c0bc67583ef64a2",
108+
"version" : "1.0.4"
109+
}
110+
},
111+
{
112+
"identity" : "swift-crypto",
113+
"kind" : "remoteSourceControl",
114+
"location" : "https://github.com/apple/swift-crypto.git",
115+
"state" : {
116+
"revision" : "92a04c10fc5ce0504f8396aac7392126033e547c",
117+
"version" : "2.2.2"
118+
}
119+
},
120+
{
121+
"identity" : "swift-log",
122+
"kind" : "remoteSourceControl",
123+
"location" : "https://github.com/apple/swift-log.git",
124+
"state" : {
125+
"revision" : "6fe203dc33195667ce1759bf0182975e4653ba1c",
126+
"version" : "1.4.4"
127+
}
128+
},
129+
{
130+
"identity" : "swift-metrics",
131+
"kind" : "remoteSourceControl",
132+
"location" : "https://github.com/apple/swift-metrics.git",
133+
"state" : {
134+
"revision" : "9b39d811a83cf18b79d7d5513b06f8b290198b10",
135+
"version" : "2.3.3"
136+
}
137+
},
138+
{
139+
"identity" : "swift-nio",
140+
"kind" : "remoteSourceControl",
141+
"location" : "https://github.com/apple/swift-nio.git",
142+
"state" : {
143+
"revision" : "7e3b50b38e4e66f31db6cf4a784c6af148bac846",
144+
"version" : "2.46.0"
145+
}
146+
},
147+
{
148+
"identity" : "swift-nio-extras",
149+
"kind" : "remoteSourceControl",
150+
"location" : "https://github.com/apple/swift-nio-extras.git",
151+
"state" : {
152+
"revision" : "91dd2d61fb772e1311bb5f13b59266b579d77e42",
153+
"version" : "1.15.0"
154+
}
155+
},
156+
{
157+
"identity" : "swift-nio-http2",
158+
"kind" : "remoteSourceControl",
159+
"location" : "https://github.com/apple/swift-nio-http2.git",
160+
"state" : {
161+
"revision" : "d6656967f33ed8b368b38e4b198631fc7c484a40",
162+
"version" : "1.23.1"
163+
}
164+
},
165+
{
166+
"identity" : "swift-nio-ssl",
167+
"kind" : "remoteSourceControl",
168+
"location" : "https://github.com/apple/swift-nio-ssl.git",
169+
"state" : {
170+
"revision" : "4fb7ead803e38949eb1d6fabb849206a72c580f3",
171+
"version" : "2.23.0"
172+
}
173+
},
174+
{
175+
"identity" : "swift-nio-transport-services",
176+
"kind" : "remoteSourceControl",
177+
"location" : "https://github.com/apple/swift-nio-transport-services.git",
178+
"state" : {
179+
"revision" : "c0d9a144cfaec8d3d596aadde3039286a266c15c",
180+
"version" : "1.15.0"
181+
}
182+
},
183+
{
184+
"identity" : "swift-numerics",
185+
"kind" : "remoteSourceControl",
186+
"location" : "https://github.com/apple/swift-numerics",
187+
"state" : {
188+
"revision" : "0a5bc04095a675662cf24757cc0640aa2204253b",
189+
"version" : "1.0.2"
190+
}
191+
},
192+
{
193+
"identity" : "vapor",
194+
"kind" : "remoteSourceControl",
195+
"location" : "https://github.com/vapor/vapor.git",
196+
"state" : {
197+
"revision" : "eb2da0d749e185789970c32f7fd9c114a339fa13",
198+
"version" : "4.67.5"
199+
}
200+
},
201+
{
202+
"identity" : "websocket-kit",
203+
"kind" : "remoteSourceControl",
204+
"location" : "https://github.com/vapor/websocket-kit.git",
205+
"state" : {
206+
"revision" : "2d9d2188a08eef4a869d368daab21b3c08510991",
207+
"version" : "2.6.1"
208+
}
209+
}
210+
],
211+
"version" : 2
212+
}

implementations/pioneer/Package.swift

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
// swift-tools-version: 5.7
2+
// The swift-tools-version declares the minimum version of Swift required to build this package.
3+
4+
import PackageDescription
5+
6+
let package = Package(
7+
name: "audit",
8+
platforms: [
9+
.macOS(.v12)
10+
],
11+
dependencies: [
12+
// Dependencies declare other packages that this package depends on.
13+
// .package(url: /* package url */, from: "1.0.0") ,
14+
.package(url: "https://github.com/d-exclaimation/pioneer", from: "1.1.0"),
15+
.package(url: "https://github.com/GraphQLSwift/GraphQL", from: "2.4.4")
16+
],
17+
targets: [
18+
// Targets are the basic building blocks of a package. A target can define a module or a test suite.
19+
// Targets can depend on other targets in this package, and on products in packages this package depends on.
20+
.executableTarget(
21+
name: "audit",
22+
dependencies: [
23+
.product(name: "Pioneer", package: "pioneer"),
24+
"GraphQL"
25+
]),
26+
]
27+
)

0 commit comments

Comments
 (0)