Skip to content

Commit

Permalink
Add tests for whether mixin output is checked-in
Browse files Browse the repository at this point in the history
With the proposed workflow mixin output is generated offline and
checked into version control for direct usage.
A test is added to check whether the generated rules and dashboards
match the checked-in version.
Additionally checks for the shellscript generating the mixins and for
the mixin test playbook from above are added.

Signed-off-by: Jan Horstmann <horstmann@osism.tech>
  • Loading branch information
janhorstmann committed Nov 7, 2024
1 parent d9ac2d0 commit b7d490a
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 0 deletions.
38 changes: 38 additions & 0 deletions .src/playbooks/mixin-ouput-ensure-git-checkin.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
- name: Run check-shell-syntax
connection: local
hosts: localhost
#hosts: all
vars:
zuul:
project:
src_dir: ../..
tasks:
- name: Build monitoring-mixin container
containers.podman.podman_image:
name: mixin-builder
path: "./{{ zuul.project.src_dir }}/.src"
build:
file: "./{{ zuul.project.src_dir }}/.src/Containerfile"
- name: Install monitoring-mixin dependencies
containers.podman.podman_container:
command: jb install
<<: &mixin_container_options
name: mixin-builder
image: localhost/mixin-builder
detach: false
volume:
- "./{{ zuul.project.src_dir }}:/srv"
rm: true
- name: Render monitoring-mixin rules / dashboards
containers.podman.podman_container:
<<: *mixin_container_options
- name: Check difference between git and generated rules / dashboards
ansible.builtin.command:
argv:
- /usr/bin/git
- diff
- --exit-code
register: git_diff
changed_when: false
failed_when: git_diff.rc != 0
19 changes: 19 additions & 0 deletions .zuul.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,32 @@
---
- job:
name: mixin-ouput-ensure-git-checkin
description: Check for differences between monitoring-mixin output and checked in rules/dashboards
run: .src/playbooks/mixin-ouput-ensure-git-checkin.yml
- project:
default-branch: main
merge-mode: squash-merge
check:
jobs:
- yamllint
- ansible-lint: &ansible-lint
files:
- ^\.src/playbooks/.*\.(yaml|yml)$
- check-shell-syntax: &check-shell-syntax
files:
- ^\.src/files/mixins.sh$
- mixin-ouput-ensure-git-checkin: &mixin-ouput-ensure-git-checkin
files:
- ^\.src/.*$
gate:
jobs:
- yamllint
- *ansible-lint
- *check-shell-syntax
- *mixin-ouput-ensure-git-checkin
periodic-daily:
jobs:
- yamllint
- *ansible-lint
- *check-shell-syntax
- *mixin-ouput-ensure-git-checkin

Check warning on line 32 in .zuul.yaml

View check run for this annotation

osism-zuul-app / osism/check

.zuul.yaml#L6-L32

expected str for dictionary value @ data['gate']['jobs'][1]['files']

0 comments on commit b7d490a

Please sign in to comment.