You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.5 KiB
YAML
58 lines
1.5 KiB
YAML
---
|
|
name: CI
|
|
on:
|
|
push:
|
|
|
|
env:
|
|
VAULT_PASSWORD: "${{ secrets.VAULT_PASSWORD }}"
|
|
SSH_PUB: "${{ secrets.SSH_PUB }}"
|
|
|
|
jobs:
|
|
tests:
|
|
name: Tests
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Create SSH pub
|
|
run: |
|
|
echo "creating ~/.ssh/id_rsa.pub file"
|
|
mkdir -p ~/.ssh/
|
|
echo "$SSH_PUB" > ~/.ssh/id_rsa.pub
|
|
- name: Install SSH key
|
|
uses: shimataro/ssh-key-action@v2
|
|
with:
|
|
key: ${{ secrets.SSH_KEY }}
|
|
known_hosts: ${{ secrets.KNOWN_HOSTS }}
|
|
- name: Check out the codebase.
|
|
uses: actions/checkout@v3
|
|
- name: Prepare Test Files
|
|
run: |
|
|
mv tests/.vault-pass.sh ./.vault-pass.sh
|
|
mv tests/ansible.cfg ./ansible.cfg
|
|
mv tests/hosts.ini ./hosts.ini
|
|
- uses: actions/setup-python@v4
|
|
with:
|
|
python-version: 3.8.9
|
|
|
|
- name: Install test dependencies.
|
|
run: |
|
|
pip install -r requirements.txt
|
|
- name: Syntax Check
|
|
run: |
|
|
ansible-playbook setup-linode.yml --syntax-check
|
|
ansible-playbook setup-homelab.yml --syntax-check
|
|
- name: Setup Linode Instance
|
|
run: |
|
|
ansible-playbook setup-linode.yml
|
|
env:
|
|
ANSIBLE_FORCE_COLOR: '1'
|
|
- name: Setup Home Lab
|
|
run: |
|
|
ansible-playbook setup-homelab.yml
|
|
env:
|
|
ANSIBLE_FORCE_COLOR: '1'
|
|
- name: Verify Home Lab
|
|
run: |
|
|
ansible-playbook verify-homelab.yml
|
|
env:
|
|
ANSIBLE_FORCE_COLOR: '1'
|