feat(chore): bump deps, might consider >= in the future #101
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: | |
workflow_dispatch: | |
pull_request: | |
branches: [ main ] | |
paths: | |
- "subgrounds/**" | |
- "tests/**" | |
- "examples/**" | |
- "pyproject.toml" | |
push: | |
branches: [ main ] | |
paths: | |
- "subgrounds/**" | |
- "tests/**" | |
- "examples/**" | |
- "pyproject.toml" | |
env: | |
POETRY_VERSION: "1.3.2" | |
jobs: | |
ci: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: [ "3.10" ] | |
steps: | |
# --------------------------------------------- | |
# ----- gather repo ----- | |
# --------------------------------------------- | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
# --------------------------------------------- | |
# ----- setup and cache python ----- | |
# --------------------------------------------- | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Cache poetry | |
id: cache-poetry | |
uses: actions/cache@v3 | |
with: | |
path: ~/.local | |
key: poetry-${{ runner.os }}-${{ env.POETRY_VERSION }} | |
- name: Install poetry | |
if: steps.cache-poetry.outputs.cache-hit != 'true' | |
uses: snok/install-poetry@v1 | |
with: | |
version: ${{ env.POETRY_VERSION }} | |
virtualenvs-in-project: true | |
- name: Install Poe the Poet | |
run: poetry self add poethepoet[poetry_plugin] | |
- name: Cache venv | |
id: cache-venv | |
uses: actions/cache@v3 | |
with: | |
path: .venv | |
key: venv-${{ runner.os }}-${{ matrix.python-version }}-${{ env.POETRY_VERSION }}-${{ hashFiles('poetry.lock') }} | |
restore-keys: | | |
venv-${{ runner.os }}-${{ matrix.python-version }}-${{ env.POETRY_VERSION }}- | |
- name: Install dependencies | |
if: steps.cache-venv.outputs.cache-hit != 'true' | |
run: poetry install --all-extras | |
# --------------------------------------------- | |
# ----- Lint and Test ----- | |
# --------------------------------------------- | |
- name: Lint with ruff and black | |
run: poetry poe check | |
- name: Run unit tests | |
run: poetry poe test | |
# --------------------------------------------- | |
# ----- Release Package ----- | |
# --------------------------------------------- | |
- name: Release | |
if: | | |
github.repository == '0xPlaygrounds/subgrounds' | |
&& github.event_name == 'push' | |
&& github.ref == 'refs/heads/main' | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} | |
run: | | |
git config --global user.name "github-actions" | |
git config --global user.email "action@github.com" | |
poetry run semantic-release publish -v DEBUG -D commit_author="github-actions <action@github.com>" | |
rebuild-docs: | |
uses: ./.github/workflows/build-docs.yml | |
secrets: inherit |