Skip to content

.github/workflows/deploy_archivematica_staging.yml #19

.github/workflows/deploy_archivematica_staging.yml

.github/workflows/deploy_archivematica_staging.yml #19

on:
workflow_dispatch:
workflow_call:
outputs:
ARCHIVEMATICA_DASHBOARD_IMAGE_TAG:
value: ${{ jobs.deploy.outputs.ARCHIVEMATICA_DASHBOARD_IMAGE_TAG }}
ARCHIVEMATICA_MCP_SERVER_IMAGE_TAG:
value: ${{ jobs.deploy.outputs.ARCHIVEMATICA_MCP_SERVER_IMAGE_TAG }}
ARCHIVEMATICA_MCP_CLIENT_IMAGE_TAG:
value: ${{ jobs.deploy.outputs.ARCHIVEMATICA_MCP_CLIENT_IMAGE_TAG }}
ARCHIVEMATICA_STORAGE_SERVICE_IMAGE_TAG:
value: ${{ jobs.deploy.outputs.ARCHIVEMATICA_STORAGE_SERVICE_IMAGE_TAG }}
jobs:
build_archivematica:
uses: PermanentOrg/archivematica/.github/workflows/build.yml@main
secrets: inherit
build_archivematica_storage_service:
uses: PermanentOrg/archivematica-storage-service/.github/workflows/build.yml@main
secrets: inherit
deploy:
runs-on: ubuntu-latest
outputs:
ARCHIVEMATICA_DASHBOARD_IMAGE_TAG: ${{ needs.build_archivematica.outputs.ARCHIVEMATICA_DASHBOARD_IMAGE_TAG }}
ARCHIVEMATICA_MCP_SERVER_IMAGE_TAG: ${{ needs.build_archivematica.outputs.ARCHIVEMATICA_MCP_SERVER_IMAGE_TAG }}
ARCHIVEMATICA_MCP_CLIENT_IMAGE_TAG: ${{ needs.build_archivematica.outputs.ARCHIVEMATICA_MCP_CLIENT_IMAGE_TAG }}
ARCHIVEMATICA_STORAGE_SERVICE_IMAGE_TAG: ${{ needs.build_archivematica_storage_service.outputs.ARCHIVEMATICA_STORAGE_SERVICE_IMAGE_TAG }}
needs:
- build_archivematica
- build_archivematica_storage_service
env:
ARCHIVEMATICA_DASHBOARD_IMAGE_TAG: ${{ needs.build_archivematica.outputs.ARCHIVEMATICA_DASHBOARD_IMAGE_TAG }}
ARCHIVEMATICA_MCP_SERVER_IMAGE_TAG: ${{ needs.build_archivematica.outputs.ARCHIVEMATICA_MCP_SERVER_IMAGE_TAG }}
ARCHIVEMATICA_MCP_CLIENT_IMAGE_TAG: ${{ needs.build_archivematica.outputs.ARCHIVEMATICA_MCP_CLIENT_IMAGE_TAG }}
ARCHIVEMATICA_STORAGE_SERVICE_IMAGE_TAG: ${{ needs.build_archivematica_storage_service.outputs.ARCHIVEMATICA_STORAGE_SERVICE_IMAGE_TAG }}
defaults:
run:
working-directory: ./archivematica/test_cluster
steps:
- uses: actions/checkout@v5
- name: Setup Terraform
uses: hashicorp/setup-terraform@v3
with:
cli_config_credentials_token: ${{ secrets.TERRAFORM_API_TOKEN }}
- name: Terraform Init
run: terraform init
- name: Terraform Validate
run: terraform validate -no-color
- name: Terraform Plan
run: |
terraform plan -no-color -input=false \
-var "image_overrides={
\"archivematica-dashboard-staging\" = \"$ARCHIVEMATICA_DASHBOARD_IMAGE_TAG\",
\"archivematica-mcp-client-staging\" = \"$ARCHIVEMATICA_MCP_CLIENT_IMAGE_TAG\",
\"archivematica-mcp-server-staging\" = \"$ARCHIVEMATICA_MCP_SERVER_IMAGE_TAG\",
\"archivematica-storage-service-staging\" = \"$ARCHIVEMATICA_STORAGE_SERVICE_IMAGE_TAG\",
}"
- name: Terraform Apply
run: |
terraform apply -auto-approve -input=false \
-var "image_overrides={
\"archivematica-dashboard-staging\" = \"$ARCHIVEMATICA_DASHBOARD_IMAGE_TAG\",
\"archivematica-mcp-client-staging\" = \"$ARCHIVEMATICA_MCP_CLIENT_IMAGE_TAG\",
\"archivematica-mcp-server-staging\" = \"$ARCHIVEMATICA_MCP_SERVER_IMAGE_TAG\",
\"archivematica-storage-service-staging\" = \"$ARCHIVEMATICA_STORAGE_SERVICE_IMAGE_TAG\",
}"