Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Bookworm CI pipeline #1565

Merged
merged 3 commits into from
Oct 11, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ common-steps:
name: Install requirements and run unit tests
command: |
set -e
export VERSION_CODENAME=$(~/project/scripts/codename)
make venv
source .venv/bin/activate
export PYTHONPATH=$PYTHONPATH:. # so alembic can get to Base metadata
Expand All @@ -29,6 +30,7 @@ common-steps:
name: Install requirements and run integration tests
command: |
set -e
export VERSION_CODENAME=$(~/project/scripts/codename)
make venv
source .venv/bin/activate
export PYTHONPATH=$PYTHONPATH:. # so alembic can get to Base metadata
Expand All @@ -39,6 +41,7 @@ common-steps:
name: Install requirements and run functional tests
command: |
set -e
export VERSION_CODENAME=$(~/project/scripts/codename)
make venv
source .venv/bin/activate
export PYTHONPATH=$PYTHONPATH:. # so alembic can get to Base metadata
Expand All @@ -49,6 +52,7 @@ common-steps:
name: Run lint, type checking, code formatting
command: |
set -e
export VERSION_CODENAME=$(~/project/scripts/codename)
make venv
source .venv/bin/activate
make check-black check-isort lint mypy
Expand All @@ -58,6 +62,7 @@ common-steps:
name: Run static analysis on source code to find security issues
command: |
set -e
export VERSION_CODENAME=$(~/project/scripts/codename)
make venv
source .venv/bin/activate
make semgrep bandit
Expand All @@ -67,6 +72,7 @@ common-steps:
name: Run internationalization check
command: |
set -e
export VERSION_CODENAME=$(~/project/scripts/codename)
make venv
source .venv/bin/activate
make check-strings
Expand All @@ -76,6 +82,7 @@ common-steps:
name: Check Python dependencies for known vulnerabilities
command: |
set -e
export VERSION_CODENAME=$(~/project/scripts/codename)
make venv
source .venv/bin/activate
make safety
Expand Down Expand Up @@ -107,6 +114,7 @@ common-steps:
name: Ensure that the same Python requirements are used for development/testing and production.
command: |
set -e
export VERSION_CODENAME=$(~/project/scripts/codename)
make venv
source .venv/bin/activate
make requirements
Expand Down
9 changes: 6 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,13 @@ all: help

# Default to plain "python3"
PYTHON ?= python3
VERSION_CODENAME ?= bullseye

.PHONY: venv
venv: hooks ## Provision a Python 3 virtualenv for development on Linux
$(PYTHON) -m venv .venv
.venv/bin/pip install --upgrade pip wheel
.venv/bin/pip install --require-hashes -r "requirements/dev-requirements.txt"
.venv/bin/pip install --require-hashes -r "requirements/dev-${VERSION_CODENAME}-requirements.txt"
@echo "#################"
@echo "Make sure to run: source .venv/bin/activate"

Expand Down Expand Up @@ -147,12 +148,14 @@ check: clean check-black check-isort semgrep bandit lint mypy test-random test-i

.PHONY: dev-requirements
dev-requirements: ## Update dev-*requirements.txt files if pinned versions do not comply with the dependency specifications in dev-*requirements.in
legoktm marked this conversation as resolved.
Show resolved Hide resolved
pip-compile --allow-unsafe --generate-hashes --output-file requirements/dev-requirements.txt requirements/dev-requirements.in
pip-compile --allow-unsafe --generate-hashes --output-file requirements/dev-bullseye-requirements.txt requirements/dev-bullseye-requirements.in
pip-compile --allow-unsafe --generate-hashes --output-file requirements/dev-bookworm-requirements.txt requirements/dev-bookworm-requirements.in
pip-compile --allow-unsafe --generate-hashes --output-file requirements/dev-sdw-requirements.txt requirements/dev-sdw-requirements.in

.PHONY: update-dev-dependencies
update-dev-dependencies: ## Update dev requirements in case there are newer versions of packages or updates to prod dependencies
if test -f "requirements/dev-requirements.txt"; then rm -r requirements/dev-requirements.txt; fi
if test -f "requirements/dev-bullseye-requirements.txt"; then rm -r requirements/dev-bullseye-requirements.txt; fi
if test -f "requirements/dev-bookworm-requirements.txt"; then rm -r requirements/dev-bookworm-requirements.txt; fi
if test -f "requirements/dev-sdw-requirements.txt"; then rm -r requirements/dev-sdw-requirements.txt; fi
$(MAKE) dev-requirements

Expand Down
3 changes: 3 additions & 0 deletions requirements/dev-bookworm-requirements.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
-r dev-sdw-requirements.in
PyQt5==5.15.2
PyQt5.sip==12.9.0
Loading