Skip to content

chore(ci): reduce apache2 integration runner usage - #969

Open
damacus wants to merge 8 commits into
mainfrom
codex/chore-apache2-runners
Open

damacus wants to merge 8 commits into
mainfrom
codex/chore-apache2-runners

Conversation

@damacus

@damacus damacus commented Oct 19, 2026 •

Copy link
Copy Markdown
Member

Reduce repeated integration setup by grouping suites by OS on GitHub Ubuntu 24.04 runners, with eight jobs at a time. Reuse installed Workstation, Kitchen, kitchen-dokken and downloaded Docker images within each OS job. Each suite keeps a fresh container, unconditional cleanup and both converges. Blacksmith runners are removed.

Prepare selects one Workstation version and exact cookbook Git revisions, then restores or populates the cookbook download cache before the matrix starts. Every integration job regenerates its Policyfile lock for its checkout. Grouped jobs have a 30-minute deadline to stop stalled tests holding a runner for hours.

Keep direct Docker image pulls: the fresh-runner image benchmark found pulls faster than restoring and loading an archive for Ubuntu, AlmaLinux and openSUSE. Benchmark notes describe the measurements and the limits of the partial suite-grouping comparison. Temporary individual baseline jobs are removed; the separate image benchmark only runs on manual dispatch or changes to its own files.

Skip integration for documentation-only changes while retaining a required final check, cancel superseded PR runs, use ubuntu-slim for lightweight jobs, and fix existing Cookstyle offences. The shared Workstation action and lint workflow temporarily use sous-chefs/.github@codex/cache-cinc-workstation; the lint workflow also disables background Git maintenance to avoid the Policyfile lock-copy race.

@damacus
damacus requested a review from a team as a code owner October 19, 2026 09:32
@damacus damacus changed the title chore(ci): right-size apache2 runners chore(ci): reduce apache2 integration runner usage Oct 19, 2026
@github-actions

Copy link
Copy Markdown

Slowest examples

Top 10 slowest examples (2.96 seconds, 15.75% of total time)
Example Description Time in seconds
spec/resources/module_spec.rb:46 apache2_install mod_proxy with custom configuration Installs mod_proxy with custom configuration 0.46799
spec/resources/mod_spec.rb:191 apache2_install mod_fcgid outputs template correctly 0.3792
spec/resources/mod_spec.rb:83 apache2_install mod_proxy_ftp outputs template correctly 0.36769
spec/resources/conf_spec.rb:43 apache2_install install an apache2_module with default properties Creates the charset template 0.35
spec/resources/mod_auth_cas_spec.rb:28 apache2_mod_auth_cas ubuntu is expected to install package "libapache2-mod-auth-cas" 0.34364
spec/libraries/package_helpers_spec.rb:73 #default_apache_pkg with SUSE family is expected to write log "apache2" 0.23009
spec/libraries/log_spec.rb:56 #default_access_log with SUSE family is expected to write log "access.log" 0.21047
spec/resources/conf_spec.rb:28 apache2_install install an apache2_module with default properties Creates the security template 0.2051
spec/resources/default_site_spec.rb:22 apache2_install Enable the default site Creates the default site template 0.20466
spec/resources/conf_spec.rb:36 apache2_install install an apache2_module with default properties Creates the ports template 0.20199

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant