Archivematica Playbook Test #389
Workflow file for this run
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: Archivematica Playbook Test | |
on: | |
workflow_dispatch: | |
pull_request: | |
paths: | |
- "playbooks/archivematica-jammy/**" | |
push: | |
branches: | |
- "master" | |
paths: | |
- "playbooks/archivematica-jammy/**" | |
schedule: | |
- cron: "0 2 * * *" | |
jobs: | |
test: | |
name: Test Archivematica playbook | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: "Create Vagrant boxes directory" | |
run: | | |
mkdir -p /home/runner/.vagrant.d/boxes | |
- name: "Cache Vagrant boxes" | |
uses: "actions/cache@v4" | |
with: | |
path: "/home/runner/.vagrant.d/boxes" | |
key: "${{ runner.os }}-boxes" | |
- name: Install Vagrant | |
run: | | |
wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg | |
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list | |
sudo apt update && sudo apt install vagrant | |
- name: Install VirtualBox | |
run: | | |
wget -O- https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo gpg --yes --output /usr/share/keyrings/oracle-virtualbox-2016.gpg --dearmor | |
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg] https://download.virtualbox.org/virtualbox/debian $(lsb_release -cs) contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list | |
sudo apt update && sudo apt install virtualbox-7.1 | |
- name: Update vbox networks | |
run: | | |
sudo mkdir -p /etc/vbox/ | |
echo "* 192.168.168.198/24" | sudo tee -a /etc/vbox/networks.conf | |
- name: Download the Ansible roles | |
working-directory: ${{ github.workspace }}/playbooks/archivematica-jammy | |
run: | | |
ansible-galaxy install -f -p roles/ -r requirements.yml | |
- name: Create the virtual machine and provision it | |
working-directory: ${{ github.workspace }}/playbooks/archivematica-jammy | |
run: | | |
sudo mkdir -p /root/.vagrant.d | |
sudo ln -s /home/runner/.vagrant.d/boxes /root/.vagrant.d/boxes | |
sudo pip install ansible | |
sudo vagrant up | |
- name: Test AM API - Get processing configurations | |
run: | | |
test $( \ | |
curl \ | |
--silent \ | |
--header 'Authorization: ApiKey admin:this_is_the_am_api_key' \ | |
--header 'Content-Type: application/json' \ | |
'http://192.168.168.198/api/processing-configuration/' \ | |
| jq -r '.processing_configurations == ["automated", "default"]' \ | |
) == true | |
- name: Test SS API - Get pipeline count | |
run: | | |
test $( \ | |
curl \ | |
--silent \ | |
--header 'Authorization: ApiKey admin:this_is_the_ss_api_key' \ | |
--header 'Content-Type: application/json' \ | |
'http://192.168.168.198:8000/api/v2/pipeline/' \ | |
| jq -r '.meta.total_count == 1' \ | |
) == true |