Skip to content

Conversation

@nibalizer
Copy link
Contributor

Amp-Thread-ID: https://ampcode.com/threads/T-ba360c9c-fe36-4892-8e6a-6890d566ed9c

Pull Request Description

What and why?

Add matrix testing for windows and macosx since our users are attempting to do this and getting issues.

How to test

What needs special review?

Dependencies, breaking changes, and deployment notes

Release notes

Checklist

  • What and why
  • Screenshots or videos (Frontend)
  • How to test
  • What needs special review
  • Dependencies, breaking changes, and deployment notes
  • Labels applied
  • PR linked to Shortcut
  • Unit tests added (Backend)
  • Tested locally
  • Documentation updated (if required)
  • Environment variable additions/changes documented (if required)

Co-authored-by: Amp <amp@sourcegraph.com>
Amp-Thread-ID: https://ampcode.com/threads/T-ba360c9c-fe36-4892-8e6a-6890d566ed9c
Co-authored-by: Amp <amp@ampcode.com>
@github-actions
Copy link
Contributor

github-actions bot commented Dec 4, 2025

Pull requests must include at least one of the required labels: internal (no release notes required), highlight, enhancement, bug, deprecation, documentation. Except for internal, pull requests must also include a description in the release notes section.

@github-actions
Copy link
Contributor

github-actions bot commented Dec 4, 2025

PR Summary

This PR enhances the CI workflow configuration and test file detection to improve cross-platform support and reliability:

  • The GitHub Actions workflow now runs on a matrix of operating systems (Linux, macOS, and Windows) instead of only Ubuntu. This change allows the tests to be executed on multiple platforms, increasing the robustness of the CI process.

  • A default shell (bash) is explicitly set for run commands, ensuring consistent script execution across different environments.

  • Specific steps in the workflow are now conditional based on the operating system. For example, the disk cleaning and Linux system dependency installation steps are executed only when the runner is Linux, while a separate step installs system dependencies on macOS using Homebrew.

  • The installation of build tooling has been simplified by switching from invoking shell scripts via curl to using pip to install Poetry and uv, which may simplify dependency management and improve security by reducing reliance on external scripts.

  • In the test discovery code, the relative path conversion now uses os.sep instead of a hardcoded '/' to construct module paths. This change ensures that test file detection works correctly on different platforms.

Test Suggestions

  • Verify the CI workflow runs successfully across all specified operating systems (Linux, macOS, and Windows).
  • Check that the conditional steps (disk cleaning, system dependency installation) are executed only on the intended platforms.
  • Confirm that the updated module path generation correctly identifies test files on both Windows and Unix-based systems.
  • Run integration tests to ensure that the changes in dependency installation via pip do not affect the build and packaging processes.

@nibalizer nibalizer added the internal Not to be externalized in the release notes label Dec 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

internal Not to be externalized in the release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants