[ci] Add webhook #1148
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and push for dev | |
env: | |
MODULES_REGISTRY: ${{ vars.DEV_REGISTRY }} | |
CI_COMMIT_REF_NAME: ${{ github.ref_name }} | |
MODULES_MODULE_NAME: ${{ vars.MODULE_NAME }} | |
MODULES_MODULE_SOURCE: ${{ vars.DEV_MODULE_SOURCE }} | |
MODULES_REGISTRY_LOGIN: ${{ vars.DEV_MODULES_REGISTRY_LOGIN }} | |
MODULES_REGISTRY_PASSWORD: ${{ secrets.DEV_MODULES_REGISTRY_PASSWORD }} | |
SOURCE_REPO: "${{ secrets.SOURCE_REPO }}" | |
on: | |
pull_request: | |
types: [opened, reopened, labeled, unlabeled, synchronize] | |
# call from trivy_image_check.yaml, which in turn call from pull_request | |
# https://stackoverflow.com/a/71489231 | |
workflow_call: | |
push: | |
branches: | |
- main | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
set_edition: | |
runs-on: [self-hosted, regular, selectel] | |
name: Set edition | |
outputs: | |
module_edition: ${{ steps.set-vars.outputs.MODULE_EDITION }} | |
steps: | |
- name: Get Pull Request Labels | |
id: get-labels | |
uses: actions/github-script@v7 | |
with: | |
script: | | |
if (context.eventName === "pull_request" || context.eventName === "pull_request_target" ) { | |
const prNumber = context.payload.pull_request.number; | |
const { data: labels } = await github.rest.issues.listLabelsOnIssue({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
issue_number: prNumber, | |
}); | |
return labels.map(label => label.name); | |
} else { | |
return []; | |
} | |
result-encoding: string | |
- name: Set vars | |
id: set-vars | |
run: | | |
# Slect edition for build, default EE | |
if echo "${{ steps.get-labels.outputs.result }}" | grep -q "edition/ce"; then | |
echo "MODULE_EDITION=CE" >> "$GITHUB_OUTPUT" | |
else | |
echo "MODULE_EDITION=EE" >> "$GITHUB_OUTPUT" | |
fi | |
dev_setup_build: | |
runs-on: [self-hosted, regular, selectel] | |
name: Build and Push images | |
needs: [set_edition] | |
env: | |
MODULE_EDITION: ${{needs.set_edition.outputs.module_edition}} | |
steps: | |
- name: Set vars for PR | |
if: ${{ github.ref_name != 'main' }} | |
run: | | |
MODULES_MODULE_TAG="$(echo pr${{ github.ref_name }} | sed 's/\/.*//g')" | |
echo "MODULES_MODULE_TAG=$MODULES_MODULE_TAG" >> "$GITHUB_ENV" | |
- name: Set vars for main | |
if: ${{ github.ref_name == 'main' }} | |
run: | | |
echo "MODULES_MODULE_TAG=${{ github.ref_name }}" >> "$GITHUB_ENV" | |
- name: Print vars | |
run: | | |
echo MODULES_REGISTRY=$MODULES_REGISTRY | |
echo CI_COMMIT_REF_NAME=$CI_COMMIT_REF_NAME | |
echo MODULES_MODULE_NAME=$MODULES_MODULE_NAME | |
echo MODULES_MODULE_SOURCE=$MODULES_MODULE_SOURCE | |
echo MODULES_MODULE_TAG=$MODULES_MODULE_TAG | |
echo MODULE_EDITION=$MODULE_EDITION | |
- uses: actions/checkout@v4 | |
- uses: deckhouse/modules-actions/setup@v1 | |
- uses: deckhouse/modules-actions/build@v1 |