|
12 | 12 | SOURCE_REPO: ${{ secrets.SOURCE_REPO }} |
13 | 13 |
|
14 | 14 | on: |
15 | | - pull_request: |
| 15 | + #pull_request: |
| 16 | + # call from trivy_image_check.yaml, which in turn call from pull_request |
| 17 | + # https://stackoverflow.com/a/71489231 |
| 18 | + workflow_call: |
16 | 19 | push: |
17 | 20 | branches: |
18 | 21 | - main |
19 | 22 |
|
| 23 | +defaults: |
| 24 | + run: |
| 25 | + shell: bash |
| 26 | + |
20 | 27 | jobs: |
| 28 | + set_edition: |
| 29 | + runs-on: [self-hosted, regular, selectel] |
| 30 | + name: Set edition |
| 31 | + outputs: |
| 32 | + module_edition: ${{ steps.set-vars.outputs.MODULE_EDITION }} |
| 33 | + steps: |
| 34 | + - name: Get Pull Request Labels |
| 35 | + id: get-labels |
| 36 | + uses: actions/github-script@v7 |
| 37 | + with: |
| 38 | + script: | |
| 39 | + if (context.eventName === "pull_request" || context.eventName === "pull_request_target" ) { |
| 40 | + const prNumber = context.payload.pull_request.number; |
| 41 | + const { data: labels } = await github.rest.issues.listLabelsOnIssue({ |
| 42 | + owner: context.repo.owner, |
| 43 | + repo: context.repo.repo, |
| 44 | + issue_number: prNumber, |
| 45 | + }); |
| 46 | + return labels.map(label => label.name); |
| 47 | + } else { |
| 48 | + return []; |
| 49 | + } |
| 50 | + result-encoding: string |
| 51 | + |
| 52 | + - name: Set vars |
| 53 | + id: set-vars |
| 54 | + run: | |
| 55 | + # Slect edition for build, default EE |
| 56 | + if echo "${{ steps.get-labels.outputs.result }}" | grep -q "edition/ce"; then |
| 57 | + echo "MODULE_EDITION=CE" >> "$GITHUB_OUTPUT" |
| 58 | + else |
| 59 | + echo "MODULE_EDITION=EE" >> "$GITHUB_OUTPUT" |
| 60 | + fi |
| 61 | +
|
21 | 62 | dev_setup_build: |
22 | 63 | runs-on: [self-hosted, regular, selectel] |
23 | 64 | name: Build and Push images |
| 65 | + needs: [set_edition] |
| 66 | + env: |
| 67 | + MODULE_EDITION: ${{needs.set_edition.outputs.module_edition}} |
24 | 68 | steps: |
25 | 69 | - name: Set vars for PR |
26 | 70 | if: ${{ github.ref_name != 'main' }} |
27 | 71 | run: | |
28 | 72 | MODULES_MODULE_TAG="$(echo pr${{ github.ref_name }} | sed 's/\/.*//g')" |
29 | 73 | echo "MODULES_MODULE_TAG=$MODULES_MODULE_TAG" >> "$GITHUB_ENV" |
30 | | - shell: bash |
31 | 74 | - name: Set vars for main |
32 | 75 | if: ${{ github.ref_name == 'main' }} |
33 | 76 | run: | |
34 | 77 | echo "MODULES_MODULE_TAG=${{ github.ref_name }}" >> "$GITHUB_ENV" |
35 | | - shell: bash |
36 | 78 | - name: Print vars |
37 | 79 | run: | |
38 | 80 | echo MODULES_REGISTRY=$MODULES_REGISTRY |
39 | 81 | echo CI_COMMIT_REF_NAME=$CI_COMMIT_REF_NAME |
40 | 82 | echo MODULES_MODULE_NAME=$MODULES_MODULE_NAME |
41 | 83 | echo MODULES_MODULE_SOURCE=$MODULES_MODULE_SOURCE |
42 | 84 | echo MODULES_MODULE_TAG=$MODULES_MODULE_TAG |
43 | | - shell: bash |
| 85 | + echo MODULE_EDITION=$MODULE_EDITION |
44 | 86 |
|
45 | 87 | - uses: actions/checkout@v4 |
46 | 88 | - uses: deckhouse/modules-actions/setup@v1 |
|
0 commit comments