Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update github-workflow #1200

Merged
merged 2 commits into from
Jan 5, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 25 additions & 4 deletions .github/workflows/dubbo-3_2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -135,10 +135,31 @@ jobs:
- name: "Download Skywalking Agent and MySQL Driver"
if: steps.cache-skywalking-agent.outputs.cache-hit != 'true' || steps.cache-mysql-driver.outputs.cache-hit != 'true'
run: |
wget -c https://archive.apache.org/dist/skywalking/java-agent/9.0.0/apache-skywalking-java-agent-9.0.0.tgz --no-check-certificate
tar -zxvf apache-skywalking-java-agent-9.0.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/
download_with_retry() {
local url=$1
local dest=$2
local retries=3
local count=0
local success=0

while [ $count -lt $retries ]; do
echo "Attempt $(($count+1)) to download $url"
wget -c $url --no-check-certificate -O $dest && success=1 && break
count=$(($count+1))
echo "Retry in 5 seconds..."
sleep 5
done

if [ $success -ne 1 ]; then
echo "Failed to download $url after $retries attempts."
exit 1
fi
}

download_with_retry "https://archive.apache.org/dist/skywalking/java-agent/9.0.0/apache-skywalking-java-agent-9.0.0.tgz" "/tmp/apache-skywalking-java-agent-9.0.0.tgz"
tar -zxvf /tmp/apache-skywalking-java-agent-9.0.0.tgz -C /tmp

download_with_retry "https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.23/mysql-connector-java-8.0.23.jar" "/tmp/mysql-connector-java-8.0.23.jar"
- name: "Mvn Benchmark Skywalking Plugin"
run: |
rm -rf /tmp/skywalking-agent/plugins/*
Expand Down
82 changes: 47 additions & 35 deletions .github/workflows/dubbo-3_3.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,7 @@ env:
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,6.1.5;
spring-boot.version:2.7.6,3.2.3;
Expand Down Expand Up @@ -59,7 +57,6 @@ jobs:
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 }}
Expand All @@ -71,13 +68,10 @@ jobs:
- 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`
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`
commit_id=$(git log --format="%H" -n 1)
echo "::set-output name=commit_id::$commit_id"
echo "commit_id: $commit_id"
- name: Dubbo cache
Expand All @@ -103,12 +97,11 @@ jobs:
- 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
./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: 5
steps:
- uses: actions/checkout@v3
Expand All @@ -120,7 +113,51 @@ jobs:
with:
name: test-list
path: test/jobs
- name: "Cache Skywalking Agent"
id: cache-skywalking-agent
uses: actions/cache@v4
with:
path: /tmp/skywalking-agent/dubbo-samples-benchmark-agent.jar
key: ${{ runner.os }}-skywalking-agent-9.0.0
- name: "Cache MySQL Driver"
id: cache-mysql-driver
uses: actions/cache@v4
with:
path: /tmp/mysql-connector-java-8.0.23.jar
key: ${{ runner.os }}-mysql-driver-8.0.23
- name: "Download Skywalking Agent and MySQL Driver"
if: steps.cache-skywalking-agent.outputs.cache-hit != 'true' || steps.cache-mysql-driver.outputs.cache-hit != 'true'
run: |
download_with_retry() {
local url=$1
local dest=$2
local retries=3
local count=0
local success=0

while [ $count -lt $retries ]; do
echo "Attempt $(($count+1)) to download $url"
wget -c $url --no-check-certificate -O $dest && success=1 && break
count=$(($count+1))
echo "Retry in 5 seconds..."
sleep 5
done

if [ $success -ne 1 ]; then
echo "Failed to download $url after $retries attempts."
exit 1
fi
}

download_with_retry "https://archive.apache.org/dist/skywalking/java-agent/9.0.0/apache-skywalking-java-agent-9.0.0.tgz" "/tmp/apache-skywalking-java-agent-9.0.0.tgz"
tar -zxvf /tmp/apache-skywalking-java-agent-9.0.0.tgz -C /tmp

download_with_retry "https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.23/mysql-connector-java-8.0.23.jar" "/tmp/mysql-connector-java-8.0.23.jar"
- name: "Mvn Benchmark Skywalking Plugin"
run: |
rm -rf /tmp/skywalking-agent/dubbo-samples-benchmark-agent.jar
cd 10-task/dubbo-samples-benchmark/dubbo-samples-benchmark-agent && mvn --batch-mode --no-snapshot-updates -e --no-transfer-progress clean package -Dmaven.test.skip=true -Dmaven.test.skip.exec=true
cp -f ./target/dubbo-samples-benchmark-agent.jar /tmp/skywalking-agent/

testjob:
needs: [prepare_test, build-dubbo]
Expand All @@ -134,7 +171,6 @@ jobs:
fail-fast: false
matrix:
java: [8, 11, 17, 21]
#testjob id list MUST match 'JOB_COUNT' of 'prepare_test'
job_id: [1,2,3,4,5]
steps:
- uses: actions/checkout@v3
Expand Down Expand Up @@ -165,30 +201,6 @@ jobs:
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: "Cache Skywalking Agent"
id: cache-skywalking-agent
uses: actions/cache@v4
with:
path: /tmp/skywalking-agent/dubbo-samples-benchmark-agent.jar
key: ${{ runner.os }}-skywalking-agent-9.0.0
- name: "Cache MySQL Driver"
id: cache-mysql-driver
uses: actions/cache@v4
with:
path: /tmp/mysql-connector-java-8.0.23.jar
key: ${{ runner.os }}-mysql-driver-8.0.23
- name: "Download Skywalking Agent and MySQL Driver"
# if: steps.cache-skywalking-agent.outputs.cache-hit != 'true' || steps.cache-mysql-driver.outputs.cache-hit != 'true'
run: |
wget -c https://archive.apache.org/dist/skywalking/java-agent/9.0.0/apache-skywalking-java-agent-9.0.0.tgz --no-check-certificate
tar -zxvf apache-skywalking-java-agent-9.0.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/
- name: "Mvn Benchmark Skywalking Plugin"
run: |
rm -rf /tmp/skywalking-agent/dubbo-samples-benchmark-agent.jar
cd 10-task/dubbo-samples-benchmark/dubbo-samples-benchmark-agent && mvn --batch-mode --no-snapshot-updates -e --no-transfer-progress clean package -Dmaven.test.skip=true -Dmaven.test.skip.exec=true
cp -f ./target/dubbo-samples-benchmark-agent.jar /tmp/skywalking-agent/
- name: Build test image
run: |
cd test && bash ./build-test-image.sh
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/license.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ jobs:
- name: Check License
uses: apache/skywalking-eyes@main
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Loading