name: "π¬ Test: DNS"
on:
workflow_dispatch:
inputs:
distros:
description: "π§ Space-separated distro list (e.g. 'arch debian ubuntu')"
required: false
default: "debian"
type: string
workflow_call:
inputs:
distros:
description: "Space-separated distro list"
required: true
type: string
permissions:
contents: read
packages: read
jobs:
dns:
name: π DNS
runs-on: ubuntu-26.04
timeout-minutes: 30
steps:
- name: π§Ή Free disk space
if: ${{ !env.ACT }}
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
with:
tool-cache: true
android: true
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true
- name: β¬οΈ Checkout
uses: actions/checkout@v7.0.0
- name: π‘οΈ Tear down host AppArmor profiles (dev-host parity)
if: ${{ !env.ACT }}
shell: bash
run: make security-apparmor-teardown
- name: π Login to GHCR
uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v4.4.0
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: π Resolve image coordinates
shell: bash
run: |
set -euo pipefail
echo "OWNER=$(scripts/meta/resolve/repository/owner.sh)" >> "$GITHUB_ENV"
repo_name="${{ github.repository }}"
repo_name="${repo_name#*/}"
echo "REPO_NAME=${repo_name,,}" >> "$GITHUB_ENV"
- name: π DNS test per distro (parallel DinD)
shell: bash
env:
GHCR_USER: ${{ github.actor }}
GHCR_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./scripts/tests/dns/parallel.sh ${{ inputs.distros }}