mirror of
https://github.com/tiennm99/composes.git
synced 2026-10-05 12:14:04 +00:00
workflow runs on push to main and all prs: - docker compose config -q (yaml + env interpolation) - yq extract embedded alloy config - alloy fmt (syntax check)
34 lines
891 B
YAML
34 lines
891 B
YAML
name: validate
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
|
|
jobs:
|
|
validate:
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
# Dummy values so `compose config` doesn't fail on the `:?required` guards.
|
|
ALLOY_HOSTNAME: ci
|
|
PROM_URL: https://example.com
|
|
PROM_USER: "1"
|
|
LOKI_URL: https://example.com
|
|
LOKI_USER: "1"
|
|
GRAFANA_TOKEN: x
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Validate compose YAML + env interpolation
|
|
run: docker compose config -q
|
|
|
|
- name: Extract embedded Alloy config
|
|
uses: mikefarah/yq@v4
|
|
with:
|
|
cmd: yq '.configs.alloy_config.content' docker-compose.yml > config.alloy
|
|
|
|
- name: Validate Alloy config syntax
|
|
run: |
|
|
docker run --rm -v "$PWD/config.alloy:/config.alloy:ro" \
|
|
grafana/alloy:v1.10.0 fmt /config.alloy > /dev/null
|