Skip to content

Nightly OSP Suite

Nightly OSP Suite #113

Workflow file for this run

name: Nightly OSP Suite
# Wave 1 = each workflow's default matrix (master + latest discovered
# wolfssl stable). Stays dynamic across version bumps.
# Wave 2 = v5.8.4-stable pinned (back-compat line), gated on wave1-done
# with if: always() so a single Wave 1 failure doesn't skip the
# older-line coverage. multi-compiler, fips-ready and static-analysis run
# once outside the waves.
# libacvp-pqc and nginx-pqc are Wave 1 only. PQC has a v5.9.2-stable floor,
# so the v5.8.4-stable Wave 2 line has no eligible ref to run.
on:
schedule:
- cron: '0 6 * * *'
workflow_dispatch:
inputs:
reason:
description: 'Why are we triggering manually? (annotation only)'
required: false
default: 'manual nightly run'
permissions:
contents: read
packages: write
actions: read
concurrency:
group: nightly-osp
cancel-in-progress: false
jobs:
# === Wave 1: master + latest stable ===
bind9-current: { uses: ./.github/workflows/bind9.yml, }
cjose-current: { uses: ./.github/workflows/cjose.yml, }
curl-current: { uses: ./.github/workflows/curl.yml, }
debian-package-current: { uses: ./.github/workflows/debian-package.yml, }
git-ssh-dr-current: { uses: ./.github/workflows/git-ssh-dr.yml, }
grpc-current: { uses: ./.github/workflows/grpc.yml, }
hostap-current: { uses: ./.github/workflows/hostap.yml, }
iperf-current: { uses: ./.github/workflows/iperf.yml, }
krb5-current: { uses: ./.github/workflows/krb5.yml, }
libacvp-pqc-current: { uses: ./.github/workflows/libacvp-pqc.yml, }
libcryptsetup-current: { uses: ./.github/workflows/libcryptsetup.yml, }
libeac3-current: { uses: ./.github/workflows/libeac3.yml, }
libfido2-current: { uses: ./.github/workflows/libfido2.yml, }
libhashkit2-current: { uses: ./.github/workflows/libhashkit2.yml, }
libnice-current: { uses: ./.github/workflows/libnice.yml, }
liboauth2-current: { uses: ./.github/workflows/liboauth2.yml, }
librelp-current: { uses: ./.github/workflows/librelp.yml, }
libssh2-current: { uses: ./.github/workflows/libssh2.yml, }
libtss2-current: { uses: ./.github/workflows/libtss2.yml, }
libwebsockets-current: { uses: ./.github/workflows/libwebsockets.yml, }
net-snmp-current: { uses: ./.github/workflows/net-snmp.yml, }
nginx-current: { uses: ./.github/workflows/nginx.yml, }
nginx-pqc-current: { uses: ./.github/workflows/nginx-pqc.yml, }
openldap-current: { uses: ./.github/workflows/openldap.yml, }
opensc-current: { uses: ./.github/workflows/opensc.yml, }
openssh-current: { uses: ./.github/workflows/openssh.yml, }
openssl-version-current: { uses: ./.github/workflows/openssl-version.yml, }
openvpn-current: { uses: ./.github/workflows/openvpn.yml, }
pam-pkcs11-current: { uses: ./.github/workflows/pam-pkcs11.yml, }
ppp-current: { uses: ./.github/workflows/ppp.yml, }
python3-ntp-current: { uses: ./.github/workflows/python3-ntp.yml, }
qt5network5-current: { uses: ./.github/workflows/qt5network5.yml, }
rsync-current: { uses: ./.github/workflows/rsync.yml, }
socat-current: { uses: ./.github/workflows/socat.yml, }
sscep-current: { uses: ./.github/workflows/sscep.yml, }
sssd-current: { uses: ./.github/workflows/sssd.yml, }
stunnel-current: { uses: ./.github/workflows/stunnel.yml, }
systemd-current: { uses: ./.github/workflows/systemd.yml, }
tcpdump-current: { uses: ./.github/workflows/tcpdump.yml, }
tnftp-current: { uses: ./.github/workflows/tnftp.yml, }
tpm2-tools-current: { uses: ./.github/workflows/tpm2-tools.yml, }
x11vnc-current: { uses: ./.github/workflows/x11vnc.yml, }
xmlsec-current: { uses: ./.github/workflows/xmlsec.yml, }
# Fan-in between waves. if: always() so Wave 1 failures don't skip Wave 2.
wave1-done:
needs:
- bind9-current
- cjose-current
- curl-current
- debian-package-current
- git-ssh-dr-current
- grpc-current
- hostap-current
- iperf-current
- krb5-current
- libacvp-pqc-current
- libcryptsetup-current
- libeac3-current
- libfido2-current
- libhashkit2-current
- libnice-current
- liboauth2-current
- librelp-current
- libssh2-current
- libtss2-current
- libwebsockets-current
- net-snmp-current
- nginx-current
- nginx-pqc-current
- openldap-current
- opensc-current
- openssh-current
- openssl-version-current
- openvpn-current
- pam-pkcs11-current
- ppp-current
- python3-ntp-current
- qt5network5-current
- rsync-current
- socat-current
- sscep-current
- sssd-current
- stunnel-current
- systemd-current
- tcpdump-current
- tnftp-current
- tpm2-tools-current
- x11vnc-current
- xmlsec-current
if: always()
runs-on: ubuntu-latest
steps:
- run: echo "Wave 1 (master + latest stable) complete"
# === Wave 2: v5.8.4-stable, gated on wave1-done ===
bind9-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/bind9.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
cjose-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/cjose.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
curl-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/curl.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
debian-package-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/debian-package.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
git-ssh-dr-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/git-ssh-dr.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
grpc-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/grpc.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
hostap-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/hostap.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
iperf-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/iperf.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
krb5-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/krb5.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
libcryptsetup-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/libcryptsetup.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
libeac3-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/libeac3.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
libfido2-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/libfido2.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
libhashkit2-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/libhashkit2.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
libnice-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/libnice.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
liboauth2-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/liboauth2.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
librelp-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/librelp.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
libssh2-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/libssh2.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
libtss2-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/libtss2.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
libwebsockets-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/libwebsockets.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
net-snmp-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/net-snmp.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
nginx-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/nginx.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
openldap-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/openldap.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
opensc-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/opensc.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
openssh-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/openssh.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
openssl-version-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/openssl-version.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
openvpn-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/openvpn.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
pam-pkcs11-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/pam-pkcs11.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
ppp-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/ppp.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
python3-ntp-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/python3-ntp.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
qt5network5-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/qt5network5.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
rsync-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/rsync.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
socat-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/socat.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
sscep-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/sscep.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
sssd-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/sssd.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
stunnel-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/stunnel.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
systemd-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/systemd.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
tcpdump-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/tcpdump.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
tnftp-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/tnftp.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
tpm2-tools-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/tpm2-tools.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
x11vnc-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/x11vnc.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
xmlsec-584: { needs: wave1-done, if: always(), uses: ./.github/workflows/xmlsec.yml, with: { wolfssl_refs_json: '["v5.8.4-stable"]' } }
# === Out-of-wave: not wolfssl-version-split ===
static-analysis: { uses: ./.github/workflows/static-analysis.yml }
multi-compiler: { uses: ./.github/workflows/nightly-multi-compiler.yml }
fips-ready: { uses: ./.github/workflows/nightly-fips-ready.yml }