Introduce an optional parameter to use non-default padding (#133) #378
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: | |
- master | |
tags: | |
- v* | |
pull_request: | |
paths-ignore: | |
- '*.md' | |
- '**/*.md' | |
- 'docs/**.*' | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11', '3.12'] | |
runs-on: ubuntu-latest | |
container: | |
image: python:${{ matrix.python-version }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install | |
run: pip install -e .[dev] | |
- name: Test & Coverage | |
run: pytest -m 'unit or integration' --cov=ldfparser --cov-report xml | |
- name: Run Examples | |
if: always() | |
run: | | |
python ./examples/communication.py | |
python ./examples/ldf2json.py | |
python ./examples/read_comments.py | |
- name: Package | |
if: always() | |
run: python setup.py sdist bdist_wheel | |
- name: Upload coverage results | |
uses: codecov/codecov-action@v3 | |
if: always() | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
directory: ./ | |
flags: ${{ matrix.python-version }} | |
name: Python-${{ matrix.python-version }} | |
fail_ci_if_error: false | |
flake8: | |
runs-on: ubuntu-latest | |
container: | |
image: python:3.6 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup flake8 annotations | |
uses: rbialon/flake8-annotations@v1 | |
- name: Install | |
run: pip install -e .[dev] | |
- name: Lint using Flake8 | |
run: flake8 --count --show-source --statistics | |
pylint: | |
runs-on: ubuntu-latest | |
container: | |
image: python:3.6 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install | |
run: pip install -e .[dev] | |
- name: Lint using Pylint | |
run: pylint ldfparser --fail-under=8.5 | |
pylint-tests: | |
runs-on: ubuntu-latest | |
container: | |
image: python:3.6 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install | |
run: pip install -e .[dev] | |
- name: Lint using Pylint | |
run: pylint tests --disable="C0114,C0116,R0201" --fail-under=8.0 | |
snapshot-test: | |
if: github.event_name == 'pull_request' | |
runs-on: ubuntu-latest | |
container: | |
image: python:3.6 | |
steps: | |
- name: Checkout (current) | |
uses: actions/checkout@v4 | |
with: | |
path: current | |
- name: Checkout (base) | |
uses: actions/checkout@v3 | |
with: | |
path: base | |
ref: ${{ github.event.pull_request.base.ref }} | |
- name: Setup | |
run: pip install pytest | |
- name: Install base | |
working-directory: base | |
run: pip install -e .[dev] | |
- name: Generate snapshot data | |
working-directory: base | |
run: python tests/snapshot_data.py | |
- name: Move snapshot data | |
run: | | |
mkdir current/tests/snapshot/ | |
mv base/tests/snapshot/* current/tests/snapshot/ | |
- name: Install | |
working-directory: current | |
run: pip install -e .[dev] | |
- name: Snapshot test | |
working-directory: current | |
run: pytest -m 'snapshot' | |
performance-test: | |
if: github.event_name == 'pull_request' | |
runs-on: ubuntu-latest | |
container: | |
image: python:3.6 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install | |
run: pip install -e .[dev] | |
- name: Run performance tests | |
run: pytest -m 'performance' --benchmark-json output.json | |
release: | |
if: startsWith(github.ref, 'refs/tags/v') | |
runs-on: ubuntu-latest | |
container: | |
image: python:3.6 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install | |
run: pip install -e .[dev] | |
- name: Package | |
run: python setup.py sdist bdist_wheel | |
- name: Publish to PyPi | |
env: | |
TWINE_USERNAME: __token__ | |
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }} | |
run: twine upload dist/* | |
- name: Get version from tag | |
id: tag_name | |
run: echo "::set-output name=current_version::${GITHUB_REF#refs/tags/v}" | |
- name: Read Changelog | |
id: changelog | |
uses: mindsers/changelog-reader-action@v2 | |
with: | |
validation_level: warn | |
version: ${{ steps.tag_name.outputs.current_version }} | |
path: CHANGELOG.md | |
- name: Create Release | |
uses: softprops/action-gh-release@v1 | |
with: | |
name: Release ${{ steps.changelog.outputs.version }} | |
body: ${{ steps.changelog.outputs.changes }} |