Bump actions to latest major version: checkout, cache, setup-python #90
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: json-store | |
on: [push, pull_request] | |
env: | |
pip-cache-key: 2023.02.03 | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: pip cache | |
uses: actions/cache@v4 | |
with: | |
path: ~/.cache/pip | |
key: ${{ runner.os }}-pip-${{ github.job }}-${{ env.pip-cache-key }} | |
restore-keys: | | |
${{ runner.os }}-pip- | |
- name: pre-commit cache | |
uses: actions/cache@v4 | |
with: | |
path: ~/.cache/pre-commit | |
key: ${{ runner.os }}-pre-commit-${{ hashFiles('.pre-commit-config.yaml') }} | |
restore-keys: | | |
${{ runner.os }}-pre-commit- | |
- name: Display Python version | |
run: python -c "import sys; print(sys.version)" | |
- name: Install ${{ github.job }} dependencies | |
run: pip install --disable-pip-version-check pre-commit | |
- name: Run pre-commit tests | |
run: pre-commit run -a | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: pip cache | |
uses: actions/cache@v4 | |
with: | |
path: ~/.cache/pip | |
key: ${{ runner.os }}-pip-${{ github.job }}-${{ env.pip-cache-key }} | |
restore-keys: | | |
${{ runner.os }}-pip- | |
- name: Display Python version | |
run: python -c "import sys; print(sys.version)" | |
- name: Upgrade pip and setuptools | |
run: python -m pip install --upgrade pip setuptools | |
- name: Install ${{ github.job }} dependencies | |
run: pip --disable-pip-version-check install wheel build | |
- name: Build package | |
run: python -m build | |
- name: Store build artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: dist | |
path: dist | |
test: | |
needs: [lint, build] | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: ["2.7", "3.8", "3.9", "3.10", "3.11", "3.12", "pypy-3.10"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: pip cache | |
uses: actions/cache@v4 | |
with: | |
path: ~/.cache/pip | |
key: ${{ runner.os }}-pip-${{ github.job }}-${{ env.pip-cache-key }} | |
restore-keys: | | |
${{ runner.os }}-pip- | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Download build artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: dist | |
path: dist | |
- name: Install ${{ github.job }} dependencies | |
run: | | |
pip install --disable-pip-version-check pytest | |
- name: Install json-store package | |
run: | | |
pip install --disable-pip-version-check dist/json_store-*.whl | |
- name: Test with pytest | |
run: pytest | |
- name: Test shelve2json | |
run: sh tests/test_shelve2json.sh |