name: Live TLS

# Manual and weekly. This workflow reaches public DoT resolvers, so it is
# non-blocking by construction and never runs on push or pull_request.
on:
  workflow_dispatch:
  schedule:
    - cron: "0 5 * * 1"

env:
  ZIG_VERSION: "0.16.0"

jobs:
  live-tls:
    runs-on: ubuntu-24.04
    timeout-minutes: 15

    steps:
      - uses: actions/checkout@v4

      - name: Set up Zig
        uses: mlugg/setup-zig@v2
        with:
          version: ${{ env.ZIG_VERSION }}

      # zig 0.16.0's package fetcher creates tmp/<hex>.zip inside the global
      # cache without creating tmp/ first (src/Package/Fetch.zig:1499), and
      # setup-zig's restored cache never contains tmp/. Without this, every
      # dependency fetch dies with "failed to create temporary zip file:
      # FileNotFound" before any network I/O — which this workflow, alone among
      # the four, was missing.
      - name: Create the fetch temp dir zig assumes
        run: mkdir -p "${ZIG_GLOBAL_CACHE_DIR:?}/tmp"

      - name: Run full test suite including live-network tests
        run: zig build test -Dintegration -Dlive
