Acceptance Test #661
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: "Acceptance Test" | |
on: | |
workflow_dispatch: | |
inputs: | |
am_version: | |
description: "Archivematica ref (branch, tag or SHA to checkout)" | |
default: "qa/1.x" | |
required: true | |
type: "string" | |
pull_request: | |
types: [labeled] | |
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" | |
strategy: | |
fail-fast: false | |
matrix: | |
tag: | |
- "aip-encrypt" | |
- "aip-encrypt-mirror" | |
- "black-box" | |
- "icc" | |
- "ipc preservation" | |
- "ipc access" | |
- "metadata-xml" | |
- "tcc" | |
- "tpc" | |
- "uuids-dirs" | |
browser: | |
- "Firefox" | |
- "Chrome" | |
exclude: | |
- tag: "black-box" | |
browser: Firefox | |
steps: | |
- name: "Check out repository" | |
if: "${{ github.event_name != 'workflow_dispatch' }}" | |
uses: "actions/checkout@v4" | |
with: | |
submodules: true | |
- name: "Check out repository (manually triggered)" | |
if: "${{ github.event_name == 'workflow_dispatch' }}" | |
uses: "actions/checkout@v4" | |
with: | |
ref: "${{ inputs.am_version || 'qa/1.x' }}" | |
submodules: true | |
- name: "Create external volumes" | |
run: | | |
make -C hack/ create-volumes | |
- name: "Start MySQL" | |
run: | | |
docker compose up -d mysql | |
working-directory: ./hack | |
- name: "Build images" | |
run: | | |
make -C hack/ build | |
env: | |
PYTHON_VERSION: "3.9" | |
- name: "Start services" | |
run: | | |
docker compose up -d | |
env: | |
ELASTICSEARCH_DISK_THRESHOLD_ENABLED: "false" | |
working-directory: ./hack | |
- name: "Bootstrap services" | |
run: | | |
make -C hack/ bootstrap | |
- name: "Restart services" | |
run: | | |
make -C hack/ restart-am-services | |
- name: "Run AMAUAT tag" | |
id: "amauat-run" | |
run: | | |
make -C hack/ test-at-behave TAGS="${{ matrix.tag }}" BROWSER=${{ matrix.browser }} | |
- name: "Save docker logs on failure" | |
if: "${{ (failure() && steps.amauat-run.outcome == 'failure') || (cancelled() && steps.amauat-run.outcome == 'cancelled') }}" | |
run: | | |
mkdir docker-logs | |
docker compose logs --no-log-prefix --no-color archivematica-mcp-server > docker-logs/mcp-server.log | |
docker compose logs --no-log-prefix --no-color archivematica-mcp-client > docker-logs/mcp-client.log | |
docker compose logs --no-log-prefix --no-color archivematica-dashboard > docker-logs/dashboard.log | |
docker compose logs --no-log-prefix --no-color archivematica-storage-service > docker-logs/storage-service.log | |
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" | |
with: | |
name: "docker-logs-${{ matrix.tag }}-${{ matrix.browser }}" | |
path: "./hack/docker-logs" |