summaryrefslogtreecommitdiffstats
path: root/ansible_collections/community/skydive/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to 'ansible_collections/community/skydive/.github/workflows')
-rw-r--r--ansible_collections/community/skydive/.github/workflows/ansible-test.yml179
1 files changed, 179 insertions, 0 deletions
diff --git a/ansible_collections/community/skydive/.github/workflows/ansible-test.yml b/ansible_collections/community/skydive/.github/workflows/ansible-test.yml
new file mode 100644
index 000000000..76923befb
--- /dev/null
+++ b/ansible_collections/community/skydive/.github/workflows/ansible-test.yml
@@ -0,0 +1,179 @@
+name: CI
+on:
+# Run CI against all pushes (direct commits) and Pull Requests
+- push
+- pull_request
+
+jobs:
+
+###
+# Sanity tests (REQUIRED)
+#
+# https://docs.ansible.com/ansible/latest/dev_guide/testing_sanity.html
+
+ sanity:
+ name: Sanity (Ⓐ${{ matrix.ansible }})
+ strategy:
+ matrix:
+ ansible:
+ # It's important that Sanity is tested against all stable-X.Y branches
+ # Testing against `devel` may fail as new tests are added.
+ - stable-2.9 # Only if your collection supports Ansible 2.9
+ - stable-2.10
+ - devel
+ runs-on: ubuntu-latest
+ steps:
+
+ # ansible-test requires the collection to be in a directory in the form
+ # .../ansible_collections/community/skydive/
+
+ - name: Check out code
+ uses: actions/checkout@v2
+ with:
+ path: ansible_collections/community/skydive
+
+ - name: Set up Python
+ uses: actions/setup-python@v2
+ with:
+ # it is just required to run that once as "ansible-test sanity" in the docker image
+ # will run on all python versions it supports.
+ python-version: 3.8
+
+ # Install the head of the given branch (devel, stable-2.10)
+ - name: Install ansible-base (${{ matrix.ansible }})
+ run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible }}.tar.gz --disable-pip-version-check
+
+ # run ansible-test sanity inside of Docker.
+ # The docker container has all the pinned dependencies that are required
+ # and all python versions ansible supports.
+ - name: Run sanity tests
+ run: ansible-test sanity --docker -v --color
+ working-directory: ./ansible_collections/community/skydive
+
+####
+## Unit tests (OPTIONAL)
+##
+## https://docs.ansible.com/ansible/latest/dev_guide/testing_units.html
+#
+# units:
+# runs-on: ubuntu-latest
+# name: Units (Ⓐ${{ matrix.ansible }}+py${{ matrix.python }})
+# strategy:
+# # As soon as the first unit test fails, cancel the others to free up the CI queue
+# fail-fast: true
+# matrix:
+# ansible:
+# # - stable-2.9 # Only if your collection supports Ansible 2.9
+# - stable-2.10
+# - devel
+# python:
+# - 2.6
+# - 2.7
+# - 3.5
+# - 3.6
+# - 3.7
+# - 3.8
+# - 3.9
+# exclude:
+# - ansible: stable-2.9
+# python: 3.9
+#
+# steps:
+# - name: Check out code
+# uses: actions/checkout@v2
+# with:
+# path: ansible_collections/community/skydive
+#
+# - name: Set up Python ${{ matrix.ansible }}
+# uses: actions/setup-python@v2
+# with:
+# python-version: ${{ matrix.python }}
+#
+# - name: Install ansible-base (${{ matrix.ansible }})
+# run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible }}.tar.gz --disable-pip-version-check
+#
+# # OPTIONAL If your unit test requires Python libraries from other collections
+# # Install them like this
+# - name: Install collection dependencies
+# run: ansible-galaxy collection install ansible.netcommon -p .
+#
+# # Run the unit tests
+# - name: Run unit test
+# run: ansible-test units -v --color --python ${{ matrix.python }} --docker --coverage
+# working-directory: ./ansible_collections/community/skydive
+#
+# # ansible-test support producing code coverage date
+# - name: Generate coverage report
+# run: ansible-test coverage xml -v --requirements --group-by command --group-by version
+# working-directory: ./ansible_collections/community/skydive
+#
+# # See the reports at https://codecov.io/gh/ansible_collections/GITHUBORG/REPONAME
+# - uses: codecov/codecov-action@v1
+# with:
+# fail_ci_if_error: false
+
+####
+## Integration tests (RECOMMENDED)
+##
+## https://docs.ansible.com/ansible/latest/dev_guide/testing_integration.html
+#
+#
+## If the application you are testing is available as a docker container and you want to test
+## multiple versions see the following for an example:
+## https://github.com/ansible-collections/community.zabbix/tree/master/.github/workflows
+#
+# integration:
+# runs-on: ubuntu-latest
+# name: I (Ⓐ${{ matrix.ansible }}+py${{ matrix.python }}})
+# strategy:
+# fail-fast: false
+# matrix:
+# ansible:
+# # - stable-2.9 # Only if your collection supports Ansible 2.9
+# - stable-2.10
+# - devel
+# python:
+# - 2.6
+# - 2.7
+# - 3.5
+# - 3.6
+# - 3.7
+# - 3.8
+# - 3.9
+# exclude:
+# - ansible: stable-2.9
+# python: 3.9
+#
+# steps:
+# - name: Check out code
+# uses: actions/checkout@v2
+# with:
+# path: ansible_collections/community/skydive
+#
+# - name: Set up Python ${{ matrix.ansible }}
+# uses: actions/setup-python@v2
+# with:
+# python-version: ${{ matrix.python }}
+#
+# - name: Install ansible-base (${{ matrix.ansible }})
+# run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible }}.tar.gz --disable-pip-version-check
+#
+# # OPTIONAL If your integration test requires Python libraries or modules from other collections
+# # Install them like this
+# - name: Install collection dependencies
+# run: ansible-galaxy collection install ansible.netcommon -p .
+#
+# # Run the integration tests
+# - name: Run integration test
+# run: ansible-test integration -v --color --retry-on-error --continue-on-error --diff --python ${{ matrix.python }} --docker --coverage
+# working-directory: ./ansible_collections/community/skydive
+#
+# # ansible-test support producing code coverage date
+# - name: Generate coverage report
+# run: ansible-test coverage xml -v --requirements --group-by command --group-by version
+# working-directory: ./ansible_collections/community/skydive
+#
+# # See the reports at https://codecov.io/gh/ansible_collections/GITHUBORG/REPONAME
+# - uses: codecov/codecov-action@v1
+# with:
+# fail_ci_if_error: false