Skip to content
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

Update awx code #2

Merged
merged 207 commits into from
Oct 5, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
207 commits
Select commit Hold shift + click to select a range
ba99ddf
Fix PR and issue labeler job permissions (#14134)
john-westcott-iv Jun 15, 2023
fb8fadc
Add new ANSIBLE_COLLECTIONS_PATH in preparation for deprecation of pl…
Jun 20, 2023
4d5bbd7
Fixed typo in integration test for group module (#14140)
akira6592 Jun 21, 2023
900c4fd
Rename work signing private key filename (#14151)
fosterseth Jun 21, 2023
4bae961
Improve performance for awx cli export (#13182)
ArtsiomMusin Jun 21, 2023
897a19e
Add None check back to get_post_fields (#14155)
jjwatt Jun 21, 2023
fa8968b
Fix for Save on the Jobs settings page not responding (#14103)
benjdudas Jun 21, 2023
d3de884
In collection, give changed status in workflow_job_template when dest…
sean-m-sullivan Jun 21, 2023
cdd48dd
Add instance_groups on resource_list_param_keys in awx_collection (#1…
tanganellilore Jun 21, 2023
af39b2c
Rename work signing private key filename (#14156)
fosterseth Jun 21, 2023
721a200
Add --interval to launch monitor command (#14068)
Jun 22, 2023
66f14bf
Using execution_environment option in ad_hoc_command module (#14105)
akira6592 Jun 22, 2023
aa8437f
Tooling for running collection tests locally ad hoc (#14160)
AlanCoding Jun 22, 2023
255c2e4
[wsrelay] Give connection tasks time to clean up
relrod Jun 22, 2023
755e55e
Remove reference to unmaintained runner image (#14143)
AlanCoding Jun 23, 2023
6b381aa
Add example for ad_hoc_command module (#14106)
akira6592 Jun 23, 2023
c736986
Try to fix CI by adding dropped coreapi lib (#14165)
AlanCoding Jun 26, 2023
974465e
Add hashivault option as docker-compose optional container (#14161)
AlanCoding Jun 26, 2023
fe2da52
Upgrade Github actions issue labeler to fix 404 errors (#14163)
AlanCoding Jun 26, 2023
aed96fb
Use the proper queryset to filter project update events (#14166)
AlanCoding Jun 27, 2023
bd8108b
Fixed bug where a weekly rrule string without a BYDAY would result in…
mabashian Jun 28, 2023
86f6b54
add the bulk api swagger topic for API reference docs (#14181)
jainnikhil30 Jun 28, 2023
ac4ef14
Fix filter experience when assigning access to teams (#14175)
vidyanambiar Jun 29, 2023
94183d6
Enhancing vault integration
john-westcott-iv Jun 26, 2023
cc64be9
Fix spelling errors in readme of awx_collection/tools
john-westcott-iv Jun 30, 2023
989b80e
Fix selinux errors with Redis mount in dev env
shanemcd Jul 3, 2023
0f96d9a
Rename/relocate receptor crt in install bundle (#14201)
CFSNM Jul 5, 2023
3624fe2
Add combined roles/collection requirements on project sync (#14081)
john-westcott-iv Jul 5, 2023
4a34ee1
Add optional pgbouncer to dev environment (#14083)
relrod Jul 5, 2023
5e9d514
Added CSRF Origin in settings (#14062)
john-westcott-iv Jul 5, 2023
82abd18
Fix DELETE 500 KeyError due to eventless model events (#14172)
AlanCoding Jul 5, 2023
a4f808d
Schedules form - pass time prop as string. (#14206)
kialam Jul 6, 2023
8b49f91
Add settings.RECEPTOR_LOG_LEVEL, update work signing key path (#14098)
fosterseth Jul 6, 2023
cb5a8aa
Fix black pre-commit hook (#14212)
john-westcott-iv Jul 6, 2023
07e30a3
Refined release documentation (#14221)
john-westcott-iv Jul 10, 2023
b8c48f7
Restore pre-upgrade pg_notify notifcation behavior (#14222)
AlanCoding Jul 11, 2023
0edcd68
add organization column notification template list (#13998)
erezo9 Jul 12, 2023
6c5590e
HostMetricSummaryMonthly command + views + scheduled task (#13999)
slemrmartin Jul 12, 2023
efcac86
Upgrade django to 4.2.3 (#14228)
john-westcott-iv Jul 13, 2023
8cfb704
Migrate from django-redis to Django's built-in Redis caching support …
relrod Jul 13, 2023
b8ba2fe
Tell Makefile and pre-commit.sh that they are bash
relrod Jul 14, 2023
b021ad7
Allow `job_template` collection module to set verbosity to 5 (#14244)
sean-m-sullivan Jul 17, 2023
8ddc19a
Changing how associations work in awx collection (#13626)
john-westcott-iv Jul 17, 2023
48edb15
Prevent Dispatcher deadlock when Redis disappears (#14249)
relrod Jul 18, 2023
83df056
Small doc fixes for workflow and task manager (#14242)
cristianonicolai Jul 18, 2023
1d7e54b
Wrap Django RedisCache to mute exceptions (#14243)
relrod Jul 18, 2023
8e2a5ed
Require pyyaml >= 6.0.1 (#14262)
simaishi Jul 18, 2023
ea455df
Only push the production images for main repo (#14261)
AlanCoding Jul 19, 2023
fc1b74a
Remove extra data for AoC (#14254)
ZitaNemeckova Jul 19, 2023
63e82aa
Fix collection module docs for names, IDs, and named URLs (#14269)
homeski Jul 24, 2023
e7c7454
Remove host update code which can be non performant (#14233)
Jul 24, 2023
53a7b78
Updating release process doc for operator hub instructions (#13564)
john-westcott-iv Jul 24, 2023
98bfe3f
Add missing trigger for failed-to-start nodes (#13802)
AlanCoding Jul 24, 2023
852bb07
Return back chdir to project sync to support project-local roles/coll…
eric-zadara Jul 18, 2023
191a0f7
docs/execution_environments.md: add a link to EE getting started guid…
Andersson007 Jul 26, 2023
40d18e9
Explicitly turn off autocomplete for API login form (#14232)
rooftopcellist Jul 26, 2023
bd0089f
fixes docs link for controller versions >= 4.3 (#14287)
AlexSCorey Jul 26, 2023
b549ae1
Only show the product version header when the requester is authentica…
rooftopcellist Jul 26, 2023
5a63533
Added support to collection for named urls (#14205)
john-westcott-iv Jul 27, 2023
ab5cc2e
Simplifications for DependencyManager (#13533)
AlanCoding Jul 27, 2023
7838641
Fixed dependencies tag in PR labeler (#14286)
john-westcott-iv Jul 28, 2023
35a576f
Adds autoComplete attribute to forms that were missing it (#14080)
mabashian Jul 28, 2023
445d892
Drop unused django-taggit dependency (#14241)
relrod Jul 31, 2023
131dd08
fix linting (#14302)
fosterseth Aug 1, 2023
601b62d
bump python-daemon package (#14301)
fosterseth Aug 1, 2023
6d1c8de
Fix trial status and host limit with sub (#14237)
lucas-benedito Aug 2, 2023
90c3d8a
Update example service-account.yml for container group in documentati…
mcen1 Aug 2, 2023
7e4cf85
Added PR check to ensure JIRA links are present (#13839)
john-westcott-iv Aug 2, 2023
aec9a9c
Fix rbac around credential access add button (#14290)
mabashian Aug 3, 2023
9bb6786
Wait for new label IDs before setting label prompt values. (#14283)
kialam Aug 3, 2023
abc5630
Add Request time out option for collection (#14157)
sean-m-sullivan Aug 3, 2023
6f9ea18
AAP-14538 Only process ansible_facts for successful jobs (#14313)
AlanCoding Aug 4, 2023
e5a6007
fix broken link to upgrade docs. related #11313 (#14296)
onefourfive Aug 9, 2023
c2d0284
Allow importing licenses with a missing "usage" attribute (#14326)
phess Aug 9, 2023
87bb70b
Remove extra quote from Skipped task status string (#14318)
ivanilsonaraujojr Aug 9, 2023
6db663e
Modify main/0185 to set aside the json fields that might be a problem
jbradberry Aug 2, 2023
14992ce
Add in an async task to migrate the data over
jbradberry Aug 2, 2023
284bd83
Integrate scheduler into dispatcher main loop (#14067)
AlanCoding Aug 10, 2023
5cf93fe
HostMetricSummaryMonthly: Analytics export
slemrmartin May 15, 2023
2c7184f
Add a retry to update host facts on deadlocks (#14325)
AlanCoding Aug 11, 2023
8dc6cef
Fix programming error in facts retry merge (#14336)
AlanCoding Aug 11, 2023
4cd9016
make the default JOB_EVENT_BUFFER_SECONDS 1 seconds (#14335)
jainnikhil30 Aug 12, 2023
4822dd7
Revert "Improve performance for awx cli export (#13182)"
jbradberry Aug 15, 2023
bb1c155
Fixed typos (#14347)
tuxpreacher Aug 16, 2023
b8ec7c4
Schedule rruleset fix related #13446 (#13611)
KaraokeKev Aug 16, 2023
c75757b
Update python-tss-sdk dependency (#14207)
delinea-sagar Aug 16, 2023
c7f2fdb
Rename ui_next index.html to index_awx.html during build process
TheRealHaoLiu Aug 16, 2023
8e1516e
Update UI_NEXT build to set PRODUCT and PUBLIC_PATH
TheRealHaoLiu Aug 16, 2023
a89e266
Fixed task and web docs (#14350)
abwalczyk Aug 17, 2023
d832e75
Fix ui-next build step file path issue
TheRealHaoLiu Aug 17, 2023
3de8455
Fix missing trailing / in PUBLIC_PATH for UI
TheRealHaoLiu Aug 17, 2023
8c7ab8f
Added required epoc time field for Splunk HEC Event Receiver (#14246)
digitalbadger-uk Aug 21, 2023
2a1dffd
Fix edit constructed inventory hanging loading state (#14343)
marshmalien Aug 21, 2023
ec4f10d
Add location for locales in nginx config
mabashian Jul 25, 2023
4dd8231
Update cryptography for CVE-2023-38325 (#14358)
relrod Aug 23, 2023
c448b87
AAP-10891 Apply AWX_TASK_ENV when performing credential plugin lookup…
AlanCoding Aug 23, 2023
f6dd3cb
Enforce mutually exclusive options in credential module of the collec…
djdanielsson Aug 23, 2023
b55a099
Clarify that the license module requires fetching subs prior (#14351)
phess Aug 23, 2023
1faea02
Fix default redis url to pass check in redis-py>4.4 (#14344)
ChandlerSwift Aug 25, 2023
b209bc6
Fix typo in description of scm_update_on_launch (#14382)
bxbrenden Aug 28, 2023
ffa5986
Fix CVE-2023-40267 (#14388)
TheRealHaoLiu Aug 28, 2023
db1af57
Revert "Adding PR check to ensure JIRA links are present"
AlanCoding Aug 28, 2023
4fbdc41
Restrict PR body check to just AWX repo
AlanCoding Aug 28, 2023
d8abd49
Add support in hop nodes in API
fosterseth Apr 20, 2023
f7fdb7f
Add peers readonly api and instancelink constraint (#13916)
tanganellilore Apr 26, 2023
6834568
Add receptor host identifier to group_vars
fosterseth May 10, 2023
9cad45f
Prevent manual peering of control plane nodes to hop node (#13966)
djyasin May 25, 2023
148111a
Remove task that enables COPR receptor repo (#14088)
fosterseth Jun 5, 2023
40fca6d
[hop_node] Validate listener_port is defined for peers (#14056)
thedoubl3j Jun 12, 2023
3eda1ed
Migration file to set peers_from_control_ nodes to true for existing …
djyasin Jun 12, 2023
0c41abe
Make peers field optional
fosterseth Jun 13, 2023
8f8462b
Marked hop node validation errors for translation (#14116)
djyasin Jun 14, 2023
80df31f
[hop node] update peer validation logic (#14132)
thedoubl3j Jun 15, 2023
2a51f23
Add functional API tests
fosterseth Jun 20, 2023
54894c1
Hop node AWX Collection Updates (#14153)
djyasin Jun 30, 2023
2e3e6cb
hop node migration file updates(#14196)
djyasin Jul 10, 2023
6c3bbfc
Looking to see if revising the path in the static dir resolves failin…
djyasin Jul 10, 2023
d15405e
Add peers_from for reverse peers M2M
fosterseth Jul 11, 2023
6833976
[hop node] fix failing ci checks on feature_hop-node branch (#14226)
djyasin Jul 13, 2023
906f8a1
[hop node] documentation update in execution_nodes for hop nodes (#14…
thedoubl3j Jul 17, 2023
ed2a59c
receptor python packages
fosterseth Jul 18, 2023
fdb359a
feature hop node topology updates (#14142)
kialam Jul 20, 2023
7169c75
receptor_python_packages renamed
fosterseth Jul 20, 2023
3bd25c6
Allow setting ip_address for execution nodes
fosterseth Jul 28, 2023
e41ad82
optional listener port UI (#14300)
fosterseth Jul 31, 2023
b9ea114
Remove duplicate install bundle on InstanceDetail
fosterseth Aug 1, 2023
532e71f
Remove extra newlines in install bundle all.yml
fosterseth Aug 1, 2023
855f61a
Bump migration number 186 to 187
fosterseth Aug 1, 2023
2bf6512
Do not change link state if Removing
fosterseth Aug 1, 2023
eb00582
Revert "Remove duplicate install bundle on InstanceDetail"
fosterseth Aug 1, 2023
ad96a72
Remove duplicate install bundle on InstanceDetail
fosterseth Aug 1, 2023
3e82025
Remove Disconnected link state
fosterseth Aug 4, 2023
81e06da
Add listener_port to provision_instance
fosterseth Aug 8, 2023
70ba32b
Do not install ansible-runner or podman on hop nodes
fosterseth Aug 8, 2023
c47acc5
Change PeersSerializer to SlugRelatedField
fosterseth Aug 9, 2023
2a0be89
Fix detecting if peers changed in serializer
fosterseth Aug 9, 2023
4413363
Ensure ip_address is empty string
fosterseth Aug 9, 2023
eba130c
Change username to <username> in inventory
fosterseth Aug 11, 2023
9651276
Make ip_address read only
fosterseth Aug 17, 2023
470ecc4
Use itertools product instead of nested loop
fosterseth Aug 21, 2023
0577e1e
Setup receptor after podman
fosterseth Aug 22, 2023
1d3b2f5
No longer assert on receptor_host_identifier
fosterseth Aug 23, 2023
fa0e0b2
Removed unused variable in test_instance_peers
fosterseth Aug 23, 2023
0a87bf1
Apply JS formatting from npm prettier
fosterseth Aug 23, 2023
4858132
Add toast and delete modal messaging when removing/adding peers. (#14…
kialam Aug 23, 2023
40be2e7
Use receptor-collection devel
fosterseth Aug 24, 2023
eb33973
Use receptor collection 2.0.0
fosterseth Aug 28, 2023
c9190eb
docs: update execution_nodes.md to follow changes for receptor_collec…
kurokobo Jul 19, 2023
951bd1c
Re-run the updater script after upstream removal of future (#14265)
AlanCoding Aug 29, 2023
5ce2055
update collection workflow example and tests
sean-m-sullivan Aug 27, 2023
660dab4
HostMetrics: Hard auto-cleanup (#14255)
slemrmartin Aug 30, 2023
224e9e0
[DOCS] tools/docker-compose/README.md: add way to solve postgresql is…
Andersson007 Aug 30, 2023
cf1e448
Fix undefined property error when task is of type yum/debug and was s…
ivanilsonaraujojr Aug 30, 2023
cdb4f0b
Consume `job_explanation` from runner, fix error reporting error (#13…
AlanCoding Aug 30, 2023
5e105c2
[CI] Update GHA actions to sate some warnings emitted by test infrast…
relrod Aug 31, 2023
1bb4240
Allow saml_admin_attr to work in conjunction with SAML Org Map (#14285)
john-westcott-iv Aug 31, 2023
ab3ceae
Remove extra scheduler state save that does nothing (#14396)
AlanCoding Aug 31, 2023
dc81aa4
Create AWX docsite with RST content (#14328)
oraNod Sep 1, 2023
6ce5799
Incorrect capacity for remote execution nodes 14051 (#14315)
djyasin Sep 5, 2023
20fc7c7
Add check for building docsite (#14406)
AlanCoding Sep 5, 2023
5733f78
Add readthedocs configuration (#14413)
oraNod Sep 5, 2023
4466976
Added relnotes for 23.0.0 (#14409)
tvo318 Sep 5, 2023
d03a6a8
Enable collection integration tests on GHA
relrod Aug 31, 2023
b95d521
Update missing inventory error message (#14416)
marshmalien Sep 6, 2023
ec579fd
Fix collection metadata license to match intent
AlanCoding Aug 31, 2023
e072bb7
Declare license for unique module that uses BSD-2
AlanCoding Sep 5, 2023
6df1de4
Avoid activity stream entries for instance going offline (#14385)
AlanCoding Sep 6, 2023
09168e5
Edit docker-compose instructions for correctness (#14418)
AlanCoding Sep 6, 2023
a28bc2e
bump babel dependencies (#14370)
keithjgrant Sep 6, 2023
63223a2
allow list for example secrets in docs
oraNod Sep 4, 2023
deef866
rebuild package-lock (#14423)
keithjgrant Sep 6, 2023
3eaea39
Add base64 check on JWT from authn
infamousjoeg Aug 28, 2023
480aaea
Prevent the user from launching multiple jobs by rapidly clicking on …
mabashian Sep 2, 2023
56230ba
Show a toast when the job is already in the process of launching
mabashian Sep 6, 2023
8feeb5f
Allow saving github creds in user folder (#14435)
AlanCoding Sep 12, 2023
49832d6
don't pass the 'organization' or other fields to the search of the in…
ivarmu Sep 14, 2023
7b0598c
Continue workflow steps to save logs from failed tests (#14448)
AlanCoding Sep 14, 2023
aa3228e
Fix continue-on-error GH actions bug, always run archive step instead
AlanCoding Sep 14, 2023
3b8e662
Remove conditional paths due to conflict with required checks (#14450)
AlanCoding Sep 14, 2023
9d7421b
Update README (#14452)
jessicamack Sep 14, 2023
77e30dd
Add link to script for publishing operator on OperatorHub (#14442)
rooftopcellist Sep 15, 2023
194c214
userguide/execution_environments.rst: replace building paragraphs wit…
Andersson007 Sep 15, 2023
f7a2de8
Contributor guide and adjusted titles (#14447)
oraNod Sep 18, 2023
7b846e1
Add makefile target to load dev image into Kind (#13775)
TheRealHaoLiu Sep 19, 2023
1f91773
Simplify docs string base generation
mabashian Sep 15, 2023
6d3c22e
Update how to get involved with matrix and forum (#14472)
TheRealHaoLiu Sep 20, 2023
a290b08
Use ldap container hostname for LDAP config (#14473)
TheRealHaoLiu Sep 21, 2023
c9d1a4d
Added release notes for version 23.1.0 (#14471)
tvo318 Sep 21, 2023
3e607f8
AAP-15927 Use ATTACH PARTITION to avoid exclusive table lock for even…
AlanCoding Sep 21, 2023
29ad6e1
Fix bug, None was used instead of empty for DB outage (#14463)
AlanCoding Sep 21, 2023
9ed527e
Consolidate image and server setup in several checks (#14477)
AlanCoding Sep 25, 2023
640e5db
Removed references of IRC and fixed formatting in "Work Items" sectio…
tvo318 Sep 25, 2023
159dd62
Add null value handling in create_partition (#14480)
AlanCoding Sep 25, 2023
770cc10
Get rid of names_digest hack no longer needed (#14459)
AlanCoding Sep 26, 2023
a0d4515
Explicitly set collection version during promotion (#14484)
TheRealHaoLiu Sep 26, 2023
a88e479
Update django version to address CVE-2023-41164 (#14460)
TheRealHaoLiu Sep 27, 2023
bb3acbb
Debug log for scheduler commit duration (#14035)
TheRealHaoLiu Sep 27, 2023
6e06a20
add subscription usage page
skochay330 Aug 31, 2023
15925f1
Simplified release notes for AWX (#14485)
tvo318 Sep 27, 2023
1d340c5
Add a section for postgres max_connections value (#14482)
AlanCoding Sep 28, 2023
0558270
fix: make type conversions work correctly (related #14487) (#14489)
kurokobo Sep 30, 2023
f5922f7
DROP unnecessary unpartioned event tables (#14055)
AlanCoding Oct 3, 2023
3c8f71e
Fixed wrong arguments order in DomainPasswordGrantAuthorizer (#14441)
Laskya Oct 3, 2023
b1b960f
Updated Forum terminology and removed mailing list (#14491)
tvo318 Oct 3, 2023
05b58c4
Fix : #14490 Fixed the required spelling errors (#14507)
maskboyAvi Oct 3, 2023
9d60b0b
Fix #12815 Direct links to AWX do not reroute the user after authenti…
Sasa993 Oct 3, 2023
e72e9f9
Fix collection test flake due to successful canceled command (#14519)
AlanCoding Oct 4, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
28 changes: 28 additions & 0 deletions .github/actions/awx_devel_image/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Setup images for AWX
description: Builds new awx_devel image
inputs:
github-token:
description: GitHub Token for registry access
required: true
runs:
using: composite
steps:
- name: Get python version from Makefile
shell: bash
run: echo py_version=`make PYTHON_VERSION` >> $GITHUB_ENV

- name: Log in to registry
shell: bash
run: |
echo "${{ inputs.github-token }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin

- name: Pre-pull latest devel image to warm cache
shell: bash
run: docker pull ghcr.io/${{ github.repository_owner }}/awx_devel:${{ github.base_ref }}

- name: Build image for current source checkout
shell: bash
run: |
DEV_DOCKER_TAG_BASE=ghcr.io/${{ github.repository_owner }} \
COMPOSE_TAG=${{ github.base_ref }} \
make docker-compose-build
73 changes: 73 additions & 0 deletions .github/actions/run_awx_devel/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: Run AWX docker-compose
description: Runs AWX with `make docker-compose`
inputs:
github-token:
description: GitHub Token to pass to awx_devel_image
required: true
build-ui:
description: Should the UI be built?
required: false
default: false
type: boolean
outputs:
ip:
description: The IP of the tools_awx_1 container
value: ${{ steps.data.outputs.ip }}
admin-token:
description: OAuth token for admin user
value: ${{ steps.data.outputs.admin_token }}
runs:
using: composite
steps:
- name: Build awx_devel image for running checks
uses: ./.github/actions/awx_devel_image
with:
github-token: ${{ inputs.github-token }}

- name: Upgrade ansible-core
shell: bash
run: python3 -m pip install --upgrade ansible-core

- name: Install system deps
shell: bash
run: sudo apt-get install -y gettext

- name: Start AWX
shell: bash
run: |
DEV_DOCKER_TAG_BASE=ghcr.io/${{ github.repository_owner }} \
COMPOSE_TAG=${{ github.base_ref }} \
COMPOSE_UP_OPTS="-d" \
make docker-compose

- name: Update default AWX password
shell: bash
run: |
while [[ "$(curl -s -o /dev/null -w ''%{http_code}'' -k https://localhost:8043/api/v2/ping/)" != "200" ]]
do
echo "Waiting for AWX..."
sleep 5
done
echo "AWX is up, updating the password..."
docker exec -i tools_awx_1 sh <<-EOSH
awx-manage update_password --username=admin --password=password
EOSH

- name: Build UI
# This must be a string comparison in composite actions:
# https://github.com/actions/runner/issues/2238
if: ${{ inputs.build-ui == 'true' }}
shell: bash
run: |
docker exec -i tools_awx_1 sh <<-EOSH
make ui-devel
EOSH

- name: Get instance data
id: data
shell: bash
run: |
AWX_IP=$(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' tools_awx_1)
ADMIN_TOKEN=$(docker exec -i tools_awx_1 awx-manage create_oauth2_token --user admin)
echo "ip=$AWX_IP" >> $GITHUB_OUTPUT
echo "admin_token=$ADMIN_TOKEN" >> $GITHUB_OUTPUT
19 changes: 19 additions & 0 deletions .github/actions/upload_awx_devel_logs/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Upload logs
description: Upload logs from `make docker-compose` devel environment to GitHub as an artifact
inputs:
log-filename:
description: "*Unique* name of the log file"
required: true
runs:
using: composite
steps:
- name: Get AWX logs
shell: bash
run: |
docker logs tools_awx_1 > ${{ inputs.log-filename }}

- name: Upload AWX logs as artifact
uses: actions/upload-artifact@v3
with:
name: docker-compose-logs
path: ${{ inputs.log-filename }}
4 changes: 2 additions & 2 deletions .github/pr_labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,5 @@

"dependencies":
- any: ["awx/ui/package.json"]
- any: ["awx/requirements/*.txt"]
- any: ["awx/requirements/requirements.in"]
- any: ["requirements/*.txt"]
- any: ["requirements/requirements.in"]
161 changes: 153 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,29 +35,40 @@ jobs:
- name: ui-test-general
command: make ui-test-general
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- name: Build awx_devel image for running checks
uses: ./.github/actions/awx_devel_image
with:
github-token: ${{ secrets.GITHUB_TOKEN }}

- name: Run check ${{ matrix.tests.name }}
run: AWX_DOCKER_CMD='${{ matrix.tests.command }}' make github_ci_runner
run: AWX_DOCKER_CMD='${{ matrix.tests.command }}' make docker-runner

dev-env:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- uses: ./.github/actions/run_awx_devel
id: awx
with:
build-ui: false
github-token: ${{ secrets.GITHUB_TOKEN }}

- name: Run smoke test
run: make github_ci_setup && ansible-playbook tools/docker-compose/ansible/smoke-test.yml -v
run: ansible-playbook tools/docker-compose/ansible/smoke-test.yml -v

awx-operator:
runs-on: ubuntu-latest
steps:
- name: Checkout awx
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
path: awx

- name: Checkout awx-operator
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
repository: ansible/awx-operator
path: awx-operator
Expand All @@ -67,7 +78,7 @@ jobs:
run: echo py_version=`make PYTHON_VERSION` >> $GITHUB_ENV

- name: Install python ${{ env.py_version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ env.py_version }}

Expand Down Expand Up @@ -102,7 +113,7 @@ jobs:
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

# The containers that GitHub Actions use have Ansible installed, so upgrade to make sure we have the latest version.
- name: Upgrade ansible-core
Expand All @@ -114,3 +125,137 @@ jobs:
# needed due to cgroupsv2. This is fixed, but a stable release
# with the fix has not been made yet.
ANSIBLE_TEST_PREFER_PODMAN: 1

collection-integration:
name: awx_collection integration
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
target-regex:
- name: a-h
regex: ^[a-h]
- name: i-p
regex: ^[i-p]
- name: r-z0-9
regex: ^[r-z0-9]
steps:
- uses: actions/checkout@v3

- uses: ./.github/actions/run_awx_devel
id: awx
with:
build-ui: false
github-token: ${{ secrets.GITHUB_TOKEN }}

- name: Install dependencies for running tests
run: |
python3 -m pip install -e ./awxkit/
python3 -m pip install -r awx_collection/requirements.txt

- name: Run integration tests
run: |
echo "::remove-matcher owner=python::" # Disable annoying annotations from setup-python
echo '[general]' > ~/.tower_cli.cfg
echo 'host = https://${{ steps.awx.outputs.ip }}:8043' >> ~/.tower_cli.cfg
echo 'oauth_token = ${{ steps.awx.outputs.admin-token }}' >> ~/.tower_cli.cfg
echo 'verify_ssl = false' >> ~/.tower_cli.cfg
TARGETS="$(ls awx_collection/tests/integration/targets | grep '${{ matrix.target-regex.regex }}' | tr '\n' ' ')"
make COLLECTION_VERSION=100.100.100-git COLLECTION_TEST_TARGET="--coverage --requirements $TARGETS" test_collection_integration
env:
ANSIBLE_TEST_PREFER_PODMAN: 1

# Upload coverage report as artifact
- uses: actions/upload-artifact@v3
if: always()
with:
name: coverage-${{ matrix.target-regex.name }}
path: ~/.ansible/collections/ansible_collections/awx/awx/tests/output/coverage/

- uses: ./.github/actions/upload_awx_devel_logs
if: always()
with:
log-filename: collection-integration-${{ matrix.target-regex.name }}.log

collection-integration-coverage-combine:
name: combine awx_collection integration coverage
runs-on: ubuntu-latest
needs:
- collection-integration
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v3

- name: Upgrade ansible-core
run: python3 -m pip install --upgrade ansible-core

- name: Download coverage artifacts
uses: actions/download-artifact@v3
with:
path: coverage

- name: Combine coverage
run: |
make COLLECTION_VERSION=100.100.100-git install_collection
mkdir -p ~/.ansible/collections/ansible_collections/awx/awx/tests/output/coverage
cd coverage
for i in coverage-*; do
cp -rv $i/* ~/.ansible/collections/ansible_collections/awx/awx/tests/output/coverage/
done
cd ~/.ansible/collections/ansible_collections/awx/awx
ansible-test coverage combine --requirements
ansible-test coverage html
echo '## AWX Collection Integration Coverage' >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
ansible-test coverage report >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
echo >> $GITHUB_STEP_SUMMARY
echo '## AWX Collection Integration Coverage HTML' >> $GITHUB_STEP_SUMMARY
echo 'Download the HTML artifacts to view the coverage report.' >> $GITHUB_STEP_SUMMARY

# This is a huge hack, there's no official action for removing artifacts currently.
# Also ACTIONS_RUNTIME_URL and ACTIONS_RUNTIME_TOKEN aren't available in normal run
# steps, so we have to use github-script to get them.
#
# The advantage of doing this, though, is that we save on artifact storage space.

- name: Get secret artifact runtime URL
uses: actions/github-script@v6
id: get-runtime-url
with:
result-encoding: string
script: |
const { ACTIONS_RUNTIME_URL } = process.env;
return ACTIONS_RUNTIME_URL;

- name: Get secret artifact runtime token
uses: actions/github-script@v6
id: get-runtime-token
with:
result-encoding: string
script: |
const { ACTIONS_RUNTIME_TOKEN } = process.env;
return ACTIONS_RUNTIME_TOKEN;

- name: Remove intermediary artifacts
env:
ACTIONS_RUNTIME_URL: ${{ steps.get-runtime-url.outputs.result }}
ACTIONS_RUNTIME_TOKEN: ${{ steps.get-runtime-token.outputs.result }}
run: |
echo "::add-mask::${ACTIONS_RUNTIME_TOKEN}"
artifacts=$(
curl -H "Authorization: Bearer $ACTIONS_RUNTIME_TOKEN" \
${ACTIONS_RUNTIME_URL}_apis/pipelines/workflows/${{ github.run_id }}/artifacts?api-version=6.0-preview \
| jq -r '.value | .[] | select(.name | startswith("coverage-")) | .url'
)

for artifact in $artifacts; do
curl -i -X DELETE -H "Accept: application/json;api-version=6.0-preview" -H "Authorization: Bearer $ACTIONS_RUNTIME_TOKEN" "$artifact"
done

- name: Upload coverage report as artifact
uses: actions/upload-artifact@v3
with:
name: awx-collection-integration-coverage-html
path: ~/.ansible/collections/ansible_collections/awx/awx/tests/output/reports/coverage
11 changes: 7 additions & 4 deletions .github/workflows/devel_images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
packages: write
contents: read
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- name: Get python version from Makefile
run: echo py_version=`make PYTHON_VERSION` >> $GITHUB_ENV
Expand All @@ -28,7 +28,7 @@ jobs:
OWNER: '${{ github.repository_owner }}'

- name: Install python ${{ env.py_version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ env.py_version }}

Expand All @@ -48,8 +48,11 @@ jobs:
DEV_DOCKER_TAG_BASE=ghcr.io/${OWNER_LC} COMPOSE_TAG=${GITHUB_REF##*/} make awx-kube-dev-build
DEV_DOCKER_TAG_BASE=ghcr.io/${OWNER_LC} COMPOSE_TAG=${GITHUB_REF##*/} make awx-kube-build

- name: Push image
- name: Push development images
run: |
docker push ghcr.io/${OWNER_LC}/awx_devel:${GITHUB_REF##*/}
docker push ghcr.io/${OWNER_LC}/awx_kube_devel:${GITHUB_REF##*/}
docker push ghcr.io/${OWNER_LC}/awx:${GITHUB_REF##*/}

- name: Push AWX k8s image, only for upstream and feature branches
run: docker push ghcr.io/${OWNER_LC}/awx:${GITHUB_REF##*/}
if: endsWith(github.repository, '/awx')
16 changes: 16 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
name: Docsite CI
on:
pull_request:
jobs:
docsite-build:
name: docsite test build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- name: install tox
run: pip install tox

- name: Assure docs can be built
run: tox -e docs
Loading
Loading