Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions .github/workflows/install_script_test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Install Script Test

# Tests the documented installation flow:
# curl -s https://raw.githubusercontent.com/ProxySQL/dbdeployer/master/scripts/dbdeployer-install.sh | bash
#
# This catches release-asset mismatches (wrong file naming, missing
# checksums.txt, missing tarballs) that would break the install script
# for end users. Runs automatically after a release is published, on a
# weekly schedule, and on manual dispatch.
#
# Security note: this workflow uses no user-controlled inputs (issue
# bodies, PR titles, commit messages, etc.). The matrix values are
# hardcoded here and matrix.os is safe to interpolate.

on:
release:
types: [published]
workflow_dispatch:
schedule:
- cron: '0 4 * * 1'

jobs:
install-script:
name: Install on ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04, ubuntu-24.04, macos-13, macos-14]
Comment on lines +27 to +28
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.

runs-on: ${{ matrix.os }}
steps:
- name: Prepare a PATH directory the install script will accept
run: |
mkdir -p "$HOME/bin"
echo "$HOME/bin" >> "$GITHUB_PATH"

- name: Run the documented install command
run: |
curl -s https://raw.githubusercontent.com/ProxySQL/dbdeployer/master/scripts/dbdeployer-install.sh | bash

- name: Verify dbdeployer runs and version matches common/VERSION
run: |
which dbdeployer
dbdeployer --version
INSTALLED_VERSION=$(dbdeployer --version | awk '{print $NF}')
EXPECTED_VERSION=$(curl -s https://raw.githubusercontent.com/ProxySQL/dbdeployer/master/common/VERSION)
echo "Installed: $INSTALLED_VERSION"
echo "Expected: $EXPECTED_VERSION"
[ "$INSTALLED_VERSION" = "$EXPECTED_VERSION" ] || {
echo "FAIL: installed version does not match common/VERSION"
exit 1
}

- name: Smoke test basic commands
run: |
dbdeployer --help > /dev/null
dbdeployer versions > /dev/null || true
dbdeployer defaults show > /dev/null
Loading