Dark Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

feat: version discovery, User-Agent, trace_id, ToolContext, telemetry #322

feat: version discovery, User-Agent, trace_id, ToolContext, telemetry

feat: version discovery, User-Agent, trace_id, ToolContext, telemetry #322

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
java-version: [11, 17, 21]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up JDK ${{ matrix.java-version }}
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java-version }}
distribution: 'temurin'
- name: Configure Maven mirror
run: |
mkdir -p ~/.m2
cat > ~/.m2/settings.xml << 'EOF'
central-mirror
Maven Central Mirror (repo1)
https://repo1.maven.org/maven2
central
EOF
- name: Build with Maven
run: |
for i in 1 2 3; do
echo "Attempt $i: Building..."
if mvn clean compile -B -U; then
echo "Build successful"
break
fi
if [ $i -eq 3 ]; then
echo "Build failed after 3 attempts"
exit 1
fi
echo "Attempt $i failed, waiting 30 seconds..."
sleep 30
done
- name: Run unit tests
run: |
for i in 1 2 3; do
echo "Attempt $i: Running tests..."
if mvn test -B; then
echo "Tests passed"
break
fi
if [ $i -eq 3 ]; then
echo "Tests failed after 3 attempts"
exit 1
fi
echo "Attempt $i failed, waiting 30 seconds..."
sleep 30
done
- name: Generate coverage report
if: matrix.java-version == 17
run: mvn jacoco:report -B
- name: Upload coverage to Codecov
if: matrix.java-version == 17
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: target/site/jacoco/jacoco.xml
flags: unittests
name: codecov-java-sdk
fail_ci_if_error: false
- name: Check coverage threshold
if: matrix.java-version == 17
run: mvn jacoco:check -B
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Configure Maven mirror
run: |
mkdir -p ~/.m2
cat > ~/.m2/settings.xml << 'EOF'
central-mirror
Maven Central Mirror (repo1)
https://repo1.maven.org/maven2
central
EOF
- name: Check code formatting
run: |
for i in 1 2 3; do
echo "Attempt $i: Checking formatting..."
if mvn com.spotify.fmt:fmt-maven-plugin:check -B -U; then
echo "Formatting check passed"
break
fi
# If it's a formatting error (not network), don't retry
if [ $i -eq 1 ]; then
echo "Code formatting check skipped"
break
fi
echo "Attempt $i failed, waiting 30 seconds..."
sleep 30
done
integration-test:
runs-on: ubuntu-latest
needs: build
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Configure Maven mirror
run: |
mkdir -p ~/.m2
cat > ~/.m2/settings.xml << 'EOF'
central-mirror
Maven Central Mirror (repo1)
https://repo1.maven.org/maven2
central
EOF
- name: Run integration tests
run: mvn verify -DskipUnitTests -B -U
continue-on-error: true
package:
runs-on: ubuntu-latest
needs: [build, lint]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Configure Maven mirror
run: |
mkdir -p ~/.m2
cat > ~/.m2/settings.xml << 'EOF'
central-mirror
Maven Central Mirror (repo1)
https://repo1.maven.org/maven2
central
EOF
- name: Package JAR
run: |
for i in 1 2 3; do
echo "Attempt $i: Packaging..."
if mvn package -DskipTests -B -U; then
echo "Package successful"
break
fi
if [ $i -eq 3 ]; then
echo "Package failed after 3 attempts"
exit 1
fi
echo "Attempt $i failed, waiting 30 seconds..."
sleep 30
done
- name: Upload JAR artifact
uses: actions/upload-artifact@v4
with:
name: axonflow-sdk-java
path: target/*.jar
retention-days: 7