This repository was archived by the owner on Jul 29, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
117 lines (109 loc) · 3.32 KB
/
Copy pathcheck-image-build.yml
File metadata and controls
117 lines (109 loc) · 3.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
name: Check Image Build
on:
pull_request:
types: [opened, reopened, edited, synchronize]
branches: [ "main", "release/**", "develop" ]
paths-ignore:
- '.github/**'
- '*.md'
- 'deployment-examples/**'
jobs:
changes:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
outputs:
frontend: ${{ steps.changes.outputs.frontend }}
backend: ${{ steps.changes.outputs.backend }}
runner: ${{ steps.changes.outputs.runner }}
plugins: ${{ steps.changes.outputs.plugins }}
justflow: ${{ steps.changes.outputs.justflow }}
steps:
- name: Checkout code
uses: actions/checkout@v7
- uses: dorny/paths-filter@v4
id: changes
with:
filters: |
frontend:
- 'apps/frontend/**'
backend:
- 'apps/backend/**'
runner:
- 'apps/runner/**'
- 'apps/backend/**'
- 'go.work'
plugins:
- 'runner-plugins/**'
- 'apps/backend/**'
- 'apps/runner/**'
- 'go.work'
justflow:
- 'apps/frontend/**'
- 'apps/backend/**'
- 'Dockerfile'
- 'entrypoint.sh'
frontend:
name: Check Standalone Frontend Build
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.frontend == 'true' }}
steps:
- name: Checkout code
uses: actions/checkout@v7
- name: Build Frontend Docker Image
run: docker build apps/frontend --file apps/frontend/Dockerfile --tag justnz/justflow:frontend-test
backend:
name: Check Standalone Backend Build
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.backend == 'true' }}
steps:
- name: Checkout code
uses: actions/checkout@v7
- name: Build Backend Docker Image
run: docker build apps/backend --file apps/backend/Dockerfile --tag justnz/justflow:backend-test
runner:
name: Check Runner Build
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.runner == 'true' }}
steps:
- name: Checkout code
uses: actions/checkout@v7
- name: Build Runner Docker Image
run: docker build . --file apps/runner/Dockerfile --tag justnz/runner:test
plugins:
name: Check Plugins Build
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.plugins == 'true' }}
steps:
- name: Checkout code
uses: actions/checkout@v7
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: '1.26.4'
- name: Build Plugin Modules
run: |
set -euo pipefail
while IFS= read -r modfile; do
plugin_dir=$(dirname "$modfile")
echo "Building ${plugin_dir}"
(
cd "$plugin_dir"
go build ./...
)
done < <(find runner-plugins -name go.mod | sort)
justflow:
name: Check justFlow Build
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.justflow == 'true' }}
steps:
- name: Checkout code
uses: actions/checkout@v7
- name: Build justFlow Docker Image
run: docker build . --file Dockerfile --tag justnz/justflow:test