This repository has been archived by the owner on Jan 24, 2024. It is now read-only.
[oauthclient] Create a zero-dependencies jar: - remove Async HTTP client and use the standard JDK Http client - shade and relocate Jackson Databind, used for JSON #4301
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: kop tests | |
on: | |
pull_request: | |
branches: | |
- master | |
- branch-* | |
push: | |
branches: | |
- master | |
- branch-* | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
basic-validation: | |
name: Style check and basic unit tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v1 | |
with: | |
java-version: 17 | |
- name: License check | |
run: mvn -ntp -B license:check | |
- name: Style check | |
run: mvn -ntp -B checkstyle:check | |
- name: Build with Maven skipTests | |
run: mvn clean install -ntp -B -DskipTests | |
- name: Building JavaDocs | |
run: mvn -ntp -B javadoc:jar | |
- name: Spotbugs check | |
run: mvn -ntp -B spotbugs:check | |
- name: kafka-impl test after build | |
run: mvn test -ntp -B -DfailIfNoTests=false -pl kafka-impl | |
- name: schema registry test after build | |
run: mvn test -ntp -B -DfailIfNoTests=false -pl schema-registry | |
- name: kafka-payload-processor test after build | |
run: mvn test -ntp -B -DfailIfNoTests=false -pl kafka-payload-processor-shaded-tests | |
- name: Start and init the oauth server | |
run: ./ci/init_hydra_oauth_server.sh | |
timeout-minutes: 5 | |
- name: oauth-client test after build | |
run: mvn test -ntp -B -DfailIfNoTests=false -pl oauth-client | |
- name: oauth-client-shaded test after build | |
run: mvn test -ntp -B -DfailIfNoTests=false -pl oauth-client-shaded-test | |
- name: Upload to Codecov | |
uses: codecov/codecov-action@v3 | |
- name: package surefire artifacts | |
if: failure() | |
run: | | |
rm -rf artifacts | |
mkdir artifacts | |
find . -type d -name "*surefire*" -exec cp --parents -R {} artifacts/ \; | |
zip -r artifacts.zip artifacts | |
- uses: actions/upload-artifact@master | |
name: upload surefire-artifacts | |
if: failure() | |
with: | |
name: surefire-artifacts | |
path: artifacts.zip | |
kop-unit-tests: | |
name: Unit Test (${{ matrix.test.name }}) | |
runs-on: ubuntu-latest | |
timeout-minutes: 60 | |
strategy: | |
# other jobs should run even if one test fails | |
fail-fast: false | |
matrix: | |
test: [ | |
{ | |
name: "admin test", | |
scripts: [ | |
"mvn test -ntp -B -DfailIfNoTests=false '-Dtest=io.streamnative.pulsar.handlers.kop.admin.*Test' -pl tests" | |
] | |
}, | |
{ | |
name: "compatibility test", | |
scripts: [ | |
"mvn test -ntp -B -DfailIfNoTests=false '-Dtest=io.streamnative.pulsar.handlers.kop.compatibility.*Test' -pl tests", | |
"mvn test -ntp -B -DfailIfNoTests=false '-Dtest=io.streamnative.pulsar.handlers.kop.compatibility..*.*Test' -pl tests" | |
] | |
}, | |
{ | |
name: "coordinator test", | |
scripts: [ | |
"mvn test -ntp -B -DfailIfNoTests=false '-Dtest=io.streamnative.pulsar.handlers.kop.coordinator.*Test' -pl tests", | |
"mvn test -ntp -B -DfailIfNoTests=false '-Dtest=io.streamnative.pulsar.handlers.kop.coordinator..*.*Test' -pl tests" | |
] | |
}, | |
{ | |
name: "end to end test", | |
scripts: [ | |
"mvn test -ntp -B -DfailIfNoTests=false '-Dtest=io.streamnative.pulsar.handlers.kop.e2e.*Test' -pl tests" | |
] | |
}, | |
{ | |
name: "format test", | |
scripts: [ | |
"mvn test -ntp -B -DfailIfNoTests=false '-Dtest=io.streamnative.pulsar.handlers.kop.format.*Test' -pl tests" | |
] | |
}, | |
{ | |
name: "metadata test", | |
scripts: [ | |
"mvn test -ntp -B -DfailIfNoTests=false '-Dtest=io.streamnative.pulsar.handlers.kop.metadata.*Test' -pl tests" | |
] | |
}, | |
{ | |
name: "metrics test", | |
scripts: [ | |
"mvn test -ntp -B -DfailIfNoTests=false '-Dtest=io.streamnative.pulsar.handlers.kop.metrics.*Test' -pl tests" | |
] | |
}, | |
{ | |
name: "producer test", | |
scripts: [ | |
"mvn test -ntp -B -DfailIfNoTests=false '-Dtest=io.streamnative.pulsar.handlers.kop.producer.*Test' -pl tests" | |
] | |
}, | |
{ | |
name: "schema test", | |
scripts: [ | |
"mvn test -ntp -B -DfailIfNoTests=false '-Dtest=io.streamnative.pulsar.handlers.kop.schemaregistry.model.impl.*Test' -pl tests" | |
] | |
}, | |
{ | |
name: "security test", | |
scripts: [ | |
"mvn test -ntp -B -DfailIfNoTests=false '-Dtest=io.streamnative.pulsar.handlers.kop.security.*Test' -pl tests", | |
"mvn test -ntp -B -DfailIfNoTests=false '-Dtest=io.streamnative.pulsar.handlers.kop.security.*.*Test' -pl tests" | |
] | |
}, | |
{ | |
name: "storage test", | |
scripts: [ | |
"mvn test -ntp -B -DfailIfNoTests=false '-Dtest=io.streamnative.pulsar.handlers.kop.storage.*Test' -pl tests" | |
] | |
}, | |
{ | |
name: "streams test", | |
scripts: [ | |
"mvn test -ntp -B -DfailIfNoTests=false '-Dtest=io.streamnative.pulsar.handlers.kop.streams.*Test' -pl tests" | |
] | |
}, | |
{ | |
name: "util test", | |
scripts: [ | |
"mvn test -ntp -B -DfailIfNoTests=false '-Dtest=io.streamnative.pulsar.handlers.kop.util.timer.*Test' -pl tests" | |
] | |
}, | |
{ | |
name: "other test", | |
scripts: [ | |
"mvn test -ntp -B -DfailIfNoTests=false '-Dtest=io.streamnative.pulsar.handlers.kop.*Test' -pl tests" | |
] | |
}, | |
] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v1 | |
with: | |
java-version: 17 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '3.10' | |
- name: Install jq | |
run: sudo apt-get install -y jq | |
- name: Build with Maven skipTests | |
run: mvn clean install -ntp -B -DskipTests | |
- name: Start and init the oauth server | |
run: ./ci/init_hydra_oauth_server.sh | |
timeout-minutes: 5 | |
- name: ${{ matrix.test.name }} | |
run: | | |
echo '${{ matrix.test.scripts }}' | |
scripts=$(echo '${{ toJson(matrix.test.scripts) }}' | jq -r '.[]') | |
IFS=$'\n' # change the internal field separator to newline | |
echo $scripts | |
for script in $scripts | |
do | |
bash -c "${script}" | |
done | |
unset IFS # revert the internal field separator back to default | |
unit-test-check: | |
name: Unit Test Check | |
runs-on: ubuntu-latest | |
needs: kop-unit-tests # This job will only run if all 'kop-unit-tests' jobs have completed successfully | |
steps: | |
- name: Check | |
run: echo "All tests have passed!" |