Skip to content

fixup

fixup #47

Workflow file for this run

name: CI
on:
push:
branches:
- master
paths-ignore:
- "sample/**"
- ".gitignore"
- "README.rst"
pull_request:
paths-ignore:
- "sample/**"
- ".gitignore"
- "README.rst"
permissions:
contents: read
jobs:
build-package:
runs-on: ubuntu-latest
concurrency:
group: ${{ github.event_name }}-${{ github.workflow }}-${{ github.ref_name }}-build
cancel-in-progress: true
timeout-minutes: 20
container:
image: ghcr.io/thombashi/python-ci:3.11
steps:
- uses: actions/checkout@v4
- run: make build
build-docs:
runs-on: ubuntu-latest
concurrency:
group: ${{ github.event_name }}-${{ github.workflow }}-${{ github.ref_name }}-docs
cancel-in-progress: true
timeout-minutes: 20
container:
image: ghcr.io/thombashi/python-ci:3.11
steps:
- uses: actions/checkout@v4
- run: make docs
lint:
runs-on: ubuntu-latest
concurrency:
group: ${{ github.event_name }}-${{ github.workflow }}-${{ github.ref_name }}-lint
cancel-in-progress: true
timeout-minutes: 20
container:
image: ghcr.io/thombashi/python-ci:3.13
steps:
- uses: actions/checkout@v4
- run: make check
unit-test:
runs-on: ${{ matrix.os }}
concurrency:
group: ${{ github.event_name }}-${{ github.workflow }}-${{ github.ref_name }}-ut-${{ matrix.os }}-${{ matrix.python-version }}
cancel-in-progress: true
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "pypy-3.10"]
os: [ubuntu-latest, macos-latest, windows-latest]
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: pip
cache-dependency-path: |
setup.py
**/*requirements.txt
tox.ini
- run: make setup-ci
- name: Run tests
run: tox -e cov
- name: Install coveralls
run: python -m pip install --upgrade --disable-pip-version-check coveralls tomli
- name: Upload coverage data to coveralls.io
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COVERALLS_FLAG_NAME: ${{ matrix.os }}-${{ matrix.python-version }}
COVERALLS_PARALLEL: true
run: coveralls
coveralls:
name: Indicate completion to coveralls.io
needs: unit-test
runs-on: ubuntu-latest
container: python:3-slim
steps:
- run: pip3 install --upgrade coveralls
- name: Finished
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: coveralls --finish
# run-coverage:
# runs-on: ${{ matrix.os }}
# strategy:
# fail-fast: false
# matrix:
# python-version: ["3.13"]
# os: [ubuntu-latest, macos-latest, windows-latest]
# timeout-minutes: 20
# defaults:
# run:
# shell: bash
# steps:
# - uses: actions/checkout@v4
# - name: Setup Python ${{ matrix.python-version }}
# uses: actions/setup-python@v5
# with:
# python-version: ${{ matrix.python-version }}
# cache: pip
# cache-dependency-path: |
# setup.py
# **/*requirements.txt
# tox.ini
# - name: Setup env
# id: env
# run: |
# echo "COVERAGE_FILE=.coverage_${{ matrix.os }}_${{ matrix.python-version }} " >> $GITHUB_ENV
# echo "coverage-file=$COVERAGE_FILE" >> $GITHUB_OUTPUT
# - run: make setup-ci
# - name: Run tests
# env:
# PYTEST_DISCORD_WEBHOOK: ${{ secrets.PYTEST_DISCORD_WEBHOOK }}
# run: tox -e cov
# - run: ls -a
# - uses: actions/upload-artifact@v4
# with:
# name: cov_${{ matrix.os }}_${{ matrix.python-version }}
# include-hidden-files: true
# path: .coverage_*
# upload-coverage:
# needs: run-coverage
# runs-on: ubuntu-latest
# timeout-minutes: 20
# steps:
# - uses: actions/checkout@v4
# - uses: actions/download-artifact@v4
# with:
# pattern: cov_*
# merge-multiple: true
# path: artifact
# - name: List
# working-directory: artifact
# run: |
# set -x
# pwd
# ls -alR
# - name: Install packages
# run: python -m pip install --upgrade --disable-pip-version-check coveralls tomli
# - name: Combine coverage reports
# run: |
# coverage combine artifact/.coverage_*
# ls -alR
# - name: Upload coverage report
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# run: coveralls --service=github
run-sample:
runs-on: ubuntu-latest
concurrency:
group: ${{ github.event_name }}-${{ github.workflow }}-${{ github.ref_name }}-run-sample
cancel-in-progress: true
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.13"
cache: pip
cache-dependency-path: |
setup.py
**/*requirements.txt
tox.ini
- name: Install packages
run: |
make setup-dev
python -m pip install --upgrade --disable-pip-version-check pandas pytablereader[excel] XlsxWriter
- run: make run-sample