ci: add Linux installation QA workflow for .deb and .rpm packages#1715
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a dedicated GitHub Actions workflow to smoke-test the Linux .deb and .rpm artifacts produced by ci.yml, and wires it into the release pipeline so Linux package install regressions are caught before signing/release.
Changes:
- Introduce a reusable
linux-install-test.ymlworkflow that downloads CI artifacts and runs install checks in Docker (DEB + RPM lanes). - Add DEB/RPM smoke-test scripts plus a shared bash helper library to validate install, expected filesystem layout, basic CLI functionality, and (best-effort) service setup.
- Update
create-new-release.ymlto require Linux install tests to pass beforerelease.ymlruns.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
.github/workflows/linux-install-test.yml |
New reusable workflow to download CI artifacts and run containerized DEB/RPM install smoke tests. |
.github/workflows/create-new-release.yml |
Gates release workflow on Linux install tests (runs in parallel with packaging). |
.github/scripts/smoke-test-deb.sh |
New DEB install smoke test script (Ubuntu container lane). |
.github/scripts/smoke-test-rpm.sh |
New RPM install smoke test script (Rocky Linux container lane). |
.github/scripts/smoke-test-lib.sh |
Shared helper functions for Linux package smoke tests. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
8395877 to
9ad284e
Compare
Adds a separate reusable workflow (.github/workflows/linux-install-test.yml) that installs the devolutions-gateway packages produced by ci.yml inside Docker containers and verifies the filesystem layout, binary executability, and service registration artifacts. - DEB lane: ubuntu:18.04 container - RPM lane: rockylinux:9 container (RHEL 9-compatible) - Triggers: workflow_call, workflow_dispatch, weekly schedule (Monday 06:00 UTC) - Consumes the `devolutions-gateway` artifact from ci.yml; resolves run ID automatically for scheduled/manual triggers via the GitHub API - Integrated into create-new-release.yml to run in parallel with packaging
428cd5c to
e66bd5c
Compare
There was a problem hiding this comment.
Pull request overview
Adds a reusable GitHub Actions workflow to smoke-test the Linux .deb and .rpm packages produced by ci.yml, and wires it into the release pipeline to catch packaging/install regressions before signing/release.
Changes:
- Introduce
linux-install-test.ymlreusable workflow (manual/scheduled/callable) that downloads CI artifacts and runs install checks in Docker containers. - Add shared DEB/RPM smoke-test scripts (plus shared library) to validate install, file layout, basic binary behavior, config init, and best-effort service checks.
- Gate
create-new-release.yml’s release job on the new Linux install test workflow.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/linux-install-test.yml | New reusable workflow that selects a CI run, downloads artifacts/version, runs DEB+RPM install smoke tests in containers, and notifies Slack on scheduled failure. |
| .github/workflows/create-new-release.yml | Adds Linux install test as a prerequisite before running the release workflow. |
| .github/scripts/smoke-test-deb.sh | New Ubuntu-based .deb install smoke test script (uses shared checks + deb-specific diagnostics). |
| .github/scripts/smoke-test-rpm.sh | New Rocky-based .rpm install smoke test script (uses shared checks + rpm-specific diagnostics). |
| .github/scripts/smoke-test-lib.sh | Shared helper library implementing common checks and summary reporting. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
Adds a separate reusable workflow (.github/workflows/linux-install-test.yml)
that installs the devolutions-gateway packages produced by ci.yml inside
Docker containers and verifies the filesystem layout, binary executability,
and service registration artifacts.
devolutions-gatewayartifact from ci.yml; resolves run IDautomatically for scheduled/manual triggers via the GitHub API