Skip to content
This repository was archived by the owner on Mar 13, 2024. It is now read-only.

Commit d5d59c3

Browse files
committed
abstract pip installs to a script
1 parent d070734 commit d5d59c3

File tree

2 files changed

+18
-9
lines changed

2 files changed

+18
-9
lines changed

.github/workflows/code.yml

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,8 @@ jobs:
2424

2525
- name: Lint
2626
run: |
27-
touch requirements-lint.txt requirements.txt
28-
pip install -r requirements.txt -r requirements-lint.txt -e .[dev]
27+
.github/workflows/pip_install.sh lint -e .[dev]
2928
tox -e pre-commit,mypy
30-
mkdir -p lockfiles
31-
pip freeze > lockfiles/requirements-lint.txt
3229
3330
- name: Upload lockfiles
3431
uses: actions/upload-artifact@v3
@@ -61,10 +58,7 @@ jobs:
6158
python-version: ${{ matrix.python }}
6259

6360
- name: Install with latest dependencies
64-
run: |
65-
pip install .[dev]
66-
mkdir -p lockfiles
67-
pip freeze > lockfiles/requirements-test-${{ matrix.python }}-${{ matrix.os }}.txt
61+
run: .github/workflows/pip_install.sh test-${{ matrix.python }}-${{ matrix.os }} .[dev]
6862

6963
- name: Run tests
7064
run: pytest tests
@@ -101,7 +95,7 @@ jobs:
10195
touch requirements.txt
10296
pip install -r requirements.txt dist/*.whl
10397
# If more than one module in src/ replace with module name to test
104-
python -m $(ls src) --version
98+
python -m $(ls src | head -1) --version
10599
106100
- name: Check for packaging errors
107101
run: pipx run twine check dist/*

.github/workflows/pip_install.sh

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/bin/bash
2+
3+
# A script to pip install a package with dependencies from requirements{suffix}.txt
4+
# if requirements{suffix}.txt exists.
5+
# Generates the requirements{suffix}.txt file once install is complete
6+
7+
# usage: install_with_requirements.sh suffix [remaining parameters to pip install]
8+
9+
suffix=$1
10+
shift
11+
12+
touch requirements-${suffix}.txt
13+
pip install -r requirements-${suffix}.txt "${@}"
14+
mkdir -p lockfiles
15+
pip freeze > lockfiles/requirements-${suffix}.txt

0 commit comments

Comments
 (0)