Skip to content

Commit e2bd3a2

Browse files
author
jiangpeiling
committed
🔨 improve the CICD process.
1 parent b830834 commit e2bd3a2

File tree

1 file changed

+41
-14
lines changed

1 file changed

+41
-14
lines changed

.github/workflows/docker-build-dev.yml

Lines changed: 41 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,7 @@ on:
1414
jobs:
1515
build-main-amd64:
1616
runs-on: ubuntu-latest
17-
if: |
18-
github.event_name == 'workflow_dispatch' ||
19-
contains(github.event.pull_request.files.*.filename, 'backend/') ||
20-
contains(github.event.pull_request.files.*.filename, 'sdk/') ||
21-
contains(github.event.pull_request.files.*.filename, 'make/main/')
2217
steps:
23-
- name: Set up Docker Buildx
24-
run: |
25-
if ! docker buildx inspect nexent_builder > /dev/null 2>&1; then
26-
docker buildx create --name nexent_builder --use
27-
else
28-
docker buildx use nexent_builder
29-
fi
30-
- name: Checkout code
31-
uses: actions/checkout@v4
3218
- name: Debug - Print PR files info
3319
run: |
3420
echo "=== PR Files Debug Info ==="
@@ -39,7 +25,48 @@ jobs:
3925
echo "=== Full file objects ==="
4026
echo '${{ toJSON(github.event.pull_request.files) }}'
4127
echo "=== End Debug Info ==="
28+
- name: Check if should run
29+
run: |
30+
if [[ "${{ github.event_name }}" == "workflow_dispatch" ]] || \
31+
[[ "${{ contains(github.event.pull_request.files.*.filename, 'backend/') }}" == "true" ]] || \
32+
[[ "${{ contains(github.event.pull_request.files.*.filename, 'sdk/') }}" == "true" ]] || \
33+
[[ "${{ contains(github.event.pull_request.files.*.filename, 'make/main/') }}" == "true" ]]; then
34+
echo "✅ Job will run - conditions met"
35+
exit 0
36+
else
37+
echo "❌ Job will skip - conditions not met"
38+
exit 1
39+
fi
40+
if: |
41+
github.event_name == 'workflow_dispatch' ||
42+
contains(github.event.pull_request.files.*.filename, 'backend/') ||
43+
contains(github.event.pull_request.files.*.filename, 'sdk/') ||
44+
contains(github.event.pull_request.files.*.filename, 'make/main/')
45+
- name: Set up Docker Buildx
46+
if: |
47+
github.event_name == 'workflow_dispatch' ||
48+
contains(github.event.pull_request.files.*.filename, 'backend/') ||
49+
contains(github.event.pull_request.files.*.filename, 'sdk/') ||
50+
contains(github.event.pull_request.files.*.filename, 'make/main/')
51+
run: |
52+
if ! docker buildx inspect nexent_builder > /dev/null 2>&1; then
53+
docker buildx create --name nexent_builder --use
54+
else
55+
docker buildx use nexent_builder
56+
fi
57+
- name: Checkout code
58+
if: |
59+
github.event_name == 'workflow_dispatch' ||
60+
contains(github.event_pull_request.files.*.filename, 'backend/') ||
61+
contains(github.event_pull_request.files.*.filename, 'sdk/') ||
62+
contains(github.event_pull_request.files.*.filename, 'make/main/')
63+
uses: actions/checkout@v4
4264
- name: Build main image (amd64) and load locally
65+
if: |
66+
github.event_name == 'workflow_dispatch' ||
67+
contains(github.event_pull_request.files.*.filename, 'backend/') ||
68+
contains(github.event_pull_request.files.*.filename, 'sdk/') ||
69+
contains(github.event_pull_request.files.*.filename, 'make/main/')
4370
run: |
4471
docker buildx build --platform linux/amd64 -t nexent/nexent:dev-amd64 --load -f make/main/Dockerfile .
4572

0 commit comments

Comments
 (0)