1+ name : WeDPR-Component docker ci
2+ on :
3+ push :
4+ paths-ignore :
5+ - " docs/**"
6+ - " Changelog.md"
7+ - " README.md"
8+ tags :
9+ - ' v3.*.*'
10+ pull_request :
11+ paths-ignore :
12+ - " docs/**"
13+ - " python/**"
14+ - " Changelog.md"
15+ - " README.md"
16+ release :
17+ types : [prereleased]
18+
19+ concurrency :
20+ group : ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
21+ cancel-in-progress : true
22+
23+ env :
24+ RUST_BACKTRACE : 1
25+ ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION : true
26+ ACTIONS_RUNNER_FORCED_INTERNAL_NODE_VERSION : node16
27+ ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION : node16
28+ # Use docker.io for Docker Hub if empty
29+ REGISTRY : ghcr.io
30+
31+ jobs :
32+ build-docker :
33+ if : github.event_name == 'pull_request' && github.event.action == 'closed' && github.event.pull_request.merged == true
34+ runs-on : ubuntu-latest
35+ steps :
36+ - name : Checkout
37+ uses : actions/checkout@v3
38+ - name : Get branch name
39+ 40+ - name : Fetch tag
41+ run : |
42+ git fetch --tags --force
43+ - name : Login to Docker Hub
44+ uses : docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3
45+ with :
46+ registry : ${{ env.REGISTRY }}
47+ username : ${{ secrets.DOCKER_FISCOPR_USER }}
48+ password : ${{ secrets.DOCKER_FISCOPR_TOKEN }}
49+ - name : Get git tag
50+ uses :
little-core-labs/[email protected] 51+ id : tag_data
52+ with :
53+ tagRegex : (.*) # Optional. Returns specified group text as tag name. Full tag string is returned if regex is not defined.
54+ tagRegexGroup : 1 # Optional. Default is 1.
55+ # the model image
56+ - name : Build and Push model images
57+ run : |
58+ [[ ${{github.ref}} == */tags/* ]] && MODEL_DOCKER_TAG="${GIT_TAG_NAME}" || MODEL_DOCKER_TAG="${BRANCH_NAME}"
59+ MODEL_DOCKER_TAG="fiscoorg/wedpr-model-service:${MODEL_DOCKER_TAG}"
60+ echo "* Begin to build model docker: ${MODEL_DOCKER_TAG}"
61+ cd docker-files/model/model
62+ docker build --build-arg SOURCE_BRANCH=${BRANCH_NAME} -t ${MODEL_DOCKER_TAG} .
63+ echo "* Build model docker: ${MODEL_DOCKER_TAG} success"
64+ docker push ${MODEL_DOCKER_TAG}
65+ echo "* Push model docker: ${MODEL_DOCKER_TAG} success"
66+ # the wedpr-gateway-service image
67+ - name : Build and Push wedpr-gateway-service images
68+ run : |
69+ [[ ${{github.ref}} == */tags/* ]] && GW_DOCKER_TAG="${GIT_TAG_NAME}" || GW_DOCKER_TAG="${BRANCH_NAME}"
70+ GW_DOCKER_TAG="fiscoorg/wedpr-gateway-service:${GW_DOCKER_TAG}"
71+ echo "* Begin to build wedpr-gateway-service docker: ${GW_DOCKER_TAG}"
72+ cd docker-files/cpp/
73+ docker build --build-arg SOURCE_BRANCH=${BRANCH_NAME} --target wedpr-gateway-service -t ${GW_DOCKER_TAG} .
74+ echo "* Build wedpr-gateway-service docker: ${GW_DOCKER_TAG} success"
75+ docker push ${GW_DOCKER_TAG}
76+ echo "* Push wedpr-gateway-service docker: ${GW_DOCKER_TAG} success"
77+ # the wedpr-pro-node-service image
78+ - name : Build and Push wedpr-pro-node-service images
79+ run : |
80+ [[ ${{github.ref}} == */tags/* ]] && NODE_DOCKER_TAG="${GIT_TAG_NAME}" || NODE_DOCKER_TAG="${BRANCH_NAME}"
81+ NODE_DOCKER_TAG="fiscoorg/wedpr-pro-node-service:${NODE_DOCKER_TAG}"
82+ echo "* Begin to build wedpr-pro-node-service docker: ${NODE_DOCKER_TAG}"
83+ cd docker-files/cpp/
84+ docker build --build-arg SOURCE_BRANCH=${BRANCH_NAME} --target wedpr-pro-node-service -t ${NODE_DOCKER_TAG} .
85+ echo "* Build wedpr-pro-node-service docker: ${NODE_DOCKER_TAG} success"
86+ docker push ${NODE_DOCKER_TAG}
87+ echo "* Push wedpr-pro-node-service docker: ${NODE_DOCKER_TAG} success"
88+ # the wedpr-mpc-service image
89+ - name : Build and Push wedpr-mpc-service images
90+ run : |
91+ [[ ${{github.ref}} == */tags/* ]] && MPC_DOCKER_TAG="${GIT_TAG_NAME}" || MPC_DOCKER_TAG="${BRANCH_NAME}"
92+ MPC_DOCKER_TAG="fiscoorg/wedpr-mpc-service:${MPC_DOCKER_TAG}"
93+ echo "* Begin to build wedpr-mpc-service docker: ${MPC_DOCKER_TAG}"
94+ cd docker-files/cpp/
95+ docker build --build-arg SOURCE_BRANCH=${BRANCH_NAME} --target wedpr-mpc-service -t ${MPC_DOCKER_TAG} .
96+ echo "* Build wedpr-mpc-service docker: ${MPC_DOCKER_TAG} success"
97+ docker push ${MPC_DOCKER_TAG}
98+ echo "* Push wedpr-mpc-service docker: ${MPC_DOCKER_TAG} success"
0 commit comments