Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
99 commits
Select commit Hold shift + click to select a range
dc54879
Bump version to 1.18.0
replaceafill Dec 9, 2024
de76a20
Update archivematica-storage-service git submodule
replaceafill Dec 9, 2024
4578554
Drop Python 3.8 support
replaceafill Jan 6, 2025
b462355
Use 1.18.x OS packages in the Dockerfile
replaceafill Jan 7, 2025
0695b46
Extend test coverage of the create_mets_v2 script
replaceafill Jan 9, 2025
9735e9e
Do not create amdSec when bag metadata is empty
replaceafill Jan 9, 2025
2532eb5
Upgrade dependencies
replaceafill Jan 13, 2025
ef84840
Upgrade Python requirements
replaceafill Jan 18, 2025
152a29b
Fix test-at-check target in hack/Makefile
replaceafill Feb 7, 2025
f641cec
Update git submodules
replaceafill Feb 7, 2025
508911d
Upgrade dependencies
replaceafill Feb 12, 2025
38c0899
Add tests for FPR event detail commands
replaceafill Feb 21, 2025
320836d
Use Ubuntu 24.04 in Docker setups
replaceafill Feb 19, 2025
1dc0274
Update git submodules
replaceafill Feb 24, 2025
d273e4c
Remove FPR South migrations
replaceafill Feb 25, 2025
68c04d7
Upgrade dependencies
replaceafill Mar 7, 2025
c73504a
Update Django migration file
Dhwaniartefact Feb 27, 2025
fc48ba3
Create namespace of JHOVE command
Dhwaniartefact Mar 3, 2025
30357c9
Fix the dashboard test and add suggested changes
Dhwaniartefact Mar 10, 2025
ac80f1e
Add suggested changes
Dhwaniartefact Mar 11, 2025
d6892fd
Remove unnecessary directories from package structure
replaceafill Mar 11, 2025
4a20725
Include management commands in coverage report
replaceafill Mar 11, 2025
ec0d4c7
Upgrade JHOVE to 1.32.1 in hack/Dockerfile
replaceafill Mar 13, 2025
e30c930
Extend test coverage of FPR management commands
replaceafill Mar 14, 2025
18f2c44
Delete unused code
sevein Mar 20, 2025
de2c341
Avoid use of ast.literal_eval in validate_file
sevein Mar 21, 2025
45fd17d
Use json.loads to decode unit vars
sevein Mar 21, 2025
93313e7
Fix exception handling in json.loads
sevein Mar 22, 2025
f54741b
Restructure Python project to follow the src layout
replaceafill Mar 24, 2025
0ef8a76
Update Storage Service development rules
replaceafill Mar 26, 2025
7273ab7
Do not show user API keys
replaceafill Mar 31, 2025
c4c576c
Update FPR format groups to match PRONOM classifications
replaceafill Mar 27, 2025
ce02923
Update Dashboard search enabled setting description
replaceafill Apr 3, 2025
c83e52b
Remove unused variable THIS_DIR
sevein Apr 8, 2025
f6f6f6e
Use importlib package to get assets and metadata
replaceafill Apr 8, 2025
3fb9a42
Add support for PKCE
scollazo Mar 13, 2025
52e9994
Update archivematica-storage-service git submodule
sbreker Apr 11, 2025
199b4f6
Update to PRONOM v120
replaceafill Apr 21, 2025
ffcda44
Remove chrome browser from AMAUAT CI tests
Dhwaniartefact Apr 29, 2025
b1d7c43
Add ability to set roles from OIDC claims
sbreker Mar 6, 2025
efee5b5
Allow OIDC role config by provider
sbreker May 1, 2025
0c69b64
Upgrade dependencies
replaceafill May 9, 2025
b99f1ee
Remove migration data dependency from Dashboard tests
replaceafill May 13, 2025
c8be068
Remove migration data dependency from MCPClient tests
replaceafill May 13, 2025
f995936
Reduce amount of jobs in test CI workflow
replaceafill May 14, 2025
cf8978b
Refactor virus scanning to use clamav-client
sevein May 15, 2025
f5be354
Rename antivirus client module
sevein May 15, 2025
8ae1b83
Add OIDC session refresh middleware
sbreker May 5, 2025
8c02ea1
Update Storage Service submodule
sbreker May 16, 2025
984866a
Upgrade dependencies
replaceafill May 19, 2025
9807b75
Add fixture for Dashboard UUID setting
replaceafill May 21, 2025
49bef6d
Remove unused MCPClient config variable
replaceafill May 25, 2025
e03f1dc
Remove /usr references from FPR commands
replaceafill May 29, 2025
83e159d
Remove /usr references from MCPClient settings
replaceafill May 28, 2025
04e82fc
Remove /usr references from Dashboard configuration
replaceafill May 29, 2025
457c71c
Remove non-functional FPR features
replaceafill May 30, 2025
7109ae4
Upgrade dependencies
replaceafill Jun 2, 2025
7157469
Handle invalid arguments in transcribe_file client script
replaceafill Jun 3, 2025
c0d2133
Remove git ident attribute
sevein Jun 4, 2025
baf64b0
Add GitHub workflow to push images to Docker Hub
replaceafill Jun 5, 2025
88e962c
Upgrade dependencies
replaceafill Jun 8, 2025
cd3b395
Upgrade bagit to 1.9.0
sevein Jun 12, 2025
8cb17c1
Use artefactual/gearmand:1.1.21.5-alpine
sevein Jun 19, 2025
c61af86
Use clamav/clamav-debian image
sevein Jun 23, 2025
edafd0a
Move db access logic out of the elasticSearchFunction module
replaceafill Jun 23, 2025
c1125ca
Upgrade dependencies
replaceafill Jun 23, 2025
81cb71c
Add archivematica.search package
replaceafill Jul 1, 2025
98caecb
Improve Docker build performance with caching
replaceafill Jul 7, 2025
5e9cc0d
Update JHOVE validation rules for TIFF formats
replaceafill Jun 30, 2025
2c7a905
Upgrade JHOVE to 1.34.0
replaceafill Jul 21, 2025
cbd2c72
Fix MySQL timeout error when compressing large AIPs
replaceafill Jul 22, 2025
01c6595
Update OIDC var description in README (#2086)
sbreker Jul 25, 2025
6749297
Add JHOVE validation errors to the METS file
replaceafill Aug 1, 2025
424c2b2
Add current password validation to user edit form
replaceafill Jul 30, 2025
9af013c
Fix cleanup job after SIP arrangement
replaceafill Aug 12, 2025
20b0e47
Preserve existing XML catalogs when adding local one
replaceafill Aug 8, 2025
992dc28
Upgrade dependencies
replaceafill Aug 18, 2025
d032d2f
Generate Python requirement files from pyproject.toml
replaceafill Aug 18, 2025
66fef9d
Refactor search functionality with service layer
replaceafill Aug 21, 2025
20c60bb
Upgrade Elasticsearch to 8.x
replaceafill Aug 22, 2025
f9f435c
Add application variables for cookie security
replaceafill Aug 19, 2025
eea65c6
Upgrade dependencies
replaceafill Aug 27, 2025
56514c6
Prevent UID/GID clashes more robustly in Docker builds
sevein Sep 2, 2025
c7e9cff
Update Docker images in dev services
sevein Sep 1, 2025
109b91e
Add dependabot.yml config file
sevein Sep 1, 2025
455ceac
Migrate directives in CSP settings file
replaceafill Sep 3, 2025
d42736a
Upgrade dependencies
replaceafill Sep 4, 2025
9928622
Bump the docker-compose-dev group across 1 directory with 3 updates
dependabot[bot] Sep 8, 2025
006523d
Pin GitHub Actions to specific SHAs
sevein Sep 11, 2025
872e6bc
Monitor GitHub Actions with Dependabot
sevein Sep 11, 2025
e3e9f9e
Ensure pinning of GitHub Actions
sevein Sep 11, 2025
274f7e1
Rename requirement to inotify-simple
sevein Sep 8, 2025
b6b397a
Disable Gunicorn's autoreload by default
sevein Sep 8, 2025
d52f0da
Update archivematica-storage-service git submodule
replaceafill Sep 25, 2025
145997e
Remove wiki references from README
sarah-mason Sep 26, 2025
cbb98a1
Updates to CONTRIBUTING.md file
sarah-mason Sep 26, 2025
c22c621
Update release notes for 1.18.0
replaceafill Aug 19, 2025
d04bfd3
Update archivematica-storage-service git submodule
replaceafill Sep 26, 2025
b7447dd
Pin Github actions by commit hash in build workflow
liam-lloyd Jan 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 3 additions & 2 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,10 @@
!/TRADEMARK

# Exclude
src/dashboard/frontend/node_modules
src/dashboard/src/media/js/build
src/archivematica/dashboard/frontend/node_modules
src/archivematica/dashboard/media/js/build
**/*~
**/*.log
**/node_modules
**/Thumbs.db
**/*.egg-info
10 changes: 4 additions & 6 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
*.py ident
*.sh ident
src/dashboard/frontend/app/locale/*.po linguist-generated=true
src/dashboard/frontend/app/locale/*.pot linguist-generated=true
src/dashboard/frontend/app/locale/translations.json linguist-generated=true
src/dashboard/frontend/package-lock.json linguist-generated=true
src/archivematica/dashboard/frontend/app/locale/*.po linguist-generated=true
src/archivematica/dashboard/frontend/app/locale/*.pot linguist-generated=true
src/archivematica/dashboard/frontend/app/locale/translations.json linguist-generated=true
src/archivematica/dashboard/frontend/package-lock.json linguist-generated=true
29 changes: 29 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
version: 2
updates:
- package-ecosystem: "docker-compose"
directory: "/hack"
schedule:
interval: "daily"
open-pull-requests-limit: 1
groups:
docker-compose-dev:
patterns:
- "*"
- package-ecosystem: "docker-compose"
directory: "/tests/integration"
schedule:
interval: "daily"
open-pull-requests-limit: 1
groups:
docker-compose-tests:
patterns:
- "*"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 1
groups:
github-actions:
patterns:
- "*"
8 changes: 4 additions & 4 deletions .github/workflows/acceptance-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
test:
if: "${{ github.event_name == 'workflow_dispatch' || (github.event_name == 'pull_request' && github.event.label.name == 'AMAUAT') }}"
name: "Test ${{ matrix.tag }} on ${{ matrix.browser }}"
runs-on: "ubuntu-22.04"
runs-on: "ubuntu-24.04"
strategy:
fail-fast: false
matrix:
Expand All @@ -35,12 +35,12 @@ jobs:
steps:
- name: "Check out repository"
if: "${{ github.event_name != 'workflow_dispatch' }}"
uses: "actions/checkout@v4"
uses: "actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955" # v4.3.0
with:
submodules: true
- name: "Check out repository (manually triggered)"
if: "${{ github.event_name == 'workflow_dispatch' }}"
uses: "actions/checkout@v4"
uses: "actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955" # v4.3.0
with:
ref: "${{ inputs.am_version || 'qa/1.x' }}"
submodules: true
Expand Down Expand Up @@ -83,7 +83,7 @@ jobs:
working-directory: ./hack
- name: "Upload docker logs on failure"
if: "${{ (failure() && steps.amauat-run.outcome == 'failure') || (cancelled() && steps.amauat-run.outcome == 'cancelled') }}"
uses: "actions/upload-artifact@v4"
uses: "actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02" # v4.6.2
with:
name: "docker-logs-${{ matrix.tag }}-${{ matrix.browser }}"
path: "./hack/docker-logs"
8 changes: 4 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
ARCHIVEMATICA_MCP_SERVER_IMAGE_TAG: ${{ steps.generate_mcp_server_image_tag.outputs.ARCHIVEMATICA_MCP_SERVER_IMAGE_TAG}}
ARCHIVEMATICA_MCP_CLIENT_IMAGE_TAG: ${{ steps.generate_mcp_client_image_tag.outputs.ARCHIVEMATICA_MCP_CLIENT_IMAGE_TAG}}
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd
- name: Set ECR domain env var
id: set_ecr_domain
run: echo "ECR_DOMAIN=364159549467.dkr.ecr.$AWS_REGION.amazonaws.com" >> "$GITHUB_ENV"
Expand Down Expand Up @@ -62,7 +62,7 @@ jobs:
env:
ARCHIVEMATICA_DASHBOARD_IMAGE_TAG: ${{ needs.generate_image_tags.outputs.ARCHIVEMATICA_DASHBOARD_IMAGE_TAG}}
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd
with:
repository: ${{ inputs.target_repo }}
- run: docker build -t $ARCHIVEMATICA_DASHBOARD_IMAGE_TAG --target archivematica-dashboard -f hack/Dockerfile .
Expand All @@ -81,7 +81,7 @@ jobs:
env:
ARCHIVEMATICA_MCP_SERVER_IMAGE_TAG: ${{ needs.generate_image_tags.outputs.ARCHIVEMATICA_MCP_SERVER_IMAGE_TAG}}
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd
with:
repository: ${{ inputs.target_repo }}
- run: docker build -t $ARCHIVEMATICA_MCP_SERVER_IMAGE_TAG --target archivematica-mcp-server -f hack/Dockerfile .
Expand All @@ -100,7 +100,7 @@ jobs:
env:
ARCHIVEMATICA_MCP_CLIENT_IMAGE_TAG: ${{ needs.generate_image_tags.outputs.ARCHIVEMATICA_MCP_CLIENT_IMAGE_TAG}}
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd
with:
repository: ${{ inputs.target_repo }}
- run: docker build -t $ARCHIVEMATICA_MCP_CLIENT_IMAGE_TAG --target archivematica-mcp-client -f hack/Dockerfile .
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/generate-sbom.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ jobs:
options: --entrypoint ""
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0

- name: Set up cache
uses: actions/cache@v4
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: .trivycache/
key: ${{ runner.os }}-trivy-${{ hashFiles('requirements*.txt', 'src/dashboard/frontend/package-lock.json') }}
key: ${{ runner.os }}-trivy-${{ hashFiles('requirements*.txt', 'src/archivematica/dashboard/frontend/package-lock.json') }}
restore-keys: |
${{ runner.os }}-trivy-

Expand All @@ -30,7 +30,7 @@ jobs:
TRIVY_NO_PROGRESS: "true"

- name: Upload SBOM artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: sbom
path: sbom.xml
Expand All @@ -40,7 +40,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Download SBOM artifact
uses: actions/download-artifact@v4
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with:
name: sbom

Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/oidc-integration-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
runs-on: "ubuntu-24.04"
steps:
- name: "Check out repository"
uses: "actions/checkout@v4"
uses: "actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955" # v4.3.0
- name: "Save user id"
id: user_id
run: |
Expand All @@ -18,7 +18,7 @@ jobs:
run: |
echo "group_id=$(id -g)" >> $GITHUB_OUTPUT
- name: "Set up buildx"
uses: "docker/setup-buildx-action@v3"
uses: "docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435" # v3.11.1
- name: "Run tests"
run: |
./run.sh
Expand All @@ -27,7 +27,7 @@ jobs:
env:
USER_ID: ${{ steps.user_id.outputs.user_id }}
GROUP_ID: ${{ steps.group_id.outputs.group_id }}
UBUNTU_VERSION: "22.04"
UBUNTU_VERSION: "24.04"
PYTHON_VERSION: "3.9"
COMPOSE_DOCKER_CLI_BUILD: 1
DOCKER_BUILDKIT: 1
Expand Down
32 changes: 32 additions & 0 deletions .github/workflows/push-images.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: "Push images to Docker Hub"
on: workflow_dispatch
jobs:
build:
name: "Build and push images"
runs-on: "ubuntu-24.04"
strategy:
fail-fast: false
matrix:
component:
- archivematica-dashboard
- archivematica-mcp-client
- archivematica-mcp-server
steps:
- name: "Check out repository"
uses: "actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955" # v4.3.0
- name: "Set up buildx"
uses: "docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435" # v3.11.1
- name: "Log in to Docker Hub"
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_TOKEN }}
- name: "Build and push ${{ matrix.component }}"
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
with:
context: .
push: true
load: true
file: ./hack/Dockerfile
target: ${{ matrix.component }}
tags: artefactual/${{ matrix.component }}:latest
Loading