Summary
Testing the Ansible collection should follow the CI practices we have in other integration repositories. There are clearly defined steps for testing the collection, but we're still relying on manually running the tests locally.
Use cases
- CI testing parity with our other integrations
- Test a wider set of Ansible & Python versions without maintaining multiple pyenvs & virtualenvs on developer machines
- Improve confidence in changes and make it easier to review community contributions
Proposed solution
I suggest the approach taken by icinga-director collection to run their sanity and integration tests. They define multiple Python and Ansible-core versions and let the GitHub action take care of setup and teardown.
Integration tests present a different obstacle. We would need to test Connect against a 1Password testing environment to get useful results. I believe the Connect Helm-Chart or K8s operator run an integration suite with an account in a test environment. Perhaps we can do something similar?
Then running the Connect service should be doable with a GitHub Action service container.
- However, there are some issues with running Connect as a GHA service
Is there a workaround to accomplish this today?
We could continue testing manually, but that's not something we should encourage.
References & Prior Work
Summary
Testing the Ansible collection should follow the CI practices we have in other integration repositories. There are clearly defined steps for testing the collection, but we're still relying on manually running the tests locally.
Use cases
Proposed solution
I suggest the approach taken by icinga-director collection to run their
sanityandintegrationtests. They define multiple Python and Ansible-core versions and let the GitHub action take care of setup and teardown.Integration tests present a different obstacle. We would need to test Connect against a 1Password testing environment to get useful results. I believe the Connect Helm-Chart or K8s operator run an integration suite with an account in a test environment. Perhaps we can do something similar?
Then running the Connect service should be doable with a GitHub Action service container.
Is there a workaround to accomplish this today?
We could continue testing manually, but that's not something we should encourage.
References & Prior Work
The LaunchDarkly Ansible Collection also runs tests with GitHub actions
T-Systems/MMS/ansible-collection-incinga-director