Skip to content

ci: add install script test workflow#83

Merged
renecannao merged 1 commit intomasterfrom
ci/install-script-test
Apr 10, 2026
Merged

ci: add install script test workflow#83
renecannao merged 1 commit intomasterfrom
ci/install-script-test

Conversation

@renecannao
Copy link
Copy Markdown

@renecannao renecannao commented Apr 10, 2026

Summary

Adds a new GitHub Actions workflow that tests the documented install flow end-to-end:

```
curl -s https://raw.githubusercontent.com/ProxySQL/dbdeployer/master/scripts/dbdeployer-install.sh | bash
```

Motivation

v2.2.1 was initially released with binaries named `dbdeployer-2.2.1-linux-amd64` (plain binaries, wrong naming, no `checksums.txt`), but the install script expects tar.gz archives named `dbdeployer-2.2.1.linux_amd64.tar.gz` + a `checksums.txt`. This broke `curl | bash` for end users and wasn't caught because nothing tested the install flow.

What it tests

  • Downloads the install script via the documented URL
  • Runs it on Ubuntu 22.04/24.04 and macOS 13/14
  • Verifies `dbdeployer --version` works and matches `common/VERSION` on master
  • Smoke tests basic commands (`--help`, `versions`, `defaults show`)

Triggers

  • `release: published` — catches asset mismatches right after a release is cut
  • `schedule: weekly` — catches upstream URL/redirect regressions
  • `workflow_dispatch` — for manual sanity checks

Test plan

  • PR CI passes syntax validation
  • Manually dispatch on this branch after merge to verify end-to-end against the v2.2.1 release

Summary by CodeRabbit

  • Chores
    • Added automated validation of the installation process across multiple operating systems (Ubuntu and macOS) to ensure the install script functions correctly and installed versions match expectations.

Tests the documented curl | bash install flow against the published
release. Catches release-asset mismatches (wrong naming, missing
checksums.txt, missing tarballs) before end users hit them.

Runs on:
- release published (catches mismatches right after a release)
- weekly schedule (catches upstream URL/redirect regressions)
- manual dispatch

Matrix: Ubuntu 22.04/24.04, macOS 13/14.
@gemini-code-assist
Copy link
Copy Markdown

Note

Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 10, 2026

📝 Walkthrough

Walkthrough

A new GitHub Actions workflow file is added to automatically validate the published installation script across multiple OS platforms (Ubuntu 22.04, 24.04, macOS 13, 14). The workflow downloads and executes the install script, verifies the installed version matches the repository version, and performs smoke tests for basic dbdeployer commands.

Changes

Cohort / File(s) Summary
Install Script Validation Workflow
.github/workflows/install_script_test.yml
New workflow file that tests the installation process across Linux and macOS platforms, validates version matching, and runs smoke tests for basic functionality.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐰 A workflow hops across the land,
Testing installs both swift and grand,
From Linux to Mac with parsing delight,
Versions match up—everything's right!
hop hop

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'ci: add install script test workflow' clearly and concisely summarizes the main change: adding a new GitHub Actions workflow for testing the installation script.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci/install-script-test

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/workflows/install_script_test.yml:
- Around line 27-28: The matrix runner list contains the retired "macos-13"
entry which will fail; update the matrix.os array (the matrix block in the
workflow file) to remove "macos-13" and replace it with a supported runner such
as "macos-15" (or "macos-15-intel" if you need Intel), e.g., change the values
currently including "macos-13" to use "macos-14" and "macos-15" as appropriate.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 9e713806-609c-442c-83d4-2473a1594c72

📥 Commits

Reviewing files that changed from the base of the PR and between a29b83f and 77c7bff.

📒 Files selected for processing (1)
  • .github/workflows/install_script_test.yml

Comment on lines +27 to +28
matrix:
os: [ubuntu-22.04, ubuntu-24.04, macos-13, macos-14]
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🌐 Web query:

GitHub Actions macos-13 runner deprecation 2026

💡 Result:

macos-13 (and macos-13-large, macos-13-xlarge) was retired on December 4, 2025—so in 2026 it’s already deprecated/removed. GitHub also ran “brownout” periods in November 2025 where macos-13 jobs temporarily failed to drive migration. [1]

What to use instead (GitHub-hosted):

  • Apple Silicon (arm64) recommended: macos-15 / macos-latest, or macos-14 (and their xlarge variants). [1]
  • If you require Intel (x86_64): migrate to macos-15-intel (or macos-14-large, macos-15-large/macos-latest-large). [1]

Note on Intel macOS runners: GitHub says it will drop support for macOS x86_64 after the macOS 15 runner image is retired (Fall 2027), so plan to move to arm64. [1]

Source

  1. GitHub Changelog — “GitHub Actions: macOS 13 runner image is closing down” (Sep 19, 2025). [1]

Replace macos-13 runner—it was retired December 4, 2025.

The macos-13 runner is no longer available in GitHub Actions and will cause workflow failures. Use macos-14 or macos-15 instead (or macos-15-intel if Intel x86_64 is required).

🧰 Tools
🪛 actionlint (1.7.12)

[error] 28-28: label "macos-13" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2025-vs2026", "windows-2022", "windows-11-arm", "ubuntu-slim", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xlarge", "macos-latest-large", "macos-26-intel", "macos-26-xlarge", "macos-26-large", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xlarge", "macos-14-large", "macos-14", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/install_script_test.yml around lines 27 - 28, The matrix
runner list contains the retired "macos-13" entry which will fail; update the
matrix.os array (the matrix block in the workflow file) to remove "macos-13" and
replace it with a supported runner such as "macos-15" (or "macos-15-intel" if
you need Intel), e.g., change the values currently including "macos-13" to use
"macos-14" and "macos-15" as appropriate.

@renecannao renecannao merged commit 0b0e128 into master Apr 10, 2026
31 checks passed
@renecannao renecannao deleted the ci/install-script-test branch April 10, 2026 09:38
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