Announcing our Docker image for CI (finally)

We are thrilled to announce the release of our new Docker image called six, designed specifically for developers who are still working on Jython or Python 2.7 projects. This Docker image is tailored for seamless integration into Azure Pipelines and GitHub workflows, making it easier than ever to manage and deploy your legacy projects.

Key features

  • Supports Python 2.7.18 for legacy projects.
  • Compatible with Python versions from 3.8 to 3.13 for modern development needs.
  • Optimized for Azure Pipelines and GitHub workflows.
  • Lightweight and easy to use.

Why six?

We created the six Docker image because GitHub dropped Python 2.7 support from their default images back in June 2023 (See: actions/runner-images#7401). With six, you can continue working on your Python 2.7 projects without worrying about compatibility issues in your CI/CD workflows or pipelines.

Naming things is hard, but since we aim to provide support for both Python 2 and 3 we were inspired by the Python six package (six at PyPI).

Get started

The examples below will demonstrate how to use this image in Azure Pipelines, and GitHub Workflows.

Azure Pipelines

jobs:
  - job: tox

    pool:
      vmImage: ubuntu-latest

    container: coatldev/six:latest

    steps:
      - script: |
          sudo chown -R $(whoami):$(id -ng) "${PYTHON_ROOT}"
        displayName: Change owner

      - script: |
          python -m pip install --upgrade pip tox
        displayName: Install dependencies

      - script: |
          tox
        displayName: Run tests

GitHub Workflows

jobs:
  tox:

    runs-on: ubuntu-latest

    container: coatldev/six:latest

    steps:
      - name: Checkout repo
        uses: actions/checkout@v4

      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip tox

      - name: Run tests
        run: |
          tox

GitHub repos using six

Conclusion

We believe that six will be a valuable addition to your development toolkit, offering a seamless and efficient experience for legacy project maintenance. Your feedback is crucial to us, so please don't hesitate to share your thoughts, suggestions, and any issues you encounter while using six.

Thank you for choosing six for your Jython/Python 2.7 development needs. For detailed usage instructions and contributions, visit our GitHub repository.

Happy coding!

This article first appeared on https://coatl.dev/news/2024/03/23/announcing-our-docker-image-for-ci/