Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2087 commits
Select commit Hold shift + click to select a range
2c96c48
feat: Add ORG_ADMINS_CAN_SEE_ALL_USERS and MANAGE_ORGANIZATION_AUTH t…
john-westcott-iv Sep 3, 2025
7dc4f14
Fix rebase merge conflicts
thedoubl3j Sep 4, 2025
8fb6a3a
Merge remote-tracking branch 'tower/test_stable-2.6' into merge_26_2
AlanCoding Sep 5, 2025
e63eba2
AAP-37812 Added mention about setting correct env variable in cli usa…
tvo318 Sep 9, 2025
0fa8135
Fix Role Definition Reverse Sync (#7097)
stevensonmichel Sep 11, 2025
38f8583
Use DAB utility to sync RoleDefinition compat role create (#7104)
AlanCoding Sep 15, 2025
55a7591
Resolve actions conflicts and delete unwatned files
AlanCoding Sep 12, 2025
24818b5
Re-apply PR 15862
AlanCoding Sep 18, 2025
b1944ba
Remove code intended to be removed
AlanCoding Sep 18, 2025
dd02d56
Prefer devel setup.cfg and TODO marks for expected awx-plugin
AlanCoding Sep 18, 2025
a285843
AAP-35227 Extend role_check.py to delete orphaned InstanceLink object…
djulich Sep 17, 2025
b31da10
Merge remote-tracking branch 'awx/devel' into merge_26_2
AlanCoding Sep 18, 2025
873f5c0
Remove some attached methods from User model (#15325)
AlanCoding Sep 22, 2025
1f06d1b
[AAP-44277] License module now validates API responses for subscripti…
arrestle Sep 22, 2025
d0a99c3
Use action before schema logic, fix failure to upload schema (#16099)
AlanCoding Sep 23, 2025
f1edbd8
Add npm cache path to fix UI building (push images job) (#16097)
AlanCoding Sep 23, 2025
98697a8
Fix Grafana notification bug (#16104)
jessicamack Sep 29, 2025
ceed41d
Sharing Credentials Across Organizations (#16106)
stevensonmichel Sep 30, 2025
6db08bf
Rewrite the s3 upload step to fix breakage with new Ansible version (…
AlanCoding Sep 30, 2025
2729076
Add basic auth to subscription management API (#16103)
fosterseth Oct 2, 2025
622f6ea
AAP-53980 Disconnect logic to fill in role parents (#15462)
AlanCoding Oct 2, 2025
f51af03
Create system_administrator rbac role in migration
chrismeyersfsu Oct 1, 2025
0d18308
[AAP-46830]: Fix AWX CLI authentication with AAP Gateway environments…
arrestle Oct 2, 2025
612e8e7
Fix duplicate metrics in AWX subsystem_metrics (#15964)
cbcoutinho Oct 9, 2025
51b2524
Gracefully handle hostname change in metrics code
chrismeyersfsu Oct 7, 2025
77fab1c
Update dependabot to check python deps (#16127)
thedoubl3j Oct 9, 2025
300605f
Make subscriptions credentials mutually exclusive (#16126)
fosterseth Oct 9, 2025
309724b
Add SonarQube Coverage and report generation (#16112)
thedoubl3j Oct 10, 2025
72a42f2
Remove 'UI' from PR template component options (#16123)
thedoubl3j Oct 13, 2025
f3fd994
Update dependencies (#16122)
jessicamack Oct 15, 2025
0d9483b
Added Django and API requirements to AWX Contributor Docs for POC (#1…
tvo318 Oct 16, 2025
f725911
Fix migration failure for 0200 (#16135)
TheRealHaoLiu Oct 20, 2025
a53fdad
Fix f-string in log that is broken (#16132)
AlanCoding Oct 20, 2025
d1d3a34
Add new api schema check workflow (#16143)
thedoubl3j Oct 27, 2025
5be4462
Update sonar and CI (#16153)
thedoubl3j Nov 3, 2025
f3f10ae
[AAP-42616] Bump receptor collection version to 2.0.6 (#16156)
fincamd Nov 5, 2025
5ea2fe6
Fix failing Collection CI Checks (#16157)
djyasin Nov 6, 2025
335a4bb
AAP-45927 Add drf-spectacular (#16154)
Jaapis Nov 10, 2025
f818595
Change Swagger UI endpoint from /api/swagger/ to /api/docs/ (#16172)
Jaapis Nov 12, 2025
2fa2cd8
Add timeout and on duplicate to system tasks (#16169)
fosterseth Nov 13, 2025
b021179
AAP-29938 add force flag to refspec (#16173)
pb82 Nov 13, 2025
4e1911f
Bump Django to 4.2.26 to agree with DAB changes (#16183)
djyasin Nov 19, 2025
4db52e0
Fix collectstatic (#16162)
chrismeyersfsu Nov 21, 2025
e03beb4
Add hcp_terraform to list of expected cred types to fix failing api t…
djyasin Nov 24, 2025
2b2f2b7
Move to Runtime Platform Flags (#16148)
fao89 Nov 25, 2025
0d86874
Organize S3 schema uploads by product (awx/tower) (#16190)
Jaapis Nov 27, 2025
4f41b50
AAP-57817 Add Redis connection retry using redis-py 7.0+ built-in (#…
djyasin Dec 1, 2025
a20f299
Add x-ai-description to schema (#16186)
fosterseth Dec 2, 2025
be30a75
Removal of Warning for Distro Deprecation (#16193)
stevensonmichel Dec 2, 2025
711b018
cache dashboard query (#16165)
kdelee Dec 3, 2025
b241568
Upgrade to Django 5.2 LTS (#16185)
TheRealHaoLiu Dec 3, 2025
f935134
Unpin rsyslog in container (#16203)
fosterseth Dec 10, 2025
054f603
AAP-47956 Use pg_notify for cancel and debugging, abandon socket appr…
AlanCoding Dec 10, 2025
04fadab
Remove unused ANSIBLE_BASE_PERMISSION_MODEL setting (#16198)
TheRealHaoLiu Dec 16, 2025
2fbfe4c
Fix __pycache__ directory removal in clean target (#16196)
TheRealHaoLiu Dec 16, 2025
7a58377
Update ENV pattern in Dockerfile (#16202)
AlanCoding Dec 16, 2025
d7eb714
Remove custom docs endpoint in DAB now (#16204)
AlanCoding Dec 16, 2025
41f1ffc
AAP-45541 Add test to recreate jobs/4075584/job_events/children_summa…
chrismeyersfsu Dec 17, 2025
e2c1c51
AAP-58457 Update UT for removed IPv6 feature flag
bhavenst Dec 22, 2025
4005951
Bump requirement because version was yanked from PyPI (#16212)
AlanCoding Jan 2, 2026
48c7534
AAP-60452 Remove the dynamic log level filter for the dispatcherd mai…
AlanCoding Jan 2, 2026
de86b93
AAP-59874: Update to Python 3.12 (#16208)
jessicamack Jan 7, 2026
049a4b6
Remove graph_jobs management command and asciichartpy dependency (#16…
TheRealHaoLiu Jan 8, 2026
10a2946
Fix requirement for python3.12 (#16215)
TheRealHaoLiu Jan 8, 2026
3cba5e1
Cache juggling to help address test flake (#16217)
AlanCoding Jan 8, 2026
7d24bdb
Clear in-memory cache, suggested by bugbot (#16218)
AlanCoding Jan 8, 2026
cfe0b36
Do not eat errors building images (#16216)
AlanCoding Jan 9, 2026
d018096
Fix devel awx, awx_devel, awx_kube_devel build (#16219)
TheRealHaoLiu Jan 9, 2026
b0debf9
Use dnf module for Node.js 18 instead of n version manager - damn it …
TheRealHaoLiu Jan 9, 2026
03d0ed8
Add kubernetes python client from git at release-34.0 (#16226)
TheRealHaoLiu Jan 9, 2026
dbe979b
Add make targets for updating requirements (#16195)
TheRealHaoLiu Jan 9, 2026
fee71b8
Replace pytz with standard library timezone (#16197)
TheRealHaoLiu Jan 9, 2026
75aba0f
docs: migrate RTD URLs to docs.ansible.com (#16189)
gundalow Jan 15, 2026
051357e
fixed description for option notification_templates_approvals in modu…
PascalKont Jan 15, 2026
43a3a62
[AAP-43413] Removing hardcoded number of flags from feature flag test
PabloHiro Jan 16, 2026
dce5ac7
Apply new rules from black update (#16232)
AlanCoding Jan 19, 2026
b34ee01
Slightly alter history to avoid having a Django 5 related migration (…
AlanCoding Jan 19, 2026
80bb0c9
remove artifacts from list endpoint (#16230)
pb82 Jan 20, 2026
8c5cf49
Avoid errors installing with python 3.11 (#16231)
AlanCoding Jan 20, 2026
543b2a6
Update kubernetes python client to 35.0.0 from PyPI (#16236)
TheRealHaoLiu Jan 20, 2026
a839ce8
Update kubernetes python client to 35.0.0 from PyPI (#16237)
TheRealHaoLiu Jan 20, 2026
acf8721
Enhance OpenAPI schema with AI descriptions and fix method names (#16…
Jaapis Jan 21, 2026
98430db
Collect operator logs on timeout (#16239)
AlanCoding Jan 23, 2026
94d5769
Fix extremely flaky failure (#16161)
AlanCoding Jan 23, 2026
36a00ec
AAP-58539 Move to dispatcherd (#16209)
thedoubl3j Jan 23, 2026
ceed692
change contact email address (#16245)
oraNod Jan 26, 2026
12a7229
Publish open api spec on AWX for community use (#16221)
tvo318 Jan 26, 2026
f80bbc5
AAP-43117 Additional dispatcher removal simplifications and waiting r…
AlanCoding Jan 26, 2026
823b736
Remove unused INSIGHTS_OIDC_ENDPOINT (#16235)
fosterseth Jan 27, 2026
1128ad5
AAP-64221 Fix broken cancel logic with dispatcherd (#16247)
AlanCoding Jan 27, 2026
271383d
AAP-60470 Add dispatcherctl and dispatcherd commands as updated inter…
AlanCoding Jan 27, 2026
99dce79
fix: add py311 to make version detection
adrisala Jan 28, 2026
3d68ca8
Fix race condition of un-expired cache in local workers (#16256)
AlanCoding Jan 29, 2026
f7958b9
add deprecated fields to x-ai-description for credential post (#16255)
pb82 Jan 29, 2026
82cb52d
Sanitize SSH key whitespace to prevent validation errors (#16179)
joeywashburn Feb 2, 2026
25f5382
Fix init return
chrismeyersfsu Feb 2, 2026
91118ad
Fix summary_dict None check
chrismeyersfsu Feb 2, 2026
4de9c83
Use fromkeys for constant
chrismeyersfsu Feb 2, 2026
5f434ac
Rename exception args variable
chrismeyersfsu Feb 2, 2026
d929b76
Rename kwargs
chrismeyersfsu Feb 2, 2026
cfc5ad9
Remove return value from __init__
chrismeyersfsu Feb 3, 2026
fc0087f
Add language to api stdout for translation helping
chrismeyersfsu Feb 3, 2026
ed5ab8b
Remove unused variable
chrismeyersfsu Feb 3, 2026
1250835
Compare float to float
chrismeyersfsu Feb 3, 2026
8289003
Remove unreachable code path
chrismeyersfsu Feb 3, 2026
5aa3e8c
Make tz aware
chrismeyersfsu Feb 3, 2026
e3ac581
Always use a tz aware timestamp
chrismeyersfsu Feb 3, 2026
0ab1fea
Use replaceAll() for global regex
chrismeyersfsu Feb 3, 2026
f428621
Add doctype and lang
chrismeyersfsu Feb 3, 2026
edf459f
Add language english to 502
chrismeyersfsu Feb 3, 2026
cca70b2
Add alt text to 502 image
chrismeyersfsu Feb 3, 2026
0f4e914
Add lang english tag to 504 page
chrismeyersfsu Feb 3, 2026
e13fcfe
Add alt text to 504 image
chrismeyersfsu Feb 3, 2026
838e670
Remove duplicate css property
chrismeyersfsu Feb 3, 2026
adc3e35
Add generic font family
chrismeyersfsu Feb 3, 2026
f406a37
Add generic font family
chrismeyersfsu Feb 3, 2026
a6afec6
Add generic font family
chrismeyersfsu Feb 3, 2026
2622e9d
Add alt text for awx logo
chrismeyersfsu Feb 3, 2026
cba0133
Remove redunant role attribute
chrismeyersfsu Feb 3, 2026
63fafec
Remove init return value
chrismeyersfsu Feb 3, 2026
37ccbc2
Harden log message output containing user input
chrismeyersfsu Jan 30, 2026
00c0f7e
add test
chrismeyersfsu Jan 30, 2026
315f9c7
Rename args var
chrismeyersfsu Feb 3, 2026
749735b
Standardize spelling of 'canceled' in wsrelay.py (#16178)
joeywashburn Feb 4, 2026
6a03115
Fix OpenAPI schema enum values for CredentialType kind field (#16262)
Jaapis Feb 4, 2026
5e93f60
AAP-41776 Enable new fancy asyncio metrics for dispatcherd (#16233)
AlanCoding Feb 4, 2026
c9085e4
Update OpenAPI spec to improve descriptions and messages (#16260)
jessicamack Feb 4, 2026
30bf910
fix schema generator (#16265)
Jaapis Feb 4, 2026
99511ef
bump pyasn1 (#16249)
fosterseth Feb 5, 2026
fc0a4cd
🧪 Use the unified test reporting action (#16168)
webknjaz Feb 9, 2026
6f0cfb5
AAP-62657 Implement logic to extract and populate JWT claims from Con…
melissalkelly Feb 9, 2026
1f18396
Add CI Checks for syntactically valid OpenAPI Specification (#16266)
Jaapis Feb 10, 2026
707f2fa
Add OpenAPI spec sync workflow (#16267)
Jaapis Feb 10, 2026
f2438a0
Fix server error from PATCH to inventory source (#16274)
AlanCoding Feb 11, 2026
980d9db
fix: align pip version constraint in requirements_dev.txt (#16275)
dmzoneill Feb 12, 2026
fd84786
Fix wrong field rename
chrismeyersfsu Feb 9, 2026
01293f1
Restore github app lookup tests
chrismeyersfsu Feb 11, 2026
c515b86
Bump wheel to address CVE-2026-24049 (#16253)
fosterseth Feb 12, 2026
9700fb0
Fix awx CLI modify command for users with object-level permissions (#…
fosterseth Feb 12, 2026
7ccc14d
Remove stale api:schema-swagger-ui reference from API root (#16282)
fosterseth Feb 12, 2026
994a2b3
[Devel][AAP-65384]Restoration of Token Authentication for AWX CLI (#1…
stevensonmichel Feb 16, 2026
08f1507
Change remote host finding logic
chrismeyersfsu Feb 13, 2026
1a79e85
do not add optional survey fields with empty strings that are not bac…
pb82 Feb 17, 2026
915deca
fix: awxkit user creation through gw
adrisala Feb 16, 2026
aeba4a1
Revert "Change remote host finding logic"
chrismeyersfsu Feb 17, 2026
39851c3
[Devel] Removal of Token Auth From Devel (#16293)
stevensonmichel Feb 18, 2026
d8fd953
Update PR template to add steps to repro (#16294)
thedoubl3j Feb 18, 2026
9059cfb
Fix some pytest warnings using Opus 4.6 (#16269)
AlanCoding Feb 18, 2026
567a980
Give error details of sliced jobs if they error in live tests (#16273)
AlanCoding Feb 18, 2026
2a35ce5
AAP-62693 Integrate workload identity client to request JWTs (#16296)
fincamd Feb 19, 2026
a21f9fb
Addition of Cron Schedule (#16301)
stevensonmichel Feb 23, 2026
2c71bcd
Improve transactional integrity for starting controller jobs in dispa…
fosterseth Feb 26, 2026
9d61e42
Bump action version (#16306)
AlanCoding Feb 27, 2026
d8a2aa1
Do not write to dispatcher.log from AWX application code (#16302)
AlanCoding Feb 27, 2026
e1e2c60
AAP-66379 Include scaledown fix from dispatcherd (#16305)
AlanCoding Feb 27, 2026
0f2692b
AAP-58452 Add version fallback for external query files (#16309)
djyasin Feb 27, 2026
d1f4fc3
[Devel] Addition of logic to trigger worflow dispatch on release_4.6 …
stevensonmichel Mar 2, 2026
7a5f099
[Devel] Added HTTP_X_FORWARDED_FOR in Devel for production (#16314)
stevensonmichel Mar 3, 2026
8d19104
AAP-63318: Internal/developer documentation for indirect query files …
djulich Mar 4, 2026
57f9eb0
feat: workload identity credentials integration (#16286)
PabloHiro Mar 4, 2026
af7fbea
Fix LoggedLogoutView for Django 5.2 GET removal (#16317)
djyasin Mar 4, 2026
143d4ce
Pin container versions (#16322)
AlanCoding Mar 4, 2026
3fbc71e
Null value handling, discovered in production logs (#16323)
AlanCoding Mar 4, 2026
0995f7c
update bindep.txt to versionles dependencies (#16316)
pb82 Mar 4, 2026
be5fbf3
AAP-65054 Fix bugs where concurrent jobs would clear facts of unrelat…
AlanCoding Mar 5, 2026
f74f82e
Forward port external query files from stable-2.6 (#16312)
fosterseth Mar 5, 2026
25b43de
Address unused variables issue (#16327)
AlanCoding Mar 5, 2026
7384c73
Update hash for related action update (#16328)
AlanCoding Mar 5, 2026
670dfee
Address more ignored pytest warnings, co-authored with Opus 4.6 (#16298)
AlanCoding Mar 5, 2026
51ed59c
fix: awxkit help flags for detailed & general help
adrisala Feb 27, 2026
1a3085f
fix: nitpick and upload awxkit coverage to ci
adrisala Mar 2, 2026
65b1867
fix: help-context detection to ignore option values
adrisala Mar 2, 2026
fad4881
fix: include awxkit coverage in sonarqube
adrisala Mar 4, 2026
212546f
fix: narrow vendor_collections_dir fixture teardown scope (#16326)
djulich Mar 6, 2026
36a1121
AAP-67436 Remove pbr from requirements (#16337)
TheRealHaoLiu Mar 9, 2026
0d08a4d
[AAP-64062] Enforce JWT-only authentication for Controller when deplo…
TheRealHaoLiu Feb 17, 2026
619d8c6
[AAP-63314] P4.4: Controller - Pass Workload TTL to Gateway (#16303)
arrestle Mar 10, 2026
c115e01
Align log message of workload identity tokens with other task message…
PabloHiro Mar 10, 2026
7e29f9e
Enrich tests against is_ha_environment()
unnecessary-username Mar 10, 2026
63f3c73
Delete unused contains method (#16346)
AlanCoding Mar 12, 2026
8bd8bcd
[AAP-68258] Fix SonarCloud Reliability Rating issue in Common excepti…
Jaapis Mar 12, 2026
643a984
update editable_dependencies readme (#15471)
thedoubl3j Mar 12, 2026
1646694
Fix jinja2 error from newer ansible versions (#16356)
AlanCoding Mar 17, 2026
cc2fbf3
Stop writing tmp test files that are not cleaned up (#16358)
AlanCoding Mar 17, 2026
c591eb4
Do not ignore errors on activity stream connection (#16344)
AlanCoding Mar 17, 2026
679e48c
[AAP-68258] Fix SonarCloud Reliability issues (#16354)
Jaapis Mar 18, 2026
0aaca1b
Fix job cancel chain bugs (#16325)
AlanCoding Mar 18, 2026
bfefee5
fix: NameError in wsrelay when JSON decode fails with DEBUG logging (…
benthomasson Mar 18, 2026
ff68d61
Add feature flag for OIDC workload identity credential types (#16348)
matoval Mar 19, 2026
377dfce
Record whether a file was written for fact cache (#16361)
AlanCoding Mar 20, 2026
ab29438
fix: avoid delete in loop in inventory import (#16366)
pb82 Mar 24, 2026
7c75788
AAP-67740 Pass plugin_description through to CredentialType.descripti…
matoval Mar 25, 2026
310dd3e
Update dispatcherd to version 2026.3.25 (#16369)
chrismeyersfsu Mar 25, 2026
cd7f6f6
Fix OpenAPI schema validation message mismatch (#16372)
tvo318 Mar 25, 2026
595e093
[CI-Fix] Pin setuptools_scm<10 to fix api-lint failure (#16376)
stevensonmichel Mar 30, 2026
e80ce43
Fix workload identity project updates (#16373)
melissalkelly Mar 31, 2026
7155400
AAP-12516 [option 2] Handle nested workflow artifacts via root node `…
AlanCoding Apr 2, 2026
6d94aa8
Reorder URLs so that Django debug toolbar can work (#16352)
AlanCoding Apr 3, 2026
b83019b
feat: support for oidc credential /test endpoint (#16370)
fincamd Apr 6, 2026
e82a424
Bind the install bundle to the ansible.receptor collection 2.0.8 vers…
unnecessary-username Apr 9, 2026
d71f18f
[Devel] Config Endpoint Optimization (#16389)
stevensonmichel Apr 9, 2026
b8c9ae7
Fix OIDC workload identity for inventory sync (#16390)
fosterseth Apr 10, 2026
da996c0
feat: integrate awx-tui to the awx_devel image (#16399)
adrisala Apr 14, 2026
a8afbd1
Aap 45980 (#16395)
pb82 Apr 14, 2026
e5bae59
fix import for refactored method (#16394)
fosterseth Apr 15, 2026
d21e014
AAP-70257 controller collection should retry transient HTTP errors wi…
sean-m-sullivan Apr 21, 2026
1636abd
AAP-71844 Fix rrule fast-forward across DST boundaries (#16407)
fosterseth Apr 21, 2026
3fd3b74
Correctly restrict push actions to ownership repos (#16398)
AlanCoding Apr 21, 2026
55ad29a
[Devel] Performance Optimization for Select Hosts Query (#16413)
stevensonmichel Apr 22, 2026
99ac0d3
feat: improve unauthorized response on aap deployments (#16422)
adrisala Apr 23, 2026
c71a49e
fix: do not include secret values in the credentials test endpoint an…
pb82 Apr 24, 2026
376f964
[devel backport] AAP-41742: Fix workflow node update failing when JT …
djulich Apr 24, 2026
f3b7d44
feat: add test to ensure credential secret values are not returned (#…
pb82 Apr 27, 2026
d1b3ae5
AAP-68024 perf: derive last_job_host_summary from query instead of de…
benthomasson Apr 28, 2026
b66c010
[AAP-72722] Use url instead of jwt_aud for workload identity audience…
dleehr Apr 28, 2026
1213ea6
[Devel] Optimize host_list_rbac query (#16408)
djyasin Apr 28, 2026
df771d0
fix: constructed inventories no longer increase the host count (#16433)
pb82 Apr 28, 2026
eac8968
Fix version worktree (#16431)
chrismeyersfsu Apr 28, 2026
c67d932
fix: as_user() gateway session cookie fallback (#16437)
adrisala Apr 30, 2026
83f60cd
Pass setting to dispatcherd so it can be configured (#16438)
AlanCoding Apr 30, 2026
2451156
fix: allow blank password field to fix OpenAPI schema validation (#16…
adrisala May 4, 2026
cbbd683
AAP-70294: Migrate Unit Test Candidates from ATF to Upstream (#16385)
jessicamack May 4, 2026
6179b16
AAP-72269 Change fact processing loop to use file listing (#16403)
AlanCoding May 5, 2026
d3b40cb
[devel]AAP-74276: Replace setuptools with packaging in awxkit install…
djyasin May 6, 2026
2d02a72
feat: add tekton pipeline run atf tests on pull request (#16443)
ryankwilliams May 11, 2026
188c10c
Only request read permission for PR scan (#16295)
AlanCoding May 11, 2026
9606366
Consolidate validation rules for same-org restrictions (#16427)
AlanCoding May 12, 2026
90b7d35
Implement Candlepin certificate integration (#16388)
jessicamack May 14, 2026
4548094
[AAP-53283] Fix analytics API requests to respect proxy environment v…
djyasin May 15, 2026
5eeb854
feat: increase parallel count for atf runs (#16450)
adrisala May 18, 2026
ec85902
Fix awx-collection tests for ansible-core 2.21.0 (#16455)
stevensonmichel May 21, 2026
b37f389
[AAP-74343] Decouple installed_collections/ansible_version from indir…
djulich May 22, 2026
e4fa481
Expose JOB_VARIABLE_PREFIXES as a configurable setting (#16452)
djyasin May 26, 2026
9b922f7
Make dispatcherd min_workers literally 4 (#16421)
AlanCoding May 28, 2026
200a68a
[AAP-57274] Fix creator permissions for models without old-style role…
AlanCoding May 28, 2026
fccb674
Address even more pytest warnings, and migrate smart inventory tests …
AlanCoding May 28, 2026
f22df56
Fix TypeError when update_fields=None in model save methods (#16466)
chrismeyersfsu May 29, 2026
80f8ee1
Fix skip of push operations which are still failing in mirrors (#16468)
AlanCoding Jun 1, 2026
4bdb11c
[AAP-65882] feat: switch to DAB Redis cache backend (#16471)
tznamena Jun 1, 2026
c4c2779
fix: invalid renovate config to bump tekton pipeline bundles (#16472)
ryankwilliams Jun 2, 2026
b14b9e1
[Devel] Reject RRULE with INTERVAL=0 to Prevent Scheduler Hang (#16464)
stevensonmichel Jun 2, 2026
5cc467d
[AAP-74497] Reset orphaned waiting jobs when controller node is depro…
fosterseth Jun 2, 2026
b4f27de
[AAP-53283] Use getproxies() for analytics API proxy configuration (#…
djyasin Jun 2, 2026
e03899b
FIX: Add Organization Parameter to Demo Credential (#16474)
hamzahyous Jun 3, 2026
54857c7
[Devel] Bump kubernetes client to >=36.0.0 to fix NO_PROXY handling (…
stevensonmichel Jun 4, 2026
b531151
chore: bump ATF pipeline bundle sha (#16480)
ryankwilliams Jun 4, 2026
49e21d7
Move PG version check to `awx-manage` `check_db` & `migrate` commands…
AlanCoding Jun 8, 2026
c8cb465
fix: do not allow exec instances to be added to the control plane (#1…
pb82 Jun 9, 2026
d566f71
AAP-65883: Refactor clear_setting_cache to use DAB utility (#16469)
bhavenst Jun 9, 2026
d5e5ea3
Lazy-load plugin registries, move DB sync to dispatcher (#16483)
fosterseth Jun 9, 2026
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
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
57 changes: 57 additions & 0 deletions .codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
---

codecov:
notify:
after_n_builds: 9 # Number of test matrix+lint jobs uploading coverage
wait_for_ci: false

require_ci_to_pass: false

token: >- # repo-scoped, upload-only, needed for stability in PRs from forks
2b8c7a7a-7293-4a00-bf02-19bd55a1389b

comment:
require_changes: true

coverage:
range: 100..100
status:
patch:
default:
target: 100%
pytest:
target: 100%
flags:
- pytest
typing:
flags:
- MyPy
project:
default:
target: 75%
lib:
flags:
- pytest
paths:
- awx/
target: 75%
tests:
flags:
- pytest
paths:
- tests/
- >-
**/test/
- >-
**/tests/
- >-
**/test/**
- >-
**/tests/**
target: 95%
typing:
flags:
- MyPy
target: 100%

...
42 changes: 30 additions & 12 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -1,16 +1,6 @@
[run]
source = awx
branch = True
omit =
awx/main/migrations/*
awx/lib/site-packages/*

[report]
# Regexes for lines to exclude from consideration
exclude_lines =
# Have to re-enable the standard pragma
pragma: no cover

exclude_also =
# Don't complain about missing debug-only code:
def __repr__
if self\.debug
Expand All @@ -23,7 +13,35 @@ exclude_lines =
if 0:
if __name__ == .__main__.:

ignore_errors = True
^\s*@pytest\.mark\.xfail

[run]
branch = True
# NOTE: `disable_warnings` is needed when `pytest-cov` runs in tandem
# NOTE: with `pytest-xdist`. These warnings are false negative in this
# NOTE: context.
#
# NOTE: It's `coveragepy` that emits the warnings and previously they
# NOTE: wouldn't get on the radar of `pytest`'s `filterwarnings`
# NOTE: mechanism. This changed, however, with `pytest >= 8.4`. And
# NOTE: since we set `filterwarnings = error`, those warnings are being
# NOTE: raised as exceptions, cascading into `pytest`'s internals and
# NOTE: causing tracebacks and crashes of the test sessions.
#
# Ref:
# * https://github.com/pytest-dev/pytest-cov/issues/693
# * https://github.com/pytest-dev/pytest-cov/pull/695
# * https://github.com/pytest-dev/pytest-cov/pull/696
disable_warnings =
module-not-measured
omit =
awx/main/migrations/*
awx/settings/defaults.py
awx/settings/*_defaults.py
source =
.
source_pkgs =
awx

[xml]
output = ./reports/coverage.xml
2 changes: 1 addition & 1 deletion .github/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Community Code of Conduct

Please see the official [Ansible Community Code of Conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html).
Please see the official [Ansible Community Code of Conduct](https://docs.ansible.com/projects/ansible/latest/community/code_of_conduct.html).
5 changes: 4 additions & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,14 @@ body:
attributes:
label: Please confirm the following
options:
- label: I agree to follow this project's [code of conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html).
- label: I agree to follow this project's [code of conduct](https://docs.ansible.com/projects/ansible/latest/community/code_of_conduct.html).
required: true
- label: I have checked the [current issues](https://github.com/ansible/awx/issues) for duplicates.
required: true
- label: I understand that AWX is open source software provided for free and that I might not receive a timely response.
required: true
- label: I am **NOT** reporting a (potential) security vulnerability. (These should be emailed to `security@ansible.com` instead.)
required: true

- type: textarea
id: summary
Expand All @@ -42,6 +44,7 @@ body:
label: Select the relevant components
options:
- label: UI
- label: UI (tech preview)
- label: API
- label: Docs
- label: Collection
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ contact_links:
url: https://github.com/ansible/awx#get-involved
about: For general debugging or technical support please see the Get Involved section of our readme.
- name: 📝 Ansible Code of Conduct
url: https://docs.ansible.com/ansible/latest/community/code_of_conduct.html?utm_medium=github&utm_source=issue_template_chooser
url: https://docs.ansible.com/projects/ansible/latest/community/code_of_conduct.html?utm_medium=github&utm_source=issue_template_chooser
about: AWX uses the Ansible Code of Conduct; ❤ Be nice to other members of the community. ☮ Behave.
- name: 💼 For Enterprise
url: https://www.ansible.com/products/engine?utm_medium=github&utm_source=issue_template_chooser
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ body:
attributes:
label: Please confirm the following
options:
- label: I agree to follow this project's [code of conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html).
- label: I agree to follow this project's [code of conduct](https://docs.ansible.com/projects/ansible/latest/community/code_of_conduct.html).
required: true
- label: I have checked the [current issues](https://github.com/ansible/awx/issues) for duplicates.
required: true
Expand Down
11 changes: 3 additions & 8 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
<!---
If you are fixing an existing issue, please include "related #nnn" in your
commit message and your description; but you should still explain what
the change does.
the change does. Also please make sure that if this PR has an attached JIRA, put AAP-<number>
in as the first entry for your PR title.
-->

##### ISSUE TYPE
Expand All @@ -16,20 +17,14 @@ the change does.
##### COMPONENT NAME
<!--- Name of the module/plugin/module/task -->
- API
- UI
- Collection
- CLI
- Docs
- Other

##### AWX VERSION
<!--- Paste verbatim output from `make VERSION` between quotes below -->
```

```


##### ADDITIONAL INFORMATION
##### STEPS TO REPRODUCE AND EXTRA INFO
<!---
Include additional information to help people understand the change here.
For bugs that don't have a linked bug report, a step-by-step reproduction
Expand Down
42 changes: 42 additions & 0 deletions .github/actions/awx_devel_image/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Setup images for AWX
description: Builds new awx_devel image
inputs:
github-token:
description: GitHub Token for registry access
required: true
private-github-key:
description: GitHub private key for private repositories
required: false
default: ''
runs:
using: composite
steps:
- name: Set lower case owner name
shell: bash
run: echo "OWNER_LC=${OWNER,,}" >> $GITHUB_ENV
env:
OWNER: '${{ github.repository_owner }}'

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

- uses: ./.github/actions/setup-ssh-agent
with:
ssh-private-key: ${{ inputs.private-github-key }}

- name: Pre-pull latest devel image to warm cache
shell: bash
run: |
DEV_DOCKER_TAG_BASE=ghcr.io/${OWNER_LC} \
COMPOSE_TAG=${{ github.base_ref || github.ref_name }} \
docker pull -q `make print-DEVEL_IMAGE_NAME`
continue-on-error: true

- name: Build image for current source checkout
shell: bash
run: |
DEV_DOCKER_TAG_BASE=ghcr.io/${OWNER_LC} \
COMPOSE_TAG=${{ github.base_ref || github.ref_name }} \
make docker-compose-build
77 changes: 77 additions & 0 deletions .github/actions/run_awx_devel/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
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
private-github-key:
description: GitHub private key for private repositories
required: false
default: ''
outputs:
ip:
description: The IP of the tools_awx_1 container
value: ${{ steps.data.outputs.ip }}
runs:
using: composite
steps:
- name: Disable apparmor for rsyslogd, first step
shell: bash
run: sudo ln -s /etc/apparmor.d/usr.sbin.rsyslogd /etc/apparmor.d/disable/

- name: Disable apparmor for rsyslogd, second step
shell: bash
run: sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.rsyslogd

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

- name: Upgrade ansible-core
shell: bash
run: python -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_OWNER=${{ github.repository_owner }} \
COMPOSE_TAG=${{ github.base_ref || github.ref_name }} \
DJANGO_COLORS=nocolor \
SUPERVISOR_ARGS="-n -t" \
COMPOSE_UP_OPTS="-d --no-color" \
make docker-compose

- name: Update default AWX password
shell: bash
run: |
SECONDS=0
while [[ "$(curl -s -o /dev/null -w ''%{http_code}'' -k https://localhost:8043/api/v2/ping/)" != "200" ]]; do
if [[ $SECONDS -gt 600 ]]; then
echo "Timing out, AWX never came up"
exit 1
fi
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: Get instance data
id: data
shell: bash
run: |
AWX_IP=$(docker inspect -f '{{.NetworkSettings.Networks.awx.IPAddress}}' tools_awx_1)
echo "ip=$AWX_IP" >> $GITHUB_OUTPUT
27 changes: 27 additions & 0 deletions .github/actions/setup-python/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: 'Setup Python from Makefile'
description: 'Extract and set up Python version from Makefile'
inputs:
python-version:
description: 'Override Python version (optional)'
required: false
default: ''
working-directory:
description: 'Directory containing the Makefile'
required: false
default: '.'
runs:
using: composite
steps:
- name: Get python version from Makefile
shell: bash
run: |
if [ -n "${{ inputs.python-version }}" ]; then
echo "py_version=${{ inputs.python-version }}" >> $GITHUB_ENV
else
cd ${{ inputs.working-directory }}
echo "py_version=`make PYTHON_VERSION`" >> $GITHUB_ENV
fi
- name: Install python
uses: actions/setup-python@v5
with:
python-version: ${{ env.py_version }}
29 changes: 29 additions & 0 deletions .github/actions/setup-ssh-agent/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: 'Setup SSH for GitHub'
description: 'Configure SSH for private repository access'
inputs:
ssh-private-key:
description: 'SSH private key for repository access'
required: false
default: ''
runs:
using: composite
steps:
- name: Generate placeholder SSH private key if SSH auth for private repos is not needed
id: generate_key
shell: bash
run: |
if [[ -z "${{ inputs.ssh-private-key }}" ]]; then
ssh-keygen -t ed25519 -C "github-actions" -N "" -f ~/.ssh/id_ed25519
echo "SSH_PRIVATE_KEY<<EOF" >> $GITHUB_OUTPUT
cat ~/.ssh/id_ed25519 >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
else
echo "SSH_PRIVATE_KEY<<EOF" >> $GITHUB_OUTPUT
echo "${{ inputs.ssh-private-key }}" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
fi

- name: Add private GitHub key to SSH agent
uses: webfactory/ssh-agent@v0.9.0
with:
ssh-private-key: ${{ steps.generate_key.outputs.SSH_PRIVATE_KEY }}
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@v4
with:
name: docker-compose-logs-${{ inputs.log-filename }}
path: ${{ inputs.log-filename }}
Loading
Loading