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

Commit e26ca77

Browse files
committed
Merge branch 'review-nov22' of github.com:DiamondLightSource/python3-pip-skeleton into review-nov22
2 parents d293f1b + 4a30d23 commit e26ca77

File tree

2 files changed

+20
-19
lines changed

2 files changed

+20
-19
lines changed

.github/workflows/code.yml

Lines changed: 5 additions & 19 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
@@ -66,10 +63,7 @@ jobs:
6663
python-version: ${{ matrix.python }}
6764

6865
- name: Install with latest dependencies
69-
run: |
70-
pip install .[dev]
71-
mkdir -p lockfiles
72-
pip freeze > lockfiles/requirements-test-${{ matrix.python }}-${{ matrix.os }}.txt
66+
run: .github/workflows/pip_install.sh test-${{ matrix.python }}-${{ matrix.os }} .[dev]
7367

7468
- name: Run tests
7569
run: pytest tests
@@ -105,14 +99,10 @@ jobs:
10599
run: |
106100
touch requirements.txt
107101
pip install -r requirements.txt dist/*.whl
108-
# replace with module name if necessary
109-
MODULE=$(ls src | head -1) && \
110-
python -m ${MODULE} --version
102+
# If more than one module in src/ replace with module name to test
103+
python -m $(ls src) --version
111104
112-
- name: Test Publish to PyPI
113-
env:
114-
TWINE_USERNAME: __token__
115-
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}
105+
- name: Check for packaging errors
116106
run: pipx run twine check dist/*
117107

118108
- name: Upload sdist and wheel as artifacts
@@ -193,10 +183,6 @@ jobs:
193183
steps:
194184
- uses: actions/download-artifact@v3
195185

196-
- name: fixup requirements files
197-
# use sed to comment out the self references in requirements files
198-
run: sed -i '/file:/s/^/# Requirements for /' lockfiles/requirements*.txt
199-
200186
- name: Github Release
201187
# We pin to the SHA, not the tag, for security reasons.
202188
# https://docs.github.com/en/actions/learn-github-actions/security-hardening-for-github-actions#using-third-party-actions

.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 | sed '/file:/s/^/# Requirements for /' > lockfiles/requirements${suffix}.txt

0 commit comments

Comments
 (0)