|
14 | 14 | jobs: |
15 | 15 | build-main-amd64: |
16 | 16 | 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/') |
22 | 17 | 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 |
32 | 18 | - name: Debug - Print PR files info |
33 | 19 | run: | |
34 | 20 | echo "=== PR Files Debug Info ===" |
|
39 | 25 | echo "=== Full file objects ===" |
40 | 26 | echo '${{ toJSON(github.event.pull_request.files) }}' |
41 | 27 | 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 |
42 | 64 | - 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/') |
43 | 70 | run: | |
44 | 71 | docker buildx build --platform linux/amd64 -t nexent/nexent:dev-amd64 --load -f make/main/Dockerfile . |
45 | 72 |
|
|
0 commit comments