Skip to content

ci: add Linux installation QA workflow for .deb and .rpm packages#1715

Merged
Benoît Cortier (CBenoit) merged 2 commits intomasterfrom
test/linux-installation-qa-test-workflow
Mar 18, 2026
Merged

ci: add Linux installation QA workflow for .deb and .rpm packages#1715
Benoît Cortier (CBenoit) merged 2 commits intomasterfrom
test/linux-installation-qa-test-workflow

Conversation

@CBenoit
Copy link
Member

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

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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.yml workflow 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.yml to require Linux install tests to pass before release.yml runs.

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.

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
@CBenoit Benoît Cortier (CBenoit) force-pushed the test/linux-installation-qa-test-workflow branch from 428cd5c to e66bd5c Compare March 18, 2026 14:28
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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.yml reusable 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.

@CBenoit Benoît Cortier (CBenoit) enabled auto-merge (squash) March 18, 2026 14:37
@CBenoit Benoît Cortier (CBenoit) merged commit d458000 into master Mar 18, 2026
78 of 80 checks passed
@CBenoit Benoît Cortier (CBenoit) deleted the test/linux-installation-qa-test-workflow branch March 18, 2026 15:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants