Skip to content

feat(governance): add FlowSignal provider seam and TLS hardening #102

feat(governance): add FlowSignal provider seam and TLS hardening

feat(governance): add FlowSignal provider seam and TLS hardening #102

Workflow file for this run

# Copyright 2026 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: Lula Validate
on:
push:
paths:
- 'src/**'
- 'deployment/k8s/**'
- 'compliance/lula/**'
pull_request:
paths:
- 'src/**'
- 'deployment/k8s/**'
- 'compliance/lula/**'
# Default least-privilege permissions for every job in this workflow.
permissions:
contents: read
jobs:
lula-validate:
name: Lula Compliance Assertions
runs-on: ubuntu-latest
# TODO: set continue-on-error: false once GKE credentials are available in CI.
# Lula requires a live cluster to evaluate domain/provider assertions.
# Until then this job reports results but does not block merge.
continue-on-error: true
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Download lula CLI
run: |
# Download lula binary from defenseunicorns-labs/lula1 GitHub releases.
LULA_VERSION="v0.16.0"
curl -fsSL \
"https://github.com/defenseunicorns-labs/lula1/releases/download/${LULA_VERSION}/lula_${LULA_VERSION}_Linux_amd64" \
-o /usr/local/bin/lula
chmod +x /usr/local/bin/lula
lula version
- name: Validate all Lula manifests in compliance/lula/
run: |
echo "Running lula validate against all manifests in compliance/lula/"
# Run against each manifest individually so failures are itemised.
failed=0
for manifest in compliance/lula/lula-validation-*.yaml; do
echo "--- Validating: $manifest ---"
lula validate -f "$manifest" || failed=1
done
if [ "$failed" -ne 0 ]; then
echo "::warning::One or more Lula validations reported unfulfilled targets (live cluster offline)."
fi
echo "Lula validation run completed."