revert runtimesProp #78
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: dyj | |
on: | |
pull_request: | |
paths: | |
- "**" | |
- "!**/*.md" | |
- "!docs/**" | |
push: | |
paths: | |
- '**' | |
- "!**/*.md" | |
- "!docs/**" | |
workflow_dispatch: | |
permissions: | |
contents: read | |
env: | |
FORK_COUNT: 2 | |
FAIL_FAST: 0 | |
SHOW_ERROR_DETAIL: 1 | |
BUILD_OPTS: --batch-mode --no-snapshot-updates --no-transfer-progress --settings ${{github.workspace}}/.mvn/settings.xml | |
-Dmaven.wagon.http.retryHandler.count=3 clean package dependency:copy-dependencies -DskipTests | |
#multi-version size limit | |
VERSIONS_LIMIT: 4 | |
#candidate versions (the dubbo snapshot version will be extracted from pom.xml and appended before CANDIDATE_VERSIONS ) | |
CANDIDATE_VERSIONS: ' | |
spring.version:5.3.24; | |
spring-boot.version:2.7.6; | |
' | |
DUBBO_REF: '3.3' | |
jobs: | |
build-dubbo: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
# Map a step output to a job output | |
outputs: | |
commit_id: ${{ steps.git-checker.outputs.commit_id }} | |
version: ${{ steps.git-checker.outputs.version }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
repository: 'wxbty/dubbo' | |
ref: ${{env.DUBBO_REF}} | |
- name: Get commit id and dubbo version | |
id: git-checker | |
run: | | |
# Calculate Dubbo Version | |
REVISION=`awk '/<revision>[^<]+<\/revision>/{gsub(/<revision>|<\/revision>/,"",$1);print $1;exit;}' pom.xml` | |
echo "::set-output name=version::$REVISION" | |
echo "dubbo version: $REVISION" | |
# | |
# commit id | |
commit_id=`git log --format="%H" -n 1` | |
echo "::set-output name=commit_id::$commit_id" | |
echo "commit_id: $commit_id" | |
echo "commit_id: ${{ github.sha }}" | |
- name: Dubbo cache | |
id: dubbocache | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2/repository/org/apache/dubbo | |
key: ${{ runner.os }}-dubbo-snapshot-${{steps.git-checker.outputs.commit_id}} | |
- name: Cache local Maven repository | |
if: steps.dubbocache.outputs.cache-hit != 'true' | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2/repository | |
key: ${{ runner.os }}-dubbo-${{env.DUBBO_REF}}-maven-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
${{ runner.os }}-dubbo-${{env.DUBBO_REF}}-maven- | |
- name: Set up JDK 17 | |
if: steps.dubbocache.outputs.cache-hit != 'true' | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' | |
java-version: 17 | |
- name: Build dubbo | |
if: steps.dubbocache.outputs.cache-hit != 'true' | |
run: | | |
./mvnw --batch-mode --no-snapshot-updates --no-transfer-progress clean install -Dmaven.test.skip=true -Dmaven.test.skip.exec=true | |
prepare_test: | |
runs-on: ubuntu-latest | |
env: | |
#'JOB_COUNT' MUST match 'job_id' list of 'testjob' | |
JOB_COUNT: 1 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Prepare test list | |
run: | | |
bash ./test/scripts/prepare-test.sh | |
- name: Upload test list | |
uses: actions/upload-artifact@v3 | |
with: | |
name: test-list | |
path: test/jobs | |
testjob: | |
needs: [prepare_test, build-dubbo] | |
name: 'Integration Test (Java${{matrix.java}}, Job${{matrix.job_id}})' | |
runs-on: ubuntu-latest | |
env: | |
JAVA_VER: ${{matrix.java}} | |
TEST_CASE_FILE: jobs/testjob_${{matrix.job_id}}.txt | |
ALL_REMOTE_VERSION: true | |
strategy: | |
fail-fast: false | |
matrix: | |
java: [8] | |
#testjob id list MUST match 'JOB_COUNT' of 'prepare_test' | |
job_id: [1] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up JDK ${{matrix.java}} | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' | |
java-version: ${{matrix.java}} | |
- name: Cache local Maven repository | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2/repository | |
key: ${{ runner.os }}-samples-maven-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
${{ runner.os }}-samples-maven- | |
- name: Dubbo cache | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2/repository/org/apache/dubbo | |
key: ${{ runner.os }}-dubbo-snapshot-${{needs.build-dubbo.outputs.commit_id}} | |
- name: Download test list | |
uses: actions/download-artifact@v3 | |
with: | |
name: test-list | |
path: test/jobs/ | |
- name: Init Candidate Versions | |
run: | | |
DUBBO_VERSION="${{needs.build-dubbo.outputs.version}}" | |
CANDIDATE_VERSIONS="dubbo.version:$DUBBO_VERSION;compiler.version:$DUBBO_VERSION;dubbo.compiler.version:$DUBBO_VERSION;$CANDIDATE_VERSIONS" | |
echo "CANDIDATE_VERSIONS=$CANDIDATE_VERSIONS" >> $GITHUB_ENV | |
- name: "Download Skywalking Agent And Mysql Driver" | |
run: | | |
wget -c https://archive.apache.org/dist/skywalking/java-agent/9.1.0/apache-skywalking-java-agent-9.1.0.tgz --no-check-certificate | |
tar -zxvf apache-skywalking-java-agent-9.1.0.tgz -C /tmp | |
wget -c https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.23/mysql-connector-java-8.0.23.jar | |
mv mysql-connector-java-8.0.23.jar /tmp/ | |
cd 10-task/dubbo-samples-benchmark/dubbo-samples-benchmark-agent && mvn clean package | |
rm /tmp/skywalking-agent/plugins/* | |
cp ./target/dubbo-samples-benchmark-agent.jar /tmp/skywalking-agent/plugins/ | |
- name: Build test image | |
run: | | |
cd test && bash ./build-test-image.sh | |
- name: Run tests | |
run: cd test && bash ./run-tests.sh ../10-task/dubbo-samples-benchmark/ | |
- name: "Upload docker log" | |
uses: actions/upload-artifact@v3 | |
with: | |
name: samples-docker-log | |
path: | | |
./10-task/dubbo-samples-benchmark/target/logs/*.log | |
/tmp/skywalking-agent/logs/*.log | |
/tmp/jmh_trace.json | |
- name: "Upload jmh output result" | |
if: success() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: samples-jmh-result | |
path: /tmp/jmh*.json | |
- name: Upload test result | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: test-result | |
path: test/jobs/*-result* | |
test_result: | |
needs: [testjob] | |
name: 'Test Result (Java${{matrix.java}})' | |
if: always() | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
java: [8] | |
env: | |
JAVA_VER: ${{matrix.java}} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Download test result | |
uses: actions/download-artifact@v3 | |
with: | |
name: test-result | |
path: test/jobs/ | |
- name: Merge test result - java ${{matrix.java}} | |
run: ./test/scripts/merge-test-results.sh |