Update dockerfile syntax due to warnings
SUMMARY
looking at the output from other jobs, I saw:
8 warnings found (use docker --debug to expand):
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 20)
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 21)
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 22)
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 23)
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 87)
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 88)
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 89)
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 90)
So I'm just trying to what I'm told here.
ISSUE TYPE
- Bug, Docs Fix or other nominal change
COMPONENT NAME
- API
Quality Gate passed
Issues
0 New issues
0 Accepted issues
Measures
0 Security Hotspots
0.0% Coverage on New Code
0.0% Duplication on New Code
Codecov Report
:white_check_mark: All modified and coverable lines are covered by tests.
:white_check_mark: Project coverage is 78.11%. Comparing base (f1edbd8) to head (6917125).
:warning: Report is 40 commits behind head on devel.
:rocket: New features to boost your workflow:
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
Current schema diff, clearly unrelated, but I don't have an explanation currently.
# Ignore differences in whitespace with -b
diff -u -b reference-schema.json schema.json
--- reference-schema.json 2025-09-23 14:13:04.381763354 +0000
+++ schema.json 2025-09-23 14:12:52.939639263 +0000
@@ -12785,7 +12785,7 @@
},
"termsOfService": "https://www.google.com/policies/terms/",
"title": "AWX API",
- "version": ""
+ "version": "v2"
},
"paths": {
"/api/": {
@@ -12794,25 +12794,9 @@
"description": "",
"operationId": "api_list",
"parameters": [],
- "produces": [
- "application/json"
- ],
"responses": {
"200": {
- "description": "",
- "examples": {
- "application/json": {
- "available_versions": {
- "v2": "/api/v2/"
- },
- "current_version": "/api/v2/",
- "custom_login_info": "",
- "custom_logo": "",
- "description": "AWX REST API",
- "login_redirect_override": "",
- "swagger": "/api/swagger/"
- }
- }
+ "description": ""
}
},
"summary": "List supported API versions",
@@ -12900,67 +12884,9 @@
"description": "",
"operationId": "api_read",
"parameters": [],
- "produces": [
- "application/json"
- ],
"responses": {
"200": {
- "description": "",
- "examples": {
- "application/json": {
- "activity_stream": "/api/v2/activity_stream/",
- "ad_hoc_commands": "/api/v2/ad_hoc_commands/",
- "analytics": "/api/v2/analytics/",
- "bulk": "/api/v2/bulk/",
- "config": "/api/v2/config/",
- "constructed_inventory": "/api/v2/constructed_inventories/",
- "credential_input_sources": "/api/v2/credential_input_sources/",
- "credential_types": "/api/v2/credential_types/",
- "credentials": "/api/v2/credentials/",
- "dashboard": "/api/v2/dashboard/",
- "execution_environments": "/api/v2/execution_environments/",
- "groups": "/api/v2/groups/",
- "host_metric_summary_monthly": "/api/v2/host_metric_summary_monthly/",
- "host_metrics": "/api/v2/host_metrics/",
- "hosts": "/api/v2/hosts/",
- "instance_groups": "/api/v2/instance_groups/",
- "instances": "/api/v2/instances/",
- "inventory": "/api/v2/inventories/",
- "inventory_sources": "/api/v2/inventory_sources/",
- "inventory_updates": "/api/v2/inventory_updates/",
- "job_templates": "/api/v2/job_templates/",
- "jobs": "/api/v2/jobs/",
- "labels": "/api/v2/labels/",
- "me": "/api/v2/me/",
- "mesh_visualizer": "/api/v2/mesh_visualizer/",
- "metrics": "/api/v2/metrics/",
- "notification_templates": "/api/v2/notification_templates/",
- "notifications": "/api/v2/notifications/",
- "organizations": "/api/v2/organizations/",
- "ping": "/api/v2/ping/",
- "project_updates": "/api/v2/project_updates/",
- "projects": "/api/v2/projects/",
- "receptor_addresses": "/api/v2/receptor_addresses/",
- "role_definitions": "/api/v2/role_definitions/",
- "role_team_assignments": "/api/v2/role_team_assignments/",
- "role_user_assignments": "/api/v2/role_user_assignments/",
- "roles": "/api/v2/roles/",
- "schedules": "/api/v2/schedules/",
- "service_index": "/api/v2/service-index/",
- "settings": "/api/v2/settings/",
- "system_job_templates": "/api/v2/system_job_templates/",
- "system_jobs": "/api/v2/system_jobs/",
- "teams": "/api/v2/teams/",
- "unified_job_templates": "/api/v2/unified_job_templates/",
- "unified_jobs": "/api/v2/unified_jobs/",
- "users": "/api/v2/users/",
- "workflow_approvals": "/api/v2/workflow_approvals/",
- "workflow_job_nodes": "/api/v2/workflow_job_nodes/",
- "workflow_job_template_nodes": "/api/v2/workflow_job_template_nodes/",
- "workflow_job_templates": "/api/v2/workflow_job_templates/",
- "workflow_jobs": "/api/v2/workflow_jobs/"
- }
- }
+ "description": ""
}
},
"summary": "List top level resources",
@@ -13005,91 +12931,9 @@
"type": "integer"
}
],
- "produces": [
- "application/json"
- ],
"responses": {
"200": {
"description": "",
- "examples": {
- "application/json": {
- "count": 2,
- "next": null,
- "previous": null,
- "results": [
- {
- "action_node": "awx",
- "changes": {
- "default_environment": null,
- "description": "test-org-desc",
- "id": 1,
- "max_hosts": 0,
- "name": "test-org",
- "opa_query_path": null
- },
- "id": 1,
- "object1": "organization",
- "object2": "",
- "object_association": "",
- "object_type": "",
- "operation": "create",
- "related": {
- "organization": [
- "/api/v2/organizations/1/"
- ]
- },
- "summary_fields": {
- "organization": [
- {
- "description": "test-org-desc",
- "id": 1,
- "name": "test-org"
- }
- ]
- },
- "timestamp": "2018-02-01T08:00:00.000000Z",
- "type": "activity_stream",
- "url": "/api/v2/activity_stream/1/"
- },
- {
- "action_node": "awx",
- "changes": {
- "email": "",
- "first_name": "",
- "id": 1,
- "is_superuser": true,
- "last_name": "",
- "password": "hidden",
- "username": "admin"
- },
- "id": 2,
- "object1": "user",
- "object2": "",
- "object_association": "",
- "object_type": "",
- "operation": "create",
- "related": {
- "user": [
- "/api/v2/users/1/"
- ]
- },
- "summary_fields": {
- "user": [
- {
- "first_name": "",
- "id": 1,
- "last_name": "",
- "username": "admin"
- }
- ]
- },
- "timestamp": "2018-02-01T08:00:00.000000Z",
- "type": "activity_stream",
- "url": "/api/v2/activity_stream/2/"
- }
- ]
- }
- },
"schema": {
"properties": {
"count": {
@@ -13140,77 +12984,9 @@
"description": "record containing the following fields:\n\n* `id`: Database ID for this activity stream. (integer)\n* `type`: Data type for this activity stream. (choice)\n* `url`: URL for this activity stream. (string)\n* `related`: Data structure with URLs of related resources. (object)\n* `summary_fields`: Data structure with name/description for related resources. The output for some objects may be limited for performance reasons. (object)\n* `timestamp`: (datetime)\n* `operation`: The action taken with respect to the given object(s). (choice)\n - `create`: Entity Created\n - `update`: Entity Updated\n - `delete`: Entity Deleted\n - `associate`: Entity Associated with another Entity\n - `disassociate`: Entity was Disassociated with another Entity\n* `changes`: A summary of the new and changed values when an object is created, updated, or deleted (json)\n* `object1`: For create, update, and delete events this is the object type that was affected. For associate and disassociate events this is the object type associated or disassociated with object2. (string)\n* `object2`: Unpopulated for create, update, and delete events. For associate and disassociate events this is the object type that object1 is being associated with. (string)\n* `object_association`: When present, shows the field name of the role or relationship that changed. (field)\n* `action_node`: The cluster node the activity took place on. (string)\n* `object_type`: When present, shows the model on which the role or relationship was defined. (field)",
"operationId": "api_activity_stream_read",
"parameters": [],
- "produces": [
- "application/json"
- ],
"responses": {
"200": {
"description": "",
- "examples": {
- "application/json": {
- "action_node": "awx",
- "changes": {
- "action": "associate",
- "object1": "user",
- "object1_pk": 2,
- "object2": "inventory",
- "object2_pk": 23,
- "relationship": "awx.main.models.rbac.Role_members"
- },
- "id": 10,
- "object1": "user",
- "object2": "inventory",
- "object_association": "role",
- "object_type": "inventory",
- "operation": "associate",
- "related": {
- "inventory": [
- "/api/v2/inventories/1/"
- ],
- "role": [
- "/api/v2/roles/23/"
- ],
- "user": [
- "/api/v2/users/2/"
- ]
- },
- "summary_fields": {
- "inventory": [
- {
- "description": "",
- "has_active_failures": false,
- "has_inventory_sources": false,
- "hosts_with_active_failures": 0,
- "id": 1,
- "inventory_sources_with_failures": 0,
- "kind": "",
- "name": "inv1",
- "organization_id": 1,
- "total_groups": 0,
- "total_hosts": 0,
- "total_inventory_sources": 0
- }
- ],
- "role": [
- {
- "id": 23,
- "role_field": "read_role"
- }
- ],
- "user": [
- {
- "first_name": "",
- "id": 2,
- "last_name": "",
- "username": "test"
- }
- ]
- },
- "timestamp": "2018-02-01T08:00:00.000000Z",
- "type": "activity_stream",
- "url": "/api/v2/activity_stream/10/"
- }
- },
"schema": {
"$ref": "#/definitions/ActivityStream"
}
@@ -13348,9 +13124,15 @@
"deprecated": false,
"description": "ad hoc commands.\n\nThe resulting data structure contains:\n\n {\n \"count\": 99,\n \"next\": null,\n \"previous\": null,\n \"results\": [\n ...\n ]\n }\n\nThe `count` field indicates the total number of ad hoc commands\nfound for the given query. The `next` and `previous` fields provides links to\nadditional results if there are more than will fit on a single page. The\n`results` list contains zero or more ad hoc command records. \n\n## Results\n\nEach ad hoc command data structure includes the following fields:\n\n* `id`: Database ID for this ad hoc command. (integer)\n* `type`: Data type for this ad hoc command. (choice)\n* `url`: URL for this ad hoc command. (string)\n* `related`: Data structure with URLs of related resources. (object)\n* `summary_fields`: Data structure with name/description for related resources. The output for some objects may be limited for performance reasons. (object)\n* `created`: Timestamp when this ad hoc command was created. (datetime)\n* `modified`: Timestamp when this ad hoc command was last modified. (datetime)\n* `name`: Name of this ad hoc command. (string)\n* `launch_type`: (choice)\n - `manual`: Manual\n - `relaunch`: Relaunch\n - `callback`: Callback\n - `scheduled`: Scheduled\n - `dependency`: Dependency\n - `workflow`: Workflow\n - `webhook`: Webhook\n - `sync`: Sync\n - `scm`: SCM Update\n* `status`: (choice)\n - `new`: New\n - `pending`: Pending\n - `waiting`: Waiting\n - `running`: Running\n - `successful`: Successful\n - `failed`: Failed\n - `error`: Error\n - `canceled`: Canceled\n* `execution_environment`: The container image to be used for execution. (id)\n* `failed`: (boolean)\n* `started`: The date and time the job was queued for starting. (datetime)\n* `finished`: The date and time the job finished execution. (datetime)\n* `canceled_on`: The date and time when the cancel request was sent. (datetime)\n* `elapsed`: Elapsed time in seconds that the job ran. (decimal)\n* `job_explanation`: A status field to indicate the state of the job if it wasn't able to run and capture stdout (string)\n* `execution_node`: The node the job executed on. (string)\n* `controller_node`: The instance that managed the execution environment. (string)\n* `launched_by`: (field)\n* `work_unit_id`: The Receptor work unit ID associated with this job. (string)\n* `job_type`: (choice)\n - `run`: Run\n - `check`: Check\n* `inventory`: (id)\n* `limit`: (string)\n* `credential`: (id)\n* `module_name`: (choice)\n - `command`\n - `shell`\n - `yum`\n - `apt`\n - `apt_key`\n - `apt_repository`\n - `apt_rpm`\n - `service`\n - `group`\n - `user`\n - `mount`\n - `ping`\n - `selinux`\n - `setup`\n - `win_ping`\n - `win_service`\n - `win_updates`\n - `win_group`\n - `win_user`\n* `module_args`: (string)\n* `forks`: (integer)\n* `verbosity`: (choice)\n - `0`: 0 (Normal)\n - `1`: 1 (Verbose)\n - `2`: 2 (More Verbose)\n - `3`: 3 (Debug)\n - `4`: 4 (Connection Debug)\n - `5`: 5 (WinRM Debug)\n* `extra_vars`: (string)\n* `become_enabled`: (boolean)\n* `diff_mode`: (boolean)\n\n\n\n## Sorting\n\nTo specify that ad hoc commands are returned in a particular\norder, use the `order_by` query string parameter on the GET request.\n\n ?order_by=name\n\nPrefix the field name with a dash `-` to sort in reverse:\n\n ?order_by=-name\n\nMultiple sorting fields may be specified by separating the field names with a\ncomma `,`:\n\n ?order_by=name,some_other_field\n\n## Pagination\n\nUse the `page_size` query string parameter to change the number of results\nreturned for each request. Use the `page` query string parameter to retrieve\na particular page of results.\n\n ?page_size=100&page=2\n\nThe `previous` and `next` links returned with the results will set these query\nstring parameters automatically.\n\n## Searching\n\nUse the `search` query string parameter to perform a case-insensitive search\nwithin all designated text fields of a model.\n\n ?search=findme\n\n(_Added in Ansible Tower 3.1.0_) Search across related fields:\n\n ?related__search=findme",
"operationId": "api_ad_hoc_commands_create",
- "parameters": [],
- "produces": [
- "application/json"
+ "parameters": [
+ {
+ "in": "body",
+ "name": "data",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AdHocCommandList"
+ }
+ }
],
"responses": {
"201": {
make: *** [Makefile:547: detect-schema-change] Error 1
make: *** [Makefile:374: docker-runner] Error 2
Error: Process completed with exit code 2.
duplicated https://github.com/ansible/awx/pull/16202