Skip to content

Commit

Permalink
refresh project to match pallets (#1159)
Browse files Browse the repository at this point in the history
  • Loading branch information
davidism authored Jan 31, 2023
2 parents f6dc4da + 87b0991 commit b87577c
Show file tree
Hide file tree
Showing 16 changed files with 471 additions and 262 deletions.
2 changes: 0 additions & 2 deletions setup.cfg → .flake8
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# Config goes in pyproject.toml unless a tool doesn't support that.

[flake8]
extend-select =
# bugbear
Expand Down
10 changes: 8 additions & 2 deletions .github/workflows/lock.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,18 @@ on:
schedule:
- cron: '0 0 * * *'

permissions:
issues: write
pull-requests: write

concurrency:
group: lock

jobs:
lock:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v3
- uses: dessant/lock-threads@c1b35aecc5cdb1a34539d14196df55838bb2f836
with:
github-token: ${{ github.token }}
issue-inactive-days: 14
pr-inactive-days: 14
77 changes: 77 additions & 0 deletions .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: Publish
on:
push:
tags:
- '*'
jobs:
build:
runs-on: ubuntu-latest
outputs:
hash: ${{ steps.hash.outputs.hash }}
steps:
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
- uses: actions/setup-python@5ccb29d8773c3f3f653e1705f474dfaa8a06a912
with:
python-version: '3.x'
cache: 'pip'
cache-dependency-path: 'pdm.lock'
- uses: actions/cache@58c146cc91c5b9e778e71775dfe9bf1442ad9a12
with:
path: ~/.cache/pdm
key: ${{ matrix.python }}-pdm-${{ hashFiles('pdm.lock') }}
restore-keys: ${{ matrix.python }}-pdm-
- run: pip install pdm
# Use the commit date instead of the current date during the build.
- run: echo "SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct)" >> $GITHUB_ENV
- run: pdm build
# Generate hashes used for provenance.
- name: generate hash
id: hash
run: cd dist && echo "hash=$(sha256sum * | base64 -w0)" >> $GITHUB_OUTPUT
- uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce
with:
path: ./dist
provenance:
needs: ['build']
permissions:
actions: read
id-token: write
contents: write
# Can't pin with hash due to how this workflow works.
uses: slsa-framework/slsa-github-generator/.github/workflows/[email protected]
with:
base64-subjects: ${{ needs.build.outputs.hash }}
create-release:
# Upload the sdist, wheels, and provenance to a GitHub release. They remain
# available as build artifacts for a while as well.
needs: ['provenance']
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a
- name: create release
run: >
gh release create --draft --repo ${{ github.repository }}
${{ github.ref_name }}
*.intoto.jsonl/* artifact/*
env:
GH_TOKEN: ${{ github.token }}
publish-pypi:
needs: ['provenance']
# Wait for approval before attempting to upload to PyPI. This allows reviewing the
# files in the draft release.
environment: 'publish'
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a
# Try uploading to Test PyPI first, in case something fails.
- uses: pypa/gh-action-pypi-publish@c7f29f7adef1a245bd91520e94867e5c6eedddcc
with:
password: ${{ secrets.TEST_PYPI_TOKEN }}
repository_url: https://test.pypi.org/legacy/
packages_dir: artifact/
- uses: pypa/gh-action-pypi-publish@c7f29f7adef1a245bd91520e94867e5c6eedddcc
with:
password: ${{ secrets.PYPI_TOKEN }}
packages_dir: artifact/
17 changes: 12 additions & 5 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,24 +24,31 @@ jobs:
fail-fast: false
matrix:
include:
- {name: '3.11', python: '3.11', tox: py311}
- {name: 'Lowest', python: '3.11', tox: py311-lowest}
- {name: '3.10', python: '3.10', tox: py310}
- {name: 'Lowest', python: '3.10', tox: py310-lowest}
- {name: '3.9', python: '3.9', tox: py39}
- {name: '3.8', python: '3.8', tox: py38}
- {name: '3.7', python: '3.7', tox: py37}
- {name: 'Typing', python: '3.10', os: ubuntu-latest, tox: typing}
- {name: 'Typing', python: '3.11', os: ubuntu-latest, tox: typing}
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
- uses: actions/setup-python@5ccb29d8773c3f3f653e1705f474dfaa8a06a912
with:
python-version: ${{ matrix.python }}
cache: 'pip'
cache-dependency-path: 'pdm.lock'
- uses: actions/cache@v3
- uses: actions/cache@58c146cc91c5b9e778e71775dfe9bf1442ad9a12
with:
path: ~/.cache/pdm
key: ${{ matrix.python }}-pdm-${{ hashFiles('pdm.lock') }}
restore-keys: ${{ matrix.python }}-pdm-
- name: cache mypy
uses: actions/cache@58c146cc91c5b9e778e71775dfe9bf1442ad9a12
with:
path: ./.mypy_cache
key: mypy|${{ matrix.python }}|${{ hashFiles('pyproject.toml') }}
if: matrix.tox == 'typing'
- run: |
pip install pdm
pdm config install.cache true
Expand Down
Loading

0 comments on commit b87577c

Please sign in to comment.