Skip to content

Improvements to the integration tests framework#401

Open
mozzieongit wants to merge 51 commits intomainfrom
system-testing-act
Open

Improvements to the integration tests framework#401
mozzieongit wants to merge 51 commits intomainfrom
system-testing-act

Conversation

@mozzieongit
Copy link
Member

@mozzieongit mozzieongit commented Dec 3, 2025

  • Introduce a custom Docker image based on the slimmed down act image (and an accompanying wrapper script) to reduce image size, build time, and test run time.
    • The act-wrapper script first generates an updates container image with a freshly built cascade (making use of caching; if no source file changed, a cached container is re-used for the next test run making test iteration more efficient)
  • Add installed binaries (cascade{,d}/dnst) to PATH for easier use
  • Add a script to get default paths for cascade configurations
  • Add a script to add scaffolding for new tests
  • Reduce systemd-tests.yml workflow file verbosity
  • Reduce verbosity for successful tests
    • Now only failed tests produce the whole pallet of text (used config file, logs, resolv.conf content, running processes)
  • Document the default paths for stuff (Cascade, config, state, ...)
  • Document the default paths for stuff (Cascade, config, state, ...)
  • Add a build profile selection action
  • Remove need/option/docs for standalone artifact server

Consider:

  • Replace bind9 with NSD serving .test and provide a script to update the DS RR for example.test? (I had used bind9 for it's DNS UPDATE capability)
  • Check that error output from composite actions is visible when running the main workflow
  • Provide more errors in the test env management script when components fail (so lots of || { echo "bla"; exit 11; }; to make spotting failing components easier) (obsolete with logging every command run using set -x)

@mozzieongit mozzieongit self-assigned this Dec 3, 2025
@mozzieongit
Copy link
Member Author

  • Fix default shell in composite actions (for GitHub)

This doesn't fix it actually, the defaults.run.shell option doesn't exist for composite actions. Instead I'll have to add the shell to each and every step

@ximon18
Copy link
Member

ximon18 commented Dec 12, 2025

Suggestion: don't tar the entire target directory, it's huge, only built binaries are actually wanted if I understand correctly.

@mozzieongit
Copy link
Member Author

Suggestion: don't tar the entire target directory, it's huge, only built binaries are actually wanted if I understand correctly.

Good idea

@mozzieongit mozzieongit marked this pull request as ready for review January 30, 2026 16:12
Copy link
Contributor

@bal-e bal-e left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is really cool! Making the integration tests easier to run would be awesome.

Have you had a chance to test whether this will now work under GitHub Actions? IIRC it hasn't worked thus far.

@mozzieongit
Copy link
Member Author

Have you had a chance to test whether this will now work under GitHub Actions? IIRC it hasn't worked thus far.

It will work even less under GitHub Actions. The container use different users. If that is something we think we should have, I'd make a separate PR. But I would be fine with local only running of integration tests.

@bal-e
Copy link
Contributor

bal-e commented Feb 2, 2026

It will work even less under GitHub Actions. The container use different users. If that is something we think we should have, I'd make a separate PR. But I would be fine with local only running of integration tests.

I see. My only concern is that it's easy to forget to run the integration tests; but regardless, your work here is making them easier to use, and that's great. We can continue examining this issue in the future.

@mozzieongit
Copy link
Member Author

My only concern is that it's easy to forget to run the integration tests

We could add a note to a PR template

@mozzieongit mozzieongit requested a review from bal-e February 2, 2026 13:04
Copy link
Contributor

@bal-e bal-e left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome!

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.

3 participants