@@ -55,45 +55,61 @@ jobs:
55
55
}
56
56
ignored_types : ' []'
57
57
58
+ check-permissions :
59
+ name : Check actor permissions
60
+ runs-on : ubuntu-latest
61
+ outputs :
62
+ can-write : ${{ steps.check.outputs.require-result }}
63
+ steps :
64
+ - uses : actions-cool/check-user-permission@main
65
+ id : check
66
+ with :
67
+ require : write
68
+
58
69
docker-build-unified :
59
70
if : github.event.pull_request.draft == false
71
+ needs : check-permissions
60
72
name : Build Unified Image
61
73
uses : ./.github/workflows/.reusable-docker-build.yml
62
74
with :
75
+ ephemeral : ${{ !needs.check-permissions.outputs.can-write }}
63
76
target : oss-unified
64
77
image-name : flagsmith
65
- ephemeral : ${{ github.event.pull_request.author_association != 'MEMBER' }}
66
78
67
79
docker-build-api :
68
80
if : github.event.pull_request.draft == false
81
+ needs : check-permissions
69
82
name : Build API Image
70
83
uses : ./.github/workflows/.reusable-docker-build.yml
71
84
with :
85
+ ephemeral : ${{ !needs.check-permissions.outputs.can-write }}
72
86
target : oss-api
73
87
image-name : flagsmith-api
74
- ephemeral : ${{ github.event.pull_request.author_association != 'MEMBER' }}
75
88
76
89
docker-build-frontend :
77
90
if : github.event.pull_request.draft == false
91
+ needs : check-permissions
78
92
name : Build Frontend Image
79
93
uses : ./.github/workflows/.reusable-docker-build.yml
80
94
with :
95
+ ephemeral : ${{ !needs.check-permissions.outputs.can-write }}
81
96
target : oss-frontend
82
97
image-name : flagsmith-frontend
83
- ephemeral : ${{ github.event.pull_request.author_association != 'MEMBER' }}
84
98
85
99
docker-build-e2e :
86
100
if : github.event.pull_request.draft == false
101
+ needs : check-permissions
87
102
name : Build E2E Image
88
103
uses : ./.github/workflows/.reusable-docker-build.yml
89
104
with :
105
+ ephemeral : ${{ !needs.check-permissions.outputs.can-write }}
90
106
file : frontend/Dockerfile.e2e
91
107
image-name : flagsmith-e2e
92
- ephemeral : ${{ github.event.pull_request.author_association != 'MEMBER' }}
93
108
scan : false
94
109
95
110
docker-build-private-cloud :
96
- if : github.event.pull_request.draft == false && github.event.pull_request.author_association == 'MEMBER'
111
+ if : github.event.pull_request.draft == false && needs.check-permissions.outputs.can-write
112
+ needs : check-permissions
97
113
name : Build Private Cloud Image
98
114
uses : ./.github/workflows/.reusable-docker-build.yml
99
115
with :
0 commit comments