Skip to content

Commit

Permalink
fix: fix readme and ci
Browse files Browse the repository at this point in the history
  • Loading branch information
gaige committed Jun 29, 2024
1 parent 7e91573 commit 5e9dff7
Show file tree
Hide file tree
Showing 3 changed files with 107 additions and 61 deletions.
146 changes: 99 additions & 47 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -1,37 +1,35 @@
name: CI

on:
push:
branches: [master]
tags:
- 'v*'
pull_request:
on: [push, pull_request]

env:
PYTEST_ADDOPTS: "--color=yes"

jobs:

pre-commit:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v1
uses: actions/setup-python@v5
with:
python-version: 3.7
- uses: pre-commit/action@v2.0.0
python-version: '3.9' # 3.12 and possibly lower will fail flake8
- uses: pre-commit/action@v3.0.1

tests:
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: [3.6, 3.7, 3.8, 3.9.0-rc.1]
python-version: ['3.8', '3.9','3.10','3.11','3.12']
os: [ubuntu-latest, windows-latest]

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

Expand All @@ -46,52 +44,106 @@ jobs:
run: |
pytest --cov=mdformat_pelican --cov-report=xml --cov-report=term-missing
# - name: Upload to Codecov
# if: matrix.os == 'ubuntu-latest' && matrix.python-version == 3.7
# uses: codecov/codecov-action@v1
# with:
# name: pytests-py3.7
# flags: pytests
# file: ./coverage.xml
# fail_ci_if_error: true

pre-commit-hook:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v2
uses: actions/setup-python@v5
with:
python-version: 3.7
python-version: "3.x"

- name: Installation (deps and package)
run: |
pip install pre-commit
pip install .
# - name: run pre-commit with plugin
# run: |
# pre-commit run --config .pre-commit-test.yaml --all-files --verbose --show-diff-on-failure
- name: run pre-commit with plugin
run: |
pre-commit run --config .pre-commit-test.yaml --all-files --verbose --show-diff-on-failure
publish:
name: Publish to PyPi
needs: [pre-commit, tests, pre-commit-hook]
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
build:
name: build
runs-on: ubuntu-latest
steps:
- name: Checkout source
uses: actions/checkout@v2
- name: Set up Python 3.7
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: install flit
run: |
pip install flit~=3.0
- name: Build and publish
run: |
flit publish
env:
FLIT_USERNAME: __token__
FLIT_PASSWORD: ${{ secrets.PYPI_KEY }}
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Upgrade Pip
run: python -m pip install --upgrade pip
- name: Install Poetry
run: python -m pip install build
- name: Build a binary wheel and a source tarball
run: python3 -m build
- name: Store the distribution packages
uses: actions/upload-artifact@v4
with:
name: python-package-distributions
path: dist/

publish-to-pypi:
name: >-
Publish Python 🐍 distribution 📦 to PyPI
if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes
needs:
- build
runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/p/pelican-markdown-it-reader
permissions:
id-token: write
steps:
- name: Download all the dists
uses: actions/download-artifact@v4
with:
name: python-package-distributions
path: dist/
- name: Publish distribution 📦 to PyPI
uses: pypa/gh-action-pypi-publish@release/v1

github-release:
name: >-
Sign the Python 🐍 distribution 📦 with Sigstore
and upload them to GitHub Release
needs:
- publish-to-pypi
runs-on: ubuntu-latest

permissions:
contents: write # IMPORTANT: mandatory for making GitHub Releases
id-token: write # IMPORTANT: mandatory for sigstore

steps:
- name: Download all the dists
uses: actions/download-artifact@v4
with:
name: python-package-distributions
path: dist/
- name: Sign the dists with Sigstore
uses: sigstore/gh-action-sigstore-python@v2.1.1
with:
inputs: >-
./dist/*.tar.gz
./dist/*.whl
- name: Create GitHub Release
env:
GITHUB_TOKEN: ${{ github.token }}
run: >-
gh release create
'${{ github.ref_name }}'
--repo '${{ github.repository }}'
--notes ""
- name: Upload artifact signatures to GitHub Release
env:
GITHUB_TOKEN: ${{ github.token }}
# Upload to GitHub Release using the `gh` CLI.
# `dist/` contains the built packages, and the
# sigstore-produced signatures and certificates.
run: >-
gh release upload
'${{ github.ref_name }}' dist/**
--repo '${{ github.repository }}'
10 changes: 5 additions & 5 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.2.0
rev: v4.6.0
hooks:
- id: end-of-file-fixer
- id: mixed-line-ending
- id: trailing-whitespace
- id: check-yaml
- id: check-toml
- repo: https://github.com/pre-commit/pygrep-hooks
rev: v1.6.0
rev: v1.10.0
hooks:
- id: python-check-blanket-noqa
- repo: https://github.com/timothycrosley/isort
rev: 5.5.3
rev: 5.13.2
hooks:
- id: isort
- repo: https://github.com/psf/black
rev: 20.8b1
rev: 24.4.2
hooks:
- id: black
- repo: https://gitlab.com/pycqa/flake8
- repo: https://github.com/PyCQA/flake8
rev: 3.8.3
hooks:
- id: flake8
Expand Down
12 changes: 3 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
# mdformat-plugin

[![Build Status][ci-badge]][ci-link]
[![PyPI version][pypi-badge]][pypi-link]
[![Build Status](https://img.shields.io/github/actions/workflow/status/gaige/mdformat-pelican/tests.yml?branch=main)](https://github.com/gaige/mdformat-pelican/actions)
[![PyPI Version](https://img.shields.io/pypi/v/mdformat_pelican)](https://pypi.org/project/mdformat_pelican/)
![License](https://img.shields.io/pypi/l/mdformat_pelican?color=blue)

An [mdformat](https://github.com/executablebooks/mdformat) plugin for the pelican static site generator.
[Pelican](https://getpelican.com) is a static site generator and uses markdown with a couple of additions,
Expand Down Expand Up @@ -72,10 +73,3 @@ flit publish
```

or trigger the GitHub Action job, by creating a release with a tag equal to the version, e.g. `v0.0.1`.

Note, this requires generating an API key on PyPi and adding it to the repository `Settings/Secrets`, under the name `PYPI_KEY`.

[ci-badge]: https://github.com/gaige/mdformat-pelican/workflows/CI/badge.svg?branch=master
[ci-link]: https://github.com/gaige/mdformat-pelican/actions?query=workflow%3ACI+branch%3Amaster+event%3Apush
[pypi-badge]: https://img.shields.io/pypi/v/mdformat_pelican.svg
[pypi-link]: https://pypi.org/project/mdformat_pelican

0 comments on commit 5e9dff7

Please sign in to comment.