Skip to content
This repository has been archived by the owner on Oct 21, 2023. It is now read-only.

chore: fix dependabot.yml format #384

chore: fix dependabot.yml format

chore: fix dependabot.yml format #384

Workflow file for this run

name: Run CI
on:
workflow_dispatch:
push:
branches:
- "master"
pull_request:
env:
RELEASE: ${{ github.event_name == 'workflow_dispatch' }}
jobs:
lint-python:
name: Lint Python
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: 3.8
- name: Run Black
uses: psf/black@stable
- name: Run ISort
uses: isort/isort-action@v1
lint-rust:
name: Lint Rust
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Rust nightly
uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt, clippy
- name: Run cargo fmt
run: cargo fmt --all -- --check
- name: Run cargo clippy
run: cargo clippy -- -D warnings
- name: "Cocogitto: Check Conventional Commit"
run: |
curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
cargo binstall --no-confirm --version 5.4.0 cocogitto
cog check --ignore-merge-commits
build-docs:
name: Build Documentation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pdm-project/setup-pdm@v3
name: Setup PDM
- name: Install Dependencies
run: pdm install --no-self
- name: MkDocs Build
run: pdm run build-docs
env:
OFFLINE: false
- name: Upload Artifact
uses: actions/upload-artifact@v3
with:
name: docs
path: build
build-matrix:
name: Create Build Matrix
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.configure.outputs.matrix }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: 3.11
- name: Install Actions Toolkit
run: pip install actions_toolkit
- name: Configure Build Matrix
id: configure
run: python ./.github/scripts/gen_matrix.py
build:
name: Build
needs: [build-matrix]
strategy:
fail-fast: false
matrix: ${{ fromJSON( needs.build-matrix.outputs.matrix ) }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: 3.8
architecture: ${{ matrix.py_arch || 'x64' }}
- name: Install Dependencies
run: |
pip install tomlkit
pip install actions_toolkit
- name: Bump Dev Version
if: ${{ env.RELEASE != 'true' }}
run: python ./.github/scripts/bump_cargo_version.py
- name: Build Wheel
id: build-wheel
uses: PyO3/maturin-action@v1
with:
rust-toolchain: nightly
command: ${{ matrix.build_cmd }}
target: ${{ matrix.target }}
manylinux: ${{ matrix.manylinux }}
args: ${{ matrix.build_args }}
sccache: true
- name: Upload wheels - Packed
if: ${{ steps.build-wheel.outcome == 'success' }}
uses: actions/upload-artifact@v3
with:
name: wheels
path: dist
- name: Upload wheels - Unpacked
if: ${{ steps.build-wheel.outcome == 'success' }}
uses: actions/upload-artifact@v3
with:
name: ${{ matrix.name }}
path: dist
release:
name: Release
runs-on: ubuntu-latest
if: ${{ github.event_name == 'workflow_dispatch' }}
needs: [lint-python, lint-rust, build, build-docs]
environment: release
permissions: write-all
steps:
- uses: actions/checkout@v4
- uses: pdm-project/setup-pdm@v3
name: Setup PDM
- name: Install Dependencies
run: pdm install --no-self
- name: Download Built Wheels
uses: actions/download-artifact@v3
with:
name: wheels
path: dist
- name: Build Offline Docs
run: pdm run build-docs
- name: Compress Documentation Archive
run: zip -9 ./docs.zip -r ./build
- name: Export Version
run: pdm run python ./.github/scripts/extract_version.py
- name: Config Git
run: |
git config advice.addIgnoredFile false
git config user.name github-actions[bot]
git config user.email github-actions[bot]@users.noreply.github.com
- name: Build And Release
run: |
pdm run towncrier build --version $VERSION --keep --config ./towncrier_release.toml
cat ./release-notes.md
pdm run towncrier build --version $VERSION --yes
pdm run pre-commit run --all-files --show-diff-on-failure || true
git add .
git diff-index --quiet HEAD || git commit -m "chore(release): $VERSION"
git push
gh release create "$VERSION" dist/* "./docs.zip#Documentation Archive" --notes-file ./release-notes.md --title "$VERSION"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Publish to PyPI
run: pdm publish --no-build