Python Multi-OS Matrix CI & Verification · Actions · GitHub Marketplace · GitHub
Skip to content

Python Multi-OS Matrix CI & Verification

Actions

About

Cross-platform testing matrix, UTF-8 encoding fix, and CI summary tables
v1.0.0
Latest
Star (1)

⚡ Python Multi-OS Matrix CI Action

GitHub Marketplace License: MIT

A production-grade, reusable GitHub Action for automated cross-platform Python testing, UTF-8 encoding normalization on Windows, line-ending auto-alignment, and dynamic Markdown summary table reporting.


✨ Features

  • 🐧 🪟 🍎 Cross-Platform Matrix Ready: Seamlessly runs across Linux (ubuntu-latest), Windows (windows-latest), and macOS (macos-latest).
  • 🔤 UTF-8 Subprocess Normalization: Prevents UnicodeDecodeError and Windows cp1252 console crashes via global PEP 540 UTF-8 mode enforcement.
  • CRLF Line-Ending Protection: Configures core.autocrlf=false before checkout to avoid spurious git diff failures on Windows.
  • 📊 Dynamic Step Summaries: Generates honest Markdown outcome tables ($GITHUB_STEP_SUMMARY) directly in the PR checks view.

🚀 Quickstart Usage

Add this step to your .github/workflows/ci.yml:

name: CI

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  validate:
    name: Test (${{ matrix.os }}, Python ${{ matrix.python-version }})
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest, windows-latest, macos-latest]
        python-version: ["3.11", "3.12"]
    runs-on: ${{ matrix.os }}
    timeout-minutes: 20

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
        env:
          GIT_CONFIG_COUNT: "1"
          GIT_CONFIG_KEY_0: "core.autocrlf"
          GIT_CONFIG_VALUE_0: "false"

      - name: Run Matrix CI Action
        uses: parveen029/python-matrix-ci-action@v1
        with:
          python-version: ${{ matrix.python-version }}
          run-command: 'python -m pytest'

⚙️ Inputs

Input Description Default Required
python-version Python version to configure '3.11' No
run-command Command to run test suite 'python -m pytest' Yes
enable-utf8 Enforce global UTF-8 encoding mode 'true' No

📄 License

Distributed under the MIT License.

Python Multi-OS Matrix CI & Verification is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.

About

Cross-platform testing matrix, UTF-8 encoding fix, and CI summary tables
v1.0.0
Latest

Python Multi-OS Matrix CI & Verification is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.