adding tests and ci

pull/18/head
Cian Hatton 3 years ago
parent 58773c4c9a
commit ebd9e32bed

@ -0,0 +1,31 @@
---
name: CI
on:
push:
env:
VAULT_PASSWORD: "${{ secrets.VAULT_PASSWORD }}"
jobs:
tests:
name: Tests
runs-on: ubuntu-latest
steps:
- name: Check out the codebase.
uses: actions/checkout@v3
- name: Install test dependencies.
run: |
sudo python3 -m pip install --upgrade pip
sudo pip3 install ansible
- name: Syntax Check
run: |
ansible-playbook setup-linode.yml --syntax-check
ansible-playbook setup-homelab.yml --syntax-check
- 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
ansible-playbook setup-linode.yml
env:
ANSIBLE_FORCE_COLOR: '1'

@ -7,10 +7,7 @@ linode
[qnap] [qnap]
cianhatton@qnap cianhatton@qnap
[localhost]
localhost ansible_connection=local ansible_python_interpreter=/Users/chatton/checkouts/ansible-homelab/venv/bin/python
# BEGIN ANSIBLE MANAGED BLOCK # BEGIN ANSIBLE MANAGED BLOCK
[linode] [linode]
root@45.79.165.198 root@198.74.59.177
# END ANSIBLE MANAGED BLOCK # END ANSIBLE MANAGED BLOCK

@ -8,3 +8,7 @@ label: simple-linode
hosts: hosts:
- user: root - user: root
ip: "{{my_linode.instance.ipv4[0]}}" ip: "{{my_linode.instance.ipv4[0]}}"
# https://www.linode.com/community/questions/17190/obtain-a-list-of-image-and-plan-types-using-linode-apicli
type: g6-standard-2
region: us-east

@ -6,8 +6,8 @@
linode_v4: linode_v4:
label: "{{ label }}" label: "{{ label }}"
access_token: "{{ token }}" access_token: "{{ token }}"
type: g6-nanode-1 type: "{{ type }}"
region: us-east region: "{{ region }}"
image: linode/debian11 image: linode/debian11
root_pass: "{{ password }}" root_pass: "{{ password }}"
authorized_keys: "{{ ssh_keys }}" authorized_keys: "{{ ssh_keys }}"
@ -15,7 +15,6 @@
state: present state: present
register: my_linode register: my_linode
- name: Wait for SSH to come up - name: Wait for SSH to come up
local_action: local_action:
module: wait_for module: wait_for

@ -0,0 +1,2 @@
#!/bin/bash
echo "${VAULT_PASSWORD}"

@ -0,0 +1,6 @@
[defaults]
default_module_path=library
inventory=hosts.ini
vault_password_file=.vault-pass.sh
host_key_checking = False
enable_plugins = linode

@ -0,0 +1,6 @@
[servers:children]
linode
# BEGIN ANSIBLE MANAGED BLOCK
[linode]
# END ANSIBLE MANAGED BLOCK
Loading…
Cancel
Save