Archivematica Playbook Test #399
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: Set the user environment as VirtualBox expects it | |
run: | | |
echo "USER=$USER" >> $GITHUB_ENV | |
echo "LOGNAME=$USER" >> $GITHUB_ENV | |
- 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: | | |
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 |