Add robot test framework setup#7
Conversation
☂️ Code Coverage
Overall Coverage
New FilesNo new covered files... Modified FilesNo covered modified files...
|
90bab71 to
33d496f
Compare
Robot Results
Passed Tests
|
dcf9507 to
b5d790f
Compare
Test Results86 tests 86 ✅ 40s ⏱️ Results for commit e25a868. ♻️ This comment has been updated with latest results. |
1be2f3b to
e25a868
Compare
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
b4f232d to
9a03516
Compare
b72b75b to
202a3d4
Compare
There was a problem hiding this comment.
Pull request overview
This PR introduces a basic Robot Framework-based integration test environment for validating packtly-builder builds (using Podman), adds Debian package fixtures for testing, and wires the new Robot tests into CI. It also includes a small logging improvement and extends APT dependency installation logic to better handle virtual packages.
Changes:
- Add Robot Framework test runner, keywords, and a
debhello-quiltbuild/verification suite. - Add Debian packaging fixtures (notably
test/fixtures/debhello-quilt) and update tooling configs to use them. - Extend CI to run Robot tests and adjust Podman setup to support container-based GitHub Actions.
Reviewed changes
Copilot reviewed 31 out of 44 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| test/robot/suites/debhello_quilt.robot | New Robot suite to build a fixture in a container and validate build outputs/signatures. |
| test/robot/run.sh | Script to install Robot Framework via pipx and execute suites. |
| test/robot/requirements.txt | Robot Framework dependency set for the test environment. |
| test/robot/keywords/gpg.robot | Robot keywords for generating GPG keys via the runtime container. |
| test/robot/keywords/git.robot | Robot keyword helper for shallow cloning a repository. |
| test/robot/keywords/aptly.robot | Robot keyword to generate aptly credentials file for tests. |
| test/fixtures/debhello-quilt/src/hello.c | New C source for the quilt fixture package. |
| test/fixtures/debhello-quilt/Makefile | Build/install rules for the quilt fixture. |
| test/fixtures/debhello-quilt/debian/source/format | Declares 3.0 (quilt) source format for the fixture. |
| test/fixtures/debhello-quilt/debian/rules | Debhelper rules for building the quilt fixture. |
| test/fixtures/debhello-quilt/debian/debhello.install | Installs built binary into package payload. |
| test/fixtures/debhello-quilt/debian/copyright | Fixture copyright metadata. |
| test/fixtures/debhello-quilt/debian/control | Fixture control metadata and dependencies. |
| test/fixtures/debhello-quilt/debian/changelog | Fixture changelog/version entry. |
| test/fixtures/debhello-quilt/.gitignore | Fixture-local ignore rules for build outputs. |
| test/fixtures/debhello-native/src/hello.c | Adds/updates native fixture source file. |
| test/fixtures/debhello-native/Makefile | Fix LDFLAGS usage in native fixture Makefile. |
| test/fixtures/debhello-native/debian/source/format | Adds source format file for native fixture. |
| test/fixtures/debhello-native/debian/rules | Adds debhelper rules for native fixture. |
| test/fixtures/debhello-native/debian/copyright | Adds copyright metadata for native fixture. |
| test/fixtures/debhello-native/debian/control | Updates package metadata and build-depends for native fixture. |
| test/fixtures/debhello-native/debian/changelog | Adds changelog entry for native fixture. |
| test/fixtures/debhello-native/.gitignore | Adds fixture-local ignore rules for build outputs. |
| test/fixtures/build-quilt.sh | Adjust local helper script to build quilt fixture from the right workspace path. |
| test/debhello/README.md | Removes old debhello documentation (fixture appears moved/obsolete). |
| test/debhello/debian/compat | Removes old debhelper compat file from old location. |
| packtly-builder/tooling/pyproject.toml | Points pytest dpkgbuild extra arg at the new quilt fixture location. |
| packtly-builder/tooling/packtly_builder_tooling/parts/debuild.py | Switch debug print to structured logging. |
| packtly-builder/tooling/packtly_builder_tooling/parts/apt.py | Enhance dependency installation to handle versioned virtual packages/providers. |
| packtly-builder/tooling/packtly_builder_tooling/cli.py | Add error handling around build steps (FileNotFoundError). |
| example/systemd/clone.sh | Adds helper to clone/update systemd packaging repo. |
| example/systemd/build.sh | Adds example build/upload wrapper script for systemd using the runtime container. |
| example/systemd/.gitignore | Ignore the cloned repo and built debs under the example directory. |
| example/hplip/clone.sh | Adds helper to clone/update hplip packaging repo. |
| example/hplip/build.sh | Adds example build/upload wrapper script for hplip using the runtime container. |
| example/hplip/.gitignore | Ignore the cloned repo and built debs under the example directory. |
| .vscode/tasks.json | Adds tasks for running Robot tests and packtly build/upload flows against the new fixture. |
| .vscode/settings.json | Updates pytest args to use the new quilt fixture. |
| .vscode/launch.json | Renames/adjusts debug launch configs to match build vs upload flows and new fixture path. |
| .gitignore | Ignore Robot Framework artifacts and test/robot/results/. |
| .github/workflows/ci-build.yml | Adds a reusable robot-tests job to the main CI workflow. |
| .github/workflows/_tooling.yml | Switch unit test reporting action and enable richer summaries/comments. |
| .github/workflows/_robot-tests.yml | New reusable workflow to run Robot tests against the built runtime image artifact. |
| .github/actions/setup-podman/action.yml | Adds Docker-socket compatibility symlink to support container-based actions. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
79322ae to
872f616
Compare
0ea19c0 to
16b069a
Compare
Add basic robot framework test environment