-
Notifications
You must be signed in to change notification settings - Fork 27
ACA-2437: modified CI file #179
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+48
−8
Merged
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
92d3a08
modified CI file and enhance the README
mjohns91 d7a4ce3
addressed all feedback from review, simplified the docs
mjohns91 d4e2a59
Revert README changes and update CI.md format
mjohns91 f407ec7
Update CI.md
mjohns91 bcf32f1
Update CI.md with expanded documentation and Python version compatibi…
mjohns91 235af71
linters now shows ansible-core 2.17
mjohns91 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,11 +1,51 @@ | ||
| # CI | ||
| # Continuous Integration (CI) | ||
|
|
||
| ## cloud.aws_ops Collection | ||
| ## AWS Operations Collection Testing | ||
|
|
||
| GitHub Actions are used to run the Continuous Integration for redhat-cop/cloud.aws_ops collection. The workflows used for the CI can be found [here](https://github.com/redhat-cop/cloud.aws_ops/tree/main/.github/workflows). These workflows include jobs to run the sanity tests, linters and changelog check. The following table lists the python and ansible versions against which these jobs are run. | ||
| GitHub Actions are used to run the CI for the `cloud.aws_ops` collection. The workflows used for the CI can be found in the [.github/workflows](.github/workflows) directory. | ||
|
|
||
| | Jobs | Description | Python Versions | Ansible Versions | | ||
| | ------ |-------| ------ | -----------| | ||
| | changelog |Checks for the presence of Changelog fragments | 3.9 | devel | | ||
| | Linters | Runs `ansible-lint`, `black` and `flake8` on plugins and tests | 3.8, 3.9(ansible-lint) | devel | | ||
| | Sanity | Runs ansible sanity checks | 3.8, 3.9, 3.10, 3.11 | Stable-2.12, 2.13, 2.14 (not on py 3.11), Stable-2.15+ (not on 3.8) | | ||
| ### PR Testing Workflows | ||
|
|
||
| The following tests run on every pull request: | ||
|
|
||
| | Job | Description | Python Versions | ansible-core Versions | | ||
| | --- | ----------- | --------------- | --------------------- | | ||
| | [Changelog](.github/workflows/changelog.yml) | Checks for the presence of changelog fragments | 3.12 | N/A | | ||
| | [Linters](.github/workflows/linters.yml) | Runs `black`, `flake8`, `yamllint`, and `ansible-lint` on plugins and tests | 3.10 | 2.17 | | ||
| | [Sanity](.github/workflows/sanity.yml) | Runs ansible sanity checks | See compatibility table below | devel, stable-2.17, stable-2.18, stable-2.19, stable-2.20 | | ||
| | [Integration](.github/workflows/integration.yml) | Executes integration test suites on AWS (split across 2 jobs, requires "safe to test" label) | 3.12 | milestone | | ||
|
|
||
| ### Python Version Compatibility by ansible-core Version | ||
|
|
||
| These are outlined in the collection's [tox.ini](tox.ini) file (`envlist`) and GitHub Actions workflow exclusions. | ||
|
|
||
| | ansible-core Version | Sanity Tests | | ||
| | -------------------- | ------------ | | ||
| | devel | 3.12, 3.13, 3.14 | | ||
| | stable-2.20 | 3.10, 3.11, 3.12, 3.13, 3.14 | | ||
| | stable-2.19 | 3.11, 3.12, 3.13, 3.14 | | ||
| | stable-2.18 | 3.11, 3.12, 3.13, 3.14 | | ||
| | stable-2.17 | 3.10, 3.11, 3.12, 3.14 | | ||
|
|
||
| ### Integration Test Security and "Safe to Test" Label | ||
|
|
||
| Integration tests run on real AWS infrastructure and require the "safe to test" label to prevent unauthorized resource creation and ensure security. | ||
|
|
||
| **Label Assignment:** | ||
| - **Automatically added** for PRs from users with write, maintain, or admin permissions | ||
| - **Manually added** by a maintainer for external contributors after code review | ||
|
|
||
| **Security Model:** | ||
| - Uses `pull_request_target` event (runs in base repository context) | ||
| - Prevents untrusted code from automatically accessing AWS credentials | ||
| - Label acts as an approval gate before tests consume AWS resources | ||
|
|
||
| **Test Execution:** | ||
| - Tests trigger when PRs are opened, reopened, synchronized (new commits), or when the label is added/removed | ||
| - Tests will **not run** if the label is missing | ||
| - Removing the label stops tests from running on subsequent pushes until re-added | ||
|
|
||
| **Job Organization:** | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This can be in the handbook - https://github.com/ansible-collections/cloud-content-handbook/blob/main/CI/integration_tests.md#integration-testsyaml |
||
| - Integration targets are automatically split across 2 parallel jobs | ||
| - Split is determined by `ansible_test_splitter` action based on changed files | ||
| - Each job runs the subset of tests relevant to the PR's changes | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.