Skip to content

feat: add Envoy Gateway Component #655

feat: add Envoy Gateway Component

feat: add Envoy Gateway Component #655

Workflow file for this run

# Copyright 2024-2026 Defense Unicorns
# SPDX-License-Identifier: AGPL-3.0-or-later OR LicenseRef-Defense-Unicorns-Commercial
name: HA k3d Testing
on:
schedule:
# Runs every morning at 2:00 AM UTC
- cron: "0 2 * * *"
pull_request:
# milestoned is added here as a workaround for release-please not triggering PR workflows (PRs should be added to a milestone to trigger the workflow).
# labeled is added to support renovate-ready labelling on PRs
types: [milestoned, labeled, opened, reopened, synchronize]
paths:
- ".github/workflows/test-k3d-ha.yaml"
- "bundles/k3d-standard/**"
concurrency:
group: test-k3d-ha-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
id-token: write
packages: read
pull-requests: write # Allows writing to pull requests (needed for renovate-readiness)
jobs:
uds-core-ha-upgrade-nightly:
runs-on: uds-ubuntu-big-boy-8-core
timeout-minutes: 45
name: HA Testing
strategy:
matrix:
flavor: [upstream, registry1, unicorn]
test-type: [install, upgrade]
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Check renovate readiness
if: startsWith(github.event.pull_request.head.ref, 'renovate/') # Only call for Renovate PRs
uses: ./.github/actions/renovate-readiness
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Environment setup
uses: ./.github/actions/setup
with:
ghToken: ${{ secrets.GITHUB_TOKEN }}
registry1Username: ${{ (matrix.flavor == 'registry1') && secrets.IRON_BANK_ROBOT_USERNAME || '' }}
registry1Password: ${{ (matrix.flavor == 'registry1') && secrets.IRON_BANK_ROBOT_PASSWORD || '' }}
chainguardIdentity: ${{ (matrix.flavor == 'unicorn') && secrets.CHAINGUARD_IDENTITY || '' }}
installK3d: 'true'
- name: Run UDS Core Install HA Test
if: ${{ matrix.test-type == 'install' }}
run: uds run test-uds-core-ha --set FLAVOR=${{ matrix.flavor }} --set EXCLUDED_PACKAGES=${{ matrix.flavor == 'registry1' && 'portal' || '' }} --no-progress
- name: Run UDS Core Upgrade HA Test
if: ${{ matrix.test-type == 'upgrade' }}
run: uds run test-uds-core-ha-upgrade --set FLAVOR=${{ matrix.flavor }} --set EXCLUDED_PACKAGES=${{ matrix.flavor == 'registry1' && 'portal' || '' }} --no-progress
- name: Debug Output
if: ${{ always() }}
uses: ./.github/actions/debug-output
- name: Save logs
if: always()
uses: ./.github/actions/save-logs
with:
suffix: -nightly-${{ matrix.flavor }}-${{ matrix.test-type }}
- name: Send Slack notification
if: failure() && github.event_name == 'schedule'
uses: ./.github/actions/slack-alert
with:
webhook-url: ${{ secrets.SLACK_WEBHOOK_URL }}
channel: ${{ vars.SLACK_ALERT_CHANNEL }}