Skip to content

Commit

Permalink
Upgrade Python dependencies
Browse files Browse the repository at this point in the history
* Add make rules to manage AMAUATs Python deps
* Update submodules
* Update GitHub CI workflows
* Upgrade pre-commit dependencies
* Remove vcrpy
  • Loading branch information
replaceafill committed Nov 13, 2023
1 parent 6484b60 commit 09e86fc
Show file tree
Hide file tree
Showing 31 changed files with 444 additions and 884 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/acceptance-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
browser: Firefox
steps:
- name: "Check out repository"
uses: "actions/checkout@v3"
uses: "actions/checkout@v4"
with:
submodules: true
- name: "Create external volumes"
Expand Down
54 changes: 22 additions & 32 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,35 +13,32 @@ jobs:
strategy:
fail-fast: false
matrix:
rule: ["mcp-server", "mcp-client", "dashboard", "archivematica-common"]
python-version: ["3.8", "3.9", "3.10"]
rule: [
"mcp-server",
"mcp-client",
"dashboard",
"archivematica-common",
]
python-version: [
"3.8",
"3.9",
"3.10",
]
include:
- rule: "storage-service"
python-version: "3.9"
- rule: "migrations"
python-version: "3.9"
steps:
- name: "Check out repository"
uses: "actions/checkout@v3"
uses: "actions/checkout@v4"
- name: "Check out the archivematica-storage-service submodule"
run: |
git submodule update --init hack/submodules/archivematica-storage-service/
- name: "Set up buildx"
uses: "docker/setup-buildx-action@v2"
id: buildx
with:
install: true
- name: "Set up docker cache"
uses: "actions/cache@v3"
with:
path: /tmp/.docker-cache-old
key: ${{ runner.os }}-docker-${{ matrix.python-version }}-${{ matrix.rule }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-docker-${{ matrix.python-version }}-${{ matrix.rule }}-
${{ runner.os }}-docker-${{ matrix.python-version }}-
${{ runner.os }}-docker-
uses: "docker/setup-buildx-action@v3"
- name: "Build archivematica-tests image"
uses: "docker/build-push-action@v4"
uses: "docker/build-push-action@v5"
with:
context: .
file: ./hack/Dockerfile
Expand All @@ -51,13 +48,14 @@ jobs:
tags: archivematica-tests:latest
push: false
load: true
cache-from: type=local,src=/tmp/.docker-cache-old
cache-to: type=local,dest=/tmp/.docker-cache-new,mode=max
cache-from: type=gha
cache-to: type=gha,mode=max
- name: "Create external volumes"
run: |
make -C hack/ create-volumes
- name: "Run make rule"
run: |
docker buildx install
make -C hack/ test-${{ matrix.rule }}
env:
TOXARGS: -vv
Expand All @@ -71,10 +69,6 @@ jobs:
fail_ci_if_error: false
verbose: true
name: ${{ matrix.rule }}
- name: "Set newest docker cache"
run: |
rm -rf /tmp/.docker-cache-old
mv /tmp/.docker-cache-new /tmp/.docker-cache-old
frontend:
name: "Test frontend"
runs-on: "ubuntu-22.04"
Expand All @@ -85,16 +79,12 @@ jobs:
- name: "Check out repository"
uses: "actions/checkout@v3"
- name: "Set up Node JS"
uses: "actions/setup-node@v3"
with:
node-version: "8"
- name: "Cache npm packages"
uses: "actions/cache@v3"
uses: "actions/setup-node@v4"
with:
path: "~/.npm"
key: "${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}"
restore-keys: |
${{ runner.os }}-node-
node-version: "14"
cache: "npm"
cache-dependency-path: |
**/package-lock.json
- name: "Install frontend dependencies"
run: |
npm install
Expand Down
10 changes: 5 additions & 5 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
rev: v4.5.0
hooks:
- id: pretty-format-json
args: [--no-ensure-ascii, --autofix]
Expand All @@ -10,22 +10,22 @@ repos:
src/(MCPClient/MCPServer|dashboard)/osdeps/.*\.json
)
- repo: https://github.com/asottile/pyupgrade
rev: v3.10.1
rev: v3.15.0
hooks:
- id: pyupgrade
args: [--py38-plus]
- repo: https://github.com/asottile/reorder_python_imports
rev: v3.10.0
rev: v3.12.0
hooks:
- id: reorder-python-imports
args: [--py38-plus]
- repo: https://github.com/adamchainz/django-upgrade
rev: "1.14.1"
rev: "1.15.0"
hooks:
- id: django-upgrade
args: [--target-version, "3.2"]
- repo: https://github.com/psf/black
rev: "23.7.0"
rev: "23.10.1"
hooks:
- id: black
args: [--safe, --quiet]
Expand Down
20 changes: 20 additions & 0 deletions hack/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,26 @@ upgrade-requirements-ss: ## Run pip-upgrade for Storage Service
--entrypoint bash archivematica-storage-service \
-c "make pip-upgrade"

