Skip to content

chore: update CI/CD badge urls #7

chore: update CI/CD badge urls

chore: update CI/CD badge urls #7

Workflow file for this run

name: Release
on:
push:
branches: [ "main" ]
jobs:
test:
name: Python ${{ matrix.python-version }} tests
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.11", "3.12"]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install pytest and dependencies
run: |
sudo apt update && sudo apt install -y libegl1-mesa-dev
python -m pip install --upgrade pip
python -m pip install -v . pytest
python -m pip install -r requirements.txt
- name: Test with pytest
run: |
pytest -v
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: 3.11
- name: Install flake8 and dependencies
run: |
sudo apt update && sudo apt install -y libegl1-mesa-dev
python -m pip install --upgrade pip
python -m pip install -v . flake8
- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings.
flake8 . --count --extend-ignore=E203,F401 --exit-zero --max-line-length=88 --statistics --exclude _deprecated
release:
name: Release
runs-on: ubuntu-latest
concurrency: push
needs: [test, lint]
environment:
name: pypi
url: https://pypi.org/p/erlab
permissions:
id-token: write
contents: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Python Semantic Release
id: release
uses: python-semantic-release/python-semantic-release@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Publish package distributions to PyPI
id: pypi-publish
if: steps.release.outputs.released == 'true'
uses: pypa/gh-action-pypi-publish@release/v1
with:
verbose: true
- name: Publish package distributions to GitHub Releases
id: github-release
if: steps.release.outputs.released == 'true'
uses: python-semantic-release/upload-to-gh-release@main
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ steps.release.outputs.tag }}