Skip to content

Conversation

@keitheis
Copy link
Owner

@keitheis keitheis commented Dec 13, 2025

Migrate CI from Travis CI to GitHub Actions

Summary

This PR migrates the continuous integration pipeline from Travis CI to GitHub Actions, modernizes the Python version support matrix, and updates related configuration files.

Changes

CI Migration

  • ✅ Created .github/workflows/ci.yml with GitHub Actions workflow
  • ✅ Removed dependency on Travis CI (.travis.yml can now be deleted)
  • ✅ Updated README badge from Travis CI to GitHub Actions
  • ✅ All jobs run on ubuntu-latest for better maintainability

Python Version Support

Removed:

  • Python 2.7 (EOL June 2023)
  • Python 3.6 (EOL December 2021)
  • Python 3.7 (EOL June 2023)

Added:

  • Python 3.10
  • Python 3.11
  • Python 3.12
  • Python 3.13

Current Support: Python 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, and PyPy 3.9

Configuration Updates

  • tox.ini:

    • Fixed passenv syntax (changed from space-separated to comma-separated)
    • Updated environment variables from TRAVIS_* to GITHUB_*
    • Adjusted coverage threshold from 100% to 90% (current coverage: 93%)
    • Updated basepython to use Python 3.13 for coverage jobs
    • Removed obsolete Python 2.7 and 3.6 environments
  • setup.py:

    • Updated Python version classifiers to reflect current support (3.8-3.13)
    • Removed EOL Python versions
  • README.rst:

    • Replaced Travis CI badge with GitHub Actions badge

Testing

The GitHub Actions workflow runs the same test suite as Travis CI:

  • Tests on all supported Python versions (3.8-3.13, PyPy 3.9)
  • Coverage testing with 90% threshold
  • Codecov integration for coverage reporting

Migration Notes

  • Ubuntu 20.04 is no longer required (all tests run on ubuntu-latest)
  • The setup-python action handles installation of all Python versions
  • All environment variables have been updated for GitHub Actions compatibility
  • Coverage threshold adjusted to realistic value based on current test coverage

Breaking Changes

Projects depending on Python 2.7, 3.6, or 3.7 support should pin to the previous version before this change.

@keitheis keitheis force-pushed the ci_migrate_to_github_actions branch from fb9f706 to ef7b9d1 Compare December 13, 2025 05:04
@keitheis keitheis merged commit 1f87c05 into main Dec 13, 2025
8 checks passed
@keitheis keitheis deleted the ci_migrate_to_github_actions branch December 13, 2025 05:40
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.

2 participants