ci: Run the Flagsmith SDK behavioural spec (#237) · Flagsmith/flagsmith-java-client@18281fc · GitHub
Skip to content

Commit 18281fc

Browse files
authored
ci: Run the Flagsmith SDK behavioural spec (#237)
1 parent 6df032a commit 18281fc

4 files changed

Lines changed: 105 additions & 0 deletions

File tree

‎.github/workflows/sdk-spec.yml‎

Lines changed: 17 additions & 0 deletions

‎renovate.json‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,15 @@
44
"ignorePresets": [":semanticPrefixFixDepsChoreOthers"],
55
"semanticCommitType": "deps",
66
"git-submodules": { "enabled": true },
7+
"customManagers": [
8+
{
9+
"customType": "regex",
10+
"managerFilePatterns": ["/^\\.github/workflows/sdk-spec\\.yml$/"],
11+
"matchStrings": ["spec-ref: (?<currentValue>v[\\d.]+)"],
12+
"depNameTemplate": "Flagsmith/sdk-spec",
13+
"datasourceTemplate": "github-tags"
14+
}
15+
],
716
"packageRules": [
817
{
918
"matchUpdateTypes": [
@@ -23,6 +32,11 @@
2332
"matchManagers": ["git-submodules"],
2433
"versioning": "semver-coerced",
2534
"enabled": true
35+
},
36+
{
37+
"matchPackageNames": ["Flagsmith/sdk-spec"],
38+
"groupName": "SDK spec",
39+
"enabled": true
2640
}
2741
]
2842
}

‎sdk-spec/Dockerfile‎

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Runs this SDK, built from source, under the Flagsmith SDK behavioural spec.
2+
# docker build -f sdk-spec/Dockerfile --build-context harness=<sdk-spec>/harness/java .
3+
FROM docker.io/library/maven:3.9-eclipse-temurin-11 AS build
4+
5+
WORKDIR /sdk
6+
COPY pom.xml lombok.config ./
7+
COPY src/main ./src/main
8+
RUN mvn --batch-mode --no-transfer-progress \
9+
-Dmaven.test.skip=true -Dcheckstyle.skip=true -Djacoco.skip=true -Dmaven.source.skip=true \
10+
package dependency:copy-dependencies -DincludeScope=runtime -DoutputDirectory=target/lib \
11+
&& cp target/flagsmith-java-client-*.jar target/lib/
12+
13+
COPY --from=harness Harness.java /harness/Harness.java
14+
COPY sdk-spec/Steps.java ./sdk-spec/Steps.java
15+
RUN javac -cp "target/lib/*" -d target/classes-spec /harness/Harness.java sdk-spec/Steps.java
16+
17+
FROM docker.io/library/eclipse-temurin:11-jre
18+
19+
WORKDIR /sdk
20+
COPY --from=build /sdk/target/lib ./lib
21+
COPY --from=build /sdk/target/classes-spec ./classes
22+
COPY sdk-spec/Steps.java ./sdk-spec/Steps.java
23+
24+
ENTRYPOINT ["java", "-XX:TieredStopAtLevel=1", "-cp", "classes:lib/*", "Harness", "sdk-spec/Steps.java"]

‎sdk-spec/Steps.java‎

Lines changed: 50 additions & 0 deletions

0 commit comments

Comments
 (0)