mirror of
https://github.com/roles-ansible/ansible_role_restic.git
synced 2024-12-11 23:41:32 +01:00
add: github workflows (#25)
* add: galaxy action * fix var name * run galaxy on very commit * add: molecule action * add: matrix * remove travis * add editor config * beautify * add linter * ansible dir * add: tests * package ecosystem * fix filename * fix
This commit is contained in:
parent
dcc357c6fa
commit
5d1b9dc53c
13 changed files with 168 additions and 42 deletions
12
.editorconfig
Normal file
12
.editorconfig
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
end_of_line = lf
|
||||||
|
charset = utf-8
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
insert_final_newline = true
|
||||||
|
|
||||||
|
[*.md]
|
||||||
|
trim_trailing_whitespace = false
|
9
.github/dependabot.yml
vendored
Normal file
9
.github/dependabot.yml
vendored
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
---
|
||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
- package-ecosystem: github-actions
|
||||||
|
directory: "/"
|
||||||
|
schedule:
|
||||||
|
interval: "daily"
|
||||||
|
assignees:
|
||||||
|
- 'mleutenegger'
|
20
.github/workflows/galaxy.yml
vendored
Normal file
20
.github/workflows/galaxy.yml
vendored
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
name: 🌌 Galaxy import
|
||||||
|
|
||||||
|
on:
|
||||||
|
push: {}
|
||||||
|
release:
|
||||||
|
types:
|
||||||
|
- published
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
import:
|
||||||
|
name: 🚀 Galaxy Action
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: galaxy
|
||||||
|
uses: robertdebock/galaxy-action@1.0.3
|
||||||
|
with:
|
||||||
|
galaxy_api_key: ${{ secrets.GALAXY_API_KEY }}
|
54
.github/workflows/test.yml
vendored
Normal file
54
.github/workflows/test.yml
vendored
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
---
|
||||||
|
name: 🎭 Tests
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- defaults/**
|
||||||
|
- handlers/**
|
||||||
|
- meta/**
|
||||||
|
- molecule/**
|
||||||
|
- tasks/**
|
||||||
|
- templates/**
|
||||||
|
- vars/**
|
||||||
|
- .github/**
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lint:
|
||||||
|
name: 📝 Linting
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout Code
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
# Full git history is needed to get a proper list of changed files within `super-linter`
|
||||||
|
fetch-depth: 0
|
||||||
|
- name: Lint Code Base
|
||||||
|
uses: github/super-linter@v3
|
||||||
|
env:
|
||||||
|
VALIDATE_ALL_CODEBASE: false
|
||||||
|
VALIDATE_ANSIBLE: true
|
||||||
|
ANSIBLE_DIRECTORY: './'
|
||||||
|
DEFAULT_BRANCH: master
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
molecule:
|
||||||
|
name: 🧪 Molecule test
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
distro:
|
||||||
|
- centos7
|
||||||
|
- centos6
|
||||||
|
- ubuntu1804
|
||||||
|
- debian9
|
||||||
|
- debian10
|
||||||
|
steps:
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
path: "${{ github.repository }}"
|
||||||
|
- name: molecule
|
||||||
|
uses: robertdebock/molecule-action@2.6.3
|
||||||
|
env:
|
||||||
|
MOLECULE_DISTRO: ${{ matrix.distro }}
|
||||||
|
with:
|
||||||
|
image: ubuntu
|
34
.travis.yml
34
.travis.yml
|
@ -1,34 +0,0 @@
|
||||||
---
|
|
||||||
language: python
|
|
||||||
services: docker
|
|
||||||
|
|
||||||
env:
|
|
||||||
global:
|
|
||||||
- ROLE_NAME: restic
|
|
||||||
matrix:
|
|
||||||
- MOLECULE_DISTRO: centos7
|
|
||||||
- MOLECULE_DISTRO: centos6
|
|
||||||
- MOLECULE_DISTRO: ubuntu1804
|
|
||||||
- MOLECULE_DISTRO: debian9
|
|
||||||
- MOLECULE_DISTRO: debian10
|
|
||||||
|
|
||||||
install:
|
|
||||||
- pip install molecule docker
|
|
||||||
- git clone https://github.com/arillso/tests molecule/default/lint
|
|
||||||
|
|
||||||
before_script:
|
|
||||||
- cd ../
|
|
||||||
- mv ansible.$ROLE_NAME arillso.$ROLE_NAME
|
|
||||||
- cd arillso.$ROLE_NAME
|
|
||||||
|
|
||||||
script:
|
|
||||||
- molecule test
|
|
||||||
|
|
||||||
notifications:
|
|
||||||
webhooks:
|
|
||||||
urls:
|
|
||||||
- https://galaxy.ansible.com/api/v1/notifications/
|
|
||||||
on_success: always
|
|
||||||
email:
|
|
||||||
on_success: never
|
|
||||||
on_failure: always
|
|
|
@ -2,7 +2,10 @@
|
||||||
|
|
||||||
> **Beta:** This role is in beta status.
|
> **Beta:** This role is in beta status.
|
||||||
|
|
||||||
[![Build Status](https://img.shields.io/travis/arillso/ansible.restic.svg?branch=master&style=popout-square)](https://travis-ci.org/arillso/ansible.restic) [![license](https://img.shields.io/github/license/mashape/apistatus.svg?style=popout-square)](https://sbaerlo.ch/licence) [![Ansible Galaxy](https://img.shields.io/badge/ansible--galaxy-restic-blue.svg?style=popout-square)](https://galaxy.ansible.com/arillso/restic) [![Ansible Role](https://img.shields.io/ansible/role/d/42773.svg?style=popout-square)](https://galaxy.ansible.com/arillso/restic)
|
![🎭 Tests](https://github.com/arillso/ansible.restic/workflows/%F0%9F%8E%AD%20Tests/badge.svg)
|
||||||
|
[![license](https://img.shields.io/github/license/mashape/apistatus.svg?style=popout-square)](https://sbaerlo.ch/licence)
|
||||||
|
[![Ansible Galaxy](https://img.shields.io/badge/ansible--galaxy-restic-blue.svg?style=popout-square)](https://galaxy.ansible.com/arillso/restic)
|
||||||
|
[![Ansible Role](https://img.shields.io/ansible/role/d/42773.svg?style=popout-square)](https://galaxy.ansible.com/arillso/restic)
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
[Restic](https://github.com/restic/restic) is a versatile Go based backup
|
[Restic](https://github.com/restic/restic) is a versatile Go based backup
|
||||||
|
|
|
@ -3,9 +3,9 @@ dependency:
|
||||||
name: galaxy
|
name: galaxy
|
||||||
driver:
|
driver:
|
||||||
name: docker
|
name: docker
|
||||||
lint: |
|
# lint: |
|
||||||
set -e
|
# set -e
|
||||||
yamllint .
|
# yamllint .
|
||||||
platforms:
|
platforms:
|
||||||
- name: instance
|
- name: instance
|
||||||
image: 'geerlingguy/docker-${MOLECULE_DISTRO:-centos7}-ansible:latest'
|
image: 'geerlingguy/docker-${MOLECULE_DISTRO:-centos7}-ansible:latest'
|
||||||
|
@ -16,11 +16,11 @@ platforms:
|
||||||
pre_build_image: true
|
pre_build_image: true
|
||||||
provisioner:
|
provisioner:
|
||||||
name: ansible
|
name: ansible
|
||||||
lint:
|
# lint:
|
||||||
name: ansible-lint
|
# name: ansible-lint
|
||||||
playbooks:
|
playbooks:
|
||||||
converge: ${MOLECULE_PLAYBOOK:-playbook.yml}
|
converge: ${MOLECULE_PLAYBOOK:-playbook.yml}
|
||||||
scenario:
|
scenario:
|
||||||
name: default
|
name: default
|
||||||
verifier:
|
verifier:
|
||||||
name: testinfra
|
name: ansible
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
- name: Converge
|
- name: Converge
|
||||||
hosts: all
|
hosts: all
|
||||||
roles:
|
roles:
|
||||||
- role: arillso.restic
|
- role: ansible.restic
|
||||||
pre_tasks:
|
pre_tasks:
|
||||||
- name: install bzip2
|
- name: install bzip2
|
||||||
package:
|
package:
|
||||||
|
|
9
molecule/default/test_restic/tasks/main.yml
Normal file
9
molecule/default/test_restic/tasks/main.yml
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
---
|
||||||
|
- name: "include tasks for testing backup files"
|
||||||
|
include_tasks: "test_backup_files.yml"
|
||||||
|
|
||||||
|
- name: "include tasks for testing access files"
|
||||||
|
include_tasks: "test_access_files.yml"
|
||||||
|
|
||||||
|
- name: "include tasks for testing restic link"
|
||||||
|
include_tasks: "test_restic_link.yml"
|
18
molecule/default/test_restic/tasks/test_access_files.yml
Normal file
18
molecule/default/test_restic/tasks/test_access_files.yml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
---
|
||||||
|
- name: Stat test access file
|
||||||
|
stat:
|
||||||
|
path: ~/restic/access-test.sh
|
||||||
|
register: test_file
|
||||||
|
- name: Check that the test access file exists
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- test_file.stat.exists
|
||||||
|
|
||||||
|
- name: Stat test_stdin access file
|
||||||
|
stat:
|
||||||
|
path: ~/restic/access-test_stdin.sh
|
||||||
|
register: test_stdin_file
|
||||||
|
- name: Check that the test_stdin access file exists
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- test_stdin_file.stat.exists
|
18
molecule/default/test_restic/tasks/test_backup_files.yml
Normal file
18
molecule/default/test_restic/tasks/test_backup_files.yml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
---
|
||||||
|
- name: Stat test backup file
|
||||||
|
stat:
|
||||||
|
path: ~/restic/backup-test.sh
|
||||||
|
register: test_file
|
||||||
|
- name: Check that the test backup file exists
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- test_file.stat.exists
|
||||||
|
|
||||||
|
- name: Stat test_stdin backup file
|
||||||
|
stat:
|
||||||
|
path: ~/restic/backup-test_stdin.sh
|
||||||
|
register: test_stdin_file
|
||||||
|
- name: Check that the test_stdin backup file exists
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- test_stdin_file.stat.exists
|
9
molecule/default/test_restic/tasks/test_restic_link.yml
Normal file
9
molecule/default/test_restic/tasks/test_restic_link.yml
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
---
|
||||||
|
- name: Stat test restic link
|
||||||
|
stat:
|
||||||
|
path: ~/restic/restic
|
||||||
|
register: restic_link
|
||||||
|
- name: Check that the test restic link exists
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- restic_link.stat.exists
|
8
molecule/default/verify.yml
Normal file
8
molecule/default/verify.yml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
# This is an example playbook to execute Ansible tests.
|
||||||
|
- name: Verify
|
||||||
|
hosts: all
|
||||||
|
tasks:
|
||||||
|
- name: "Include test_alpha-services"
|
||||||
|
include_role:
|
||||||
|
name: "test_restic"
|
Loading…
Reference in a new issue