Skip to content

Commit 4cab655

Browse files
committed
Add cross-module smoke workflow
Validate codecmedia-java, codecmedia-cli, and codecmedia-kotlin together in one workflow across JDK 17 and 21 to catch cross-repository integration regressions early. Update the changelog to document the new workflow and cross-module verification runs.
1 parent 2c24149 commit 4cab655

File tree

2 files changed

+56
-0
lines changed

2 files changed

+56
-0
lines changed
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: Cross Module Smoke
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- master
8+
workflow_dispatch:
9+
10+
jobs:
11+
smoke:
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
java: ['17', '21']
16+
runs-on: ubuntu-latest
17+
18+
steps:
19+
- name: Checkout java repo
20+
uses: actions/checkout@v4
21+
with:
22+
path: codecmedia-java
23+
24+
- name: Checkout cli repo
25+
uses: actions/checkout@v4
26+
with:
27+
repository: CodecMediaLib/codecmedia-cli
28+
path: codecmedia-cli
29+
30+
- name: Checkout kotlin repo
31+
uses: actions/checkout@v4
32+
with:
33+
repository: CodecMediaLib/codecmedia-kotlin
34+
path: codecmedia-kotlin
35+
36+
- name: Set up JDK ${{ matrix.java }}
37+
uses: actions/setup-java@v4
38+
with:
39+
distribution: temurin
40+
java-version: ${{ matrix.java }}
41+
cache: maven
42+
43+
- name: Install java core locally
44+
working-directory: codecmedia-java
45+
run: mvn -B -Dgpg.skip=true -DskipTests clean install
46+
47+
- name: Build and test CLI against local core
48+
working-directory: codecmedia-cli
49+
run: mvn -B -Dgpg.skip=true test
50+
51+
- name: Build and test Kotlin wrapper against local core
52+
working-directory: codecmedia-kotlin
53+
run: ./gradlew clean test -x sign

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2828
- Added explicit decode-only intent comment in [`FlacCodec`](src/main/java/me/tamkungz/codecmedia/internal/audio/flac/FlacCodec.java).
2929
- Added AIFF parser tests for supported AIFC `NONE` and unsupported compression-type rejection in [`AiffParserTest`](src/test/java/me/tamkungz/codecmedia/internal/audio/aiff/AiffParserTest.java).
3030
- Added explicit decode-only intent comment in [`AiffCodec`](src/main/java/me/tamkungz/codecmedia/internal/audio/aiff/AiffCodec.java).
31+
- Added cross-repository smoke workflow in [`.github/workflows/cross-module-smoke.yml`](.github/workflows/cross-module-smoke.yml) to validate `codecmedia-java`, `codecmedia-cli`, and `codecmedia-kotlin` together across JDK 17/21.
3132

3233
### Verified
3334
- Confirmed MP3 parser updates with `mvn -Dtest=Mp3ParserTest test`.
3435
- Confirmed OGG parser updates with `mvn -Dtest=OggParserTest test`.
3536
- Confirmed WAV parser updates with `mvn -Dtest=WavParserTest test`.
3637
- Confirmed FLAC parser updates with `mvn -Dtest=FlacParserTest test`.
3738
- Confirmed AIFF parser updates with `mvn -Dtest=AiffParserTest test`.
39+
- Confirmed CLI argument/dispatch regression tests in [`CodecMediaCliTest`](../codecmedia-cli/src/test/java/me/tamkungz/codecmedia/CodecMediaCliTest.java) with `mvn test` (in `codecmedia-cli`).
40+
- Confirmed Kotlin wrapper refactor stability with `gradlew.bat test` (in `codecmedia-kotlin`).
3841

3942
## [1.1.0] - 2026-03-13
4043

0 commit comments

Comments
 (0)