define amauat_make
docker compose \
-f docker-compose.yml \
-f docker-compose.acceptance-tests.yml \
run \
--workdir /src \
-e XDG_CACHE_HOME=/tmp/pip-cache \
--rm \
--no-deps \
--user $(CALLER_UID):$(CALLER_GID) \
--entrypoint bash archivematica-acceptance-tests \
-c "make $(1)"
endef

compile-requirements-amauat: test-at-build ## Run pip-compile for AMAUATs
$(call amauat_make,pip-compile)

upgrade-requirements-amauat: test-at-build ## Run pip-upgrade for AMAUATs
$(call amauat_make,pip-upgrade)

db: ## Connect to the MySQL server using the CLI.
docker compose exec mysql mysql -hlocalhost -uroot -p12345

Expand Down
1 change: 1 addition & 0 deletions hack/docker-compose.acceptance-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ services:
security_opt:
- "seccomp:unconfined"
volumes:
- "./submodules/archivematica-acceptance-tests/:/src/"
- "/dev/shm:/dev/shm"
- "./submodules/archivematica-sampledata:/home/archivematica/archivematica-sampledata:ro"
- "archivematica_pipeline_data:/var/archivematica/sharedDirectory:ro"
Expand Down
2 changes: 1 addition & 1 deletion hack/submodules/archivematica-storage-service
Submodule archivematica-storage-service updated 73 files
+17 −6 .github/workflows/test.yml
+12 −11 .pre-commit-config.yaml
+2 −2 CONTRIBUTING.md
+38 −42 integration/test_integration.py
+0 −1 requirements-dev.in
+26 −36 requirements-dev.txt
+20 −19 requirements.txt
+13 −13 storage_service/common/premis.py
+4 −4 storage_service/common/utils.py
+3 −1 storage_service/locations/api/resources.py
+1 −1 storage_service/locations/api/sword/helpers.py
+1 −1 storage_service/locations/datatable_utils.py
+0 −16 storage_service/locations/fixtures/vcr_cassettes/api_download_package_arkivum_error.yaml
+0 −84 storage_service/locations/fixtures/vcr_cassettes/api_download_package_arkivum_not_available.yaml
+0 −77 storage_service/locations/fixtures/vcr_cassettes/arkivum_delete.yaml
+0 −35 storage_service/locations/fixtures/vcr_cassettes/arkivum_post_move_from_ss.yaml
+0 −47 storage_service/locations/fixtures/vcr_cassettes/arkivum_update_package_status.yaml
+0 −71 storage_service/locations/fixtures/vcr_cassettes/arkivum_update_package_status_uncompressed.yaml
+0 −109 storage_service/locations/fixtures/vcr_cassettes/dataverse_browse_all.yaml
+0 −666 storage_service/locations/fixtures/vcr_cassettes/dataverse_browse_filter.yaml
+0 −74 storage_service/locations/fixtures/vcr_cassettes/dataverse_move_to.yaml
+0 −63 storage_service/locations/fixtures/vcr_cassettes/dspace_get_sword_connection.yaml
+0 −320 storage_service/locations/fixtures/vcr_cassettes/dspace_move_from_ss.yaml
+0 −106 storage_service/locations/fixtures/vcr_cassettes/duracloud_browse.yaml
+0 −52 storage_service/locations/fixtures/vcr_cassettes/duracloud_browse_split_files.yaml
+0 −351 storage_service/locations/fixtures/vcr_cassettes/duracloud_delete_chunked_file.yaml
+0 −84 storage_service/locations/fixtures/vcr_cassettes/duracloud_delete_file.yaml
+0 −251 storage_service/locations/fixtures/vcr_cassettes/duracloud_delete_folder.yaml
+0 −84 storage_service/locations/fixtures/vcr_cassettes/duracloud_delete_percent_encoding.yaml
+0 −576 storage_service/locations/fixtures/vcr_cassettes/duracloud_move_from_ss_chunked.yaml
+0 −501 storage_service/locations/fixtures/vcr_cassettes/duracloud_move_from_ss_chunked_resume.yaml
+0 −92 storage_service/locations/fixtures/vcr_cassettes/duracloud_move_from_ss_file.yaml
+0 −182 storage_service/locations/fixtures/vcr_cassettes/duracloud_move_from_ss_folder.yaml
+0 −92 storage_service/locations/fixtures/vcr_cassettes/duracloud_move_from_ss_percent_encoding.yaml
+0 −2,890 storage_service/locations/fixtures/vcr_cassettes/duracloud_move_to_ss_chunked_file.yaml
+0 −30 storage_service/locations/fixtures/vcr_cassettes/duracloud_move_to_ss_file.yaml
+0 −164 storage_service/locations/fixtures/vcr_cassettes/duracloud_move_to_ss_folder.yaml
+0 −164 storage_service/locations/fixtures/vcr_cassettes/duracloud_move_to_ss_folder_globbing.yaml
+0 −30 storage_service/locations/fixtures/vcr_cassettes/duracloud_move_to_ss_percent_encoding.yaml
+0 −29 storage_service/locations/fixtures/vcr_cassettes/package_fixity_amber_arkivum.yaml
+0 −23 storage_service/locations/fixtures/vcr_cassettes/package_fixity_failure_arkivum.yaml
+0 −16 storage_service/locations/fixtures/vcr_cassettes/package_fixity_scheduled_arkivum.yaml
+0 −29 storage_service/locations/fixtures/vcr_cassettes/package_fixity_success_arkivum.yaml
+0 −24 storage_service/locations/fixtures/vcr_cassettes/pipeline_approve_transfer.yaml
+0 −23 storage_service/locations/fixtures/vcr_cassettes/pipeline_list_unapproved_transfers.yaml
+0 −76 storage_service/locations/fixtures/vcr_cassettes/swift_browse.yaml
+0 −92 storage_service/locations/fixtures/vcr_cassettes/swift_browse_unicode.yaml
+0 −124 storage_service/locations/fixtures/vcr_cassettes/swift_delete.yaml
+0 −168 storage_service/locations/fixtures/vcr_cassettes/swift_delete_folder.yaml
+0 −131 storage_service/locations/fixtures/vcr_cassettes/swift_move_from.yaml
+0 −76 storage_service/locations/fixtures/vcr_cassettes/swift_move_to.yaml
+0 −76 storage_service/locations/fixtures/vcr_cassettes/swift_move_to_bad_etag.yaml
+0 −148 storage_service/locations/fixtures/vcr_cassettes/swift_move_to_folder.yaml
+0 −116 storage_service/locations/fixtures/vcr_cassettes/swift_move_to_not_exist.yaml
+0 −25 storage_service/locations/fixtures/vcr_cassettes/test_lockssomatic_bad_url.yaml
+1 −1 storage_service/locations/models/arkivum.py
+4 −4 storage_service/locations/models/duracloud.py
+1 −1 storage_service/locations/models/lockssomatic.py
+1 −1 storage_service/locations/models/s3.py
+5 −37 storage_service/locations/models/space.py
+1 −1 storage_service/locations/models/swift.py
+44 −23 storage_service/locations/tests/test_api.py
+115 −65 storage_service/locations/tests/test_arkivum.py
+320 −14 storage_service/locations/tests/test_dataverse.py
+72 −27 storage_service/locations/tests/test_dspace.py
+589 −574 storage_service/locations/tests/test_duracloud.py
+3 −9 storage_service/locations/tests/test_lockssomatic.py
+76 −19 storage_service/locations/tests/test_package.py
+34 −14 storage_service/locations/tests/test_pipeline.py
+266 −28 storage_service/locations/tests/test_swift.py
+1 −1 storage_service/storage_service/__init__.py
+1 −1 storage_service/storage_service/wsgi.py
+14 −4 tox.ini
1 change: 0 additions & 1 deletion requirements-dev.in
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,3 @@ pytest-django
pytest-mock
pytest-randomly
tox
vcrpy
Loading

0 comments on commit 09e86fc

Please sign in to comment.