Skip to content

Commit 94de053

Browse files
committed
fix(ci): restore wrapper launcher and preserve contract evidence artifacts
The 2.x script invokes MavenWrapperMain but its launcher JAR was absent. Reuse the existing repository 3.x launcher blob; retain Maven 3.9.16 distribution. Use non-hidden scoped evidence directories so upload-artifact can find reports. No product-source changes; the C01 regression suite remains the RED checkpoint.
1 parent cdc8b66 commit 94de053

3 files changed

Lines changed: 27 additions & 23 deletions

File tree

.github/workflows/contracts.yml

Lines changed: 26 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -36,22 +36,22 @@ jobs:
3636
shell: bash
3737
run: |
3838
export PATH="$RUNNER_TEMP/opencli-openspec/node_modules/.bin:$PATH"
39-
mkdir -p .spec-evidence
40-
openspec --version | tee .spec-evidence/version.txt
41-
openspec list --json > .spec-evidence/list.json
39+
mkdir -p spec-evidence
40+
openspec --version | tee spec-evidence/version.txt
41+
openspec list --json > spec-evidence/list.json
4242
failed=0
4343
for path in openspec/changes/*; do
4444
[[ -d "$path" && "$(basename "$path")" != archive ]] || continue
4545
change="$(basename "$path")"
46-
if openspec validate "$change" --strict --no-interactive > ".spec-evidence/$change.log" 2>&1; then
46+
if openspec validate "$change" --strict --no-interactive > "spec-evidence/$change.log" 2>&1; then
4747
printf '%s\tPASS\n' "$change"
4848
else
49-
cat ".spec-evidence/$change.log"
49+
cat "spec-evidence/$change.log"
5050
failed=1
5151
fi
5252
done
53-
if ! openspec validate --all --strict --no-interactive > .spec-evidence/all.log 2>&1; then
54-
cat .spec-evidence/all.log
53+
if ! openspec validate --all --strict --no-interactive > spec-evidence/all.log 2>&1; then
54+
cat spec-evidence/all.log
5555
failed=1
5656
fi
5757
exit "$failed"
@@ -60,7 +60,7 @@ jobs:
6060
uses: actions/upload-artifact@v7
6161
with:
6262
name: openspec-strict-${{ github.sha }}
63-
path: .spec-evidence
63+
path: spec-evidence
6464
if-no-files-found: error
6565

6666
jvm:
@@ -86,41 +86,45 @@ jobs:
8686
cache: maven
8787
- name: Record exact source and actual tools
8888
run: |
89-
mkdir -p .contract-evidence
90-
git rev-parse HEAD > .contract-evidence/head.txt
91-
java -version > .contract-evidence/java.txt 2>&1
92-
bash ./mvnw -version > .contract-evidence/maven.txt 2>&1
89+
mkdir -p contract-evidence
90+
git rev-parse HEAD > contract-evidence/head.txt
91+
java -version > contract-evidence/java.txt 2>&1
92+
if ! bash ./mvnw -version > contract-evidence/maven.txt 2>&1; then
93+
cat contract-evidence/maven.txt
94+
exit 1
95+
fi
96+
cat contract-evidence/java.txt contract-evidence/maven.txt
9397
- name: Full clean verify using this branch wrapper
9498
id: verify
9599
shell: bash
96100
run: |
97101
set +e
98-
bash ./mvnw -B --no-transfer-progress clean verify > .contract-evidence/maven.log 2>&1
102+
bash ./mvnw -B --no-transfer-progress clean verify > contract-evidence/maven.log 2>&1
99103
result=$?
100-
printf '%s\n' "$result" > .contract-evidence/maven.exit
101-
tail -100 .contract-evidence/maven.log
104+
printf '%s\n' "$result" > contract-evidence/maven.exit
105+
tail -100 contract-evidence/maven.log
102106
exit "$result"
103107
- name: Require nonempty, non-skipped contract evidence
104108
if: always()
105109
shell: bash
106110
run: |
107-
test -f .contract-evidence/maven.exit
111+
test -f contract-evidence/maven.exit
108112
python3 scripts/contract_report.py \
109113
--reports target/surefire-reports \
110-
--head "$(cat .contract-evidence/head.txt)" \
114+
--head "$(cat contract-evidence/head.txt)" \
111115
--branch "$GITHUB_REF_NAME" \
112-
--java-version-file .contract-evidence/java.txt \
113-
--maven-version-file .contract-evidence/maven.txt \
114-
--exit-code "$(cat .contract-evidence/maven.exit)" \
116+
--java-version-file contract-evidence/java.txt \
117+
--maven-version-file contract-evidence/maven.txt \
118+
--exit-code "$(cat contract-evidence/maven.exit)" \
115119
--suite argv=io.github.easy4j.opencli.contract.OpenCliArgvContractTest \
116-
--output .contract-evidence/report.json
120+
--output contract-evidence/report.json
117121
- name: Upload actual JVM evidence
118122
if: always()
119123
uses: actions/upload-artifact@v7
120124
with:
121125
name: contracts-jdk-${{ steps.line.outputs.java }}-${{ github.sha }}
122126
path: |
123-
.contract-evidence
127+
contract-evidence
124128
target/surefire-reports
125129
target/site/jacoco
126130
if-no-files-found: error

.mvn/wrapper/maven-wrapper.jar

49.5 KB
Binary file not shown.

.mvn/wrapper/maven-wrapper.properties

100755100644
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
wrapperVersion=3.3.4
2-
distributionType=only-script
2+
distributionType=bin
33
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.16/apache-maven-3.9.16-bin.zip

0 commit comments

Comments
 (0)