Skip to content

[loki] Set deploymentMode to Monolithic #613

[loki] Set deploymentMode to Monolithic

[loki] Set deploymentMode to Monolithic #613

Workflow file for this run

name: Pull Request
permissions: {}
on:
pull_request:
branches:
- main
types: ["opened", "reopened", "synchronize", "edited"]
jobs:
check-multiple-chart-changes:
name: Check Multiple Chart Changes
runs-on: ubuntu-24.04
permissions:
contents: read
outputs:
changed: ${{ steps.list-changed.outputs.changed }}
changed_list: ${{ steps.list-changed.outputs.changed_list }}
steps:
- name: Checkout Code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
persist-credentials: false
- name: Set up Helm
uses: azure/setup-helm@dda3372f752e03dde6b3237bc9431cdc2f7a02a2 # v5.0.0
with:
# renovate: github=helm/helm
version: v4.1.4
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: "3.13"
- name: Set up chart-testing
uses: helm/chart-testing-action@6ec842c01de15ebb84c8627d2744a0c2f2755c9f # v2.8.0
with:
# renovate: github=helm/chart-testing
version: v3.14.0
- name: Run chart-testing (list-changed)
id: list-changed
run: |
changed="$(ct list-changed --config .github/linters/ct.yaml)"
if [[ -n "$changed" ]]; then
echo "changed=true" >> "$GITHUB_OUTPUT"
echo "changed_list=\"${changed//$'\n'/ }\"" >> "$GITHUB_OUTPUT"
fi
- name: check for multiple chart changes
if: steps.list-changed.outputs.changed == 'true'
run: |
COUNT=$(echo "$CHANGED_LIST" | wc -w)
if [ "$COUNT" -gt 1 ]; then
echo "Error: ($COUNT) charts changed. Please create separate PRs for each chart." >&2
exit 1
fi
env:
CHANGED_LIST: ${{ steps.list-changed.outputs.changed_list }}
check-title:
name: Check Title
needs: check-multiple-chart-changes
if: needs.check-multiple-chart-changes.outputs.changed == 'true'
runs-on: ubuntu-24.04
permissions:
contents: read
steps:
- name: Validate PR Title format
run: |
CHANGED_LIST="${CHANGED_LIST//\"/}"
# Derive chart name from the changed path and validate it.
if [[ "$CHANGED_LIST" == */* ]]; then
CHART_NAME="${CHANGED_LIST##*/}"
else
echo "Error: Unexpected chart identifier '$CHANGED_LIST'. Expected a path containing '/'." >&2
exit 1
fi
if [[ -z "$CHART_NAME" ]]; then
echo "Error: Derived chart name is empty. Original value: '$CHANGED_LIST'." >&2
exit 1
fi
# Optional sanity check: ensure chart name contains only expected characters.
if ! [[ "$CHART_NAME" =~ ^[a-zA-Z0-9._-]+$ ]]; then
echo "Error: Derived chart name '$CHART_NAME' contains unexpected characters." >&2
exit 1
fi
if [[ "$PR_TITLE" != "[${CHART_NAME}] "* ]]; then
echo "PR title must start with '[${CHART_NAME}] '." >&2
exit 1
fi
env:
CHANGED_LIST: ${{ needs.check-multiple-chart-changes.outputs.changed_list }}
PR_TITLE: ${{ github.event.pull_request.title }}