Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 19 additions & 3 deletions .ansible-lint
Original file line number Diff line number Diff line change
@@ -1,16 +1,24 @@
---
# Collection wide lint-file
# DO NOT CHANGE
## Collection wide ansible-lint configuration file.
# Changes for ansible-lint v25.7.0+
# - Always executed from collection root using collection configuration.
# - .ansible-lint-ignore can be used to ignore files, not folders.
## Execution examples:
# ansible-lint
# ansible-lint roles/sap_swpm
# ansible-lint roles/sap_install_media_detect -c roles/sap_install_media_detect/.ansible-lint

exclude_paths:
- .ansible/
- .cache/
- .github/
# - docs/
- changelogs/
- playbooks/
- tests/

enable_list:
- yaml

skip_list:
# We don't want to enforce new Ansible versions for Galaxy:
- meta-runtime[unsupported-version]
Expand All @@ -22,3 +30,11 @@ skip_list:
- schema
# Allow templating inside name because it creates more detailed output:
- name[template]

# - command-instead-of-module
# - command-instead-of-shell
# - line-length
# - risky-shell-pipe
# - no-changed-when
# - no-handler
# - ignore-errors
10 changes: 0 additions & 10 deletions .github/workflows/.ansible-lint

This file was deleted.

36 changes: 36 additions & 0 deletions .github/workflows/ansible-lint-sap_software_download.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
name: Ansible Lint - sap_software_download

on:
push:
branches:
- main
- dev
paths:
- 'roles/sap_software_download/**'
pull_request:
branches:
- main
- dev
paths:
- 'roles/sap_software_download/**'

workflow_dispatch:

jobs:
ansible-lint:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v5

# Use @v25 to automatically track the latest release from the year 2025.
# ansible-lint uses Calendar Versioning (e.g., v25.9.0 -> YYYY.MM.PATCH).
# Avoid using @main, which can introduce breaking changes unexpectedly.
- uses: ansible/ansible-lint@v25
with:
# v25.7.0 no longer uses 'working_directory' and role path is set in 'args'.
# Role specific .ansible-lint can be added with argument '-c'.
args: roles/sap_software_download
# Use the shared requirements file from the collection root for dependency context.
requirements_file: ./requirements.yml
22 changes: 16 additions & 6 deletions .github/workflows/ansible-lint.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,24 @@
name: Ansible Lint
---
name: Ansible Lint - Collection

on: [push, pull_request]
on:
schedule:
# This is 03:05 UTC, which is 5:05 AM in Prague/CEST.
- cron: '5 3 * * 1'

workflow_dispatch:

jobs:
ansible-lint:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5

- name: Ansible Lint Action
uses: ansible/ansible-lint@v6
# Use @v25 to automatically track the latest release from the year 2025.
# ansible-lint uses Calendar Versioning (e.g., v25.9.0 -> YYYY.MM.PATCH).
# Avoid using @main, which can introduce breaking changes unexpectedly.
- uses: ansible/ansible-lint@v25
with:
# Use the shared requirements file from the collection root for dependency context.
requirements_file: ./requirements.yml
84 changes: 84 additions & 0 deletions .github/workflows/ansible-test-sanity.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
---
# Always check ansible-core support matrix before configuring units matrix.
# https://docs.ansible.com/ansible/latest/reference_appendices/release_and_maintenance.html#ansible-core-support-matrix

name: Ansible Test - Sanity

on:
schedule:
# This is 01:05 UTC, which is 3:05 AM in Prague/CEST
- cron: '5 3 * * 1'

pull_request:
branches:
- main
- dev

workflow_dispatch:

jobs:
sanity-supported:
runs-on: ubuntu-latest
name: Sanity (Supported Ⓐ${{ matrix.ansible }})
strategy:
fail-fast: false # Disabled so we can see all failed combinations.
# Define a build matrix to test compatibility across multiple Ansible versions.
# Each version listed below will spawn a separate job that runs in parallel.
matrix:
ansible:
- 'stable-2.18' # Python 3.11 - 3.13
- 'stable-2.19' # Python 3.11 - 3.13
- 'devel' # Test against the upcoming development version.

steps:
- uses: actions/checkout@v5

- name: ansible-test - sanity
uses: ansible-community/ansible-test-gh-action@release/v1
with:
ansible-core-version: ${{ matrix.ansible }}
testing-type: sanity

sanity-eol:
runs-on: ubuntu-latest
# This job only runs if the supported tests pass
needs: sanity-supported
name: Sanity (EOL Ⓐ${{ matrix.ansible }}+py${{ matrix.python }})
continue-on-error: true # This entire job is allowed to fail
strategy:
fail-fast: false # Disabled so we can see all failed combinations.
# Define a build matrix to test compatibility across multiple Ansible versions.
# Each version listed below will spawn a separate job that runs in parallel.
matrix:
ansible:
- 'stable-2.14' # Python 3.9 - 3.11
- 'stable-2.15' # Python 3.9 - 3.11
- 'stable-2.16' # Python 3.10 - 3.12
- 'stable-2.17' # Python 3.10 - 3.12
python:
- '3.9'
- '3.10'
- '3.11'
- '3.12'
exclude:
# Exclusions for incompatible Python versions.
- ansible: 'stable-2.14'
python: '3.12'

- ansible: 'stable-2.15'
python: '3.12'

- ansible: 'stable-2.16'
python: '3.9'

- ansible: 'stable-2.17'
python: '3.9'
steps:
- uses: actions/checkout@v5

- name: ansible-test - sanity
uses: ansible-community/ansible-test-gh-action@release/v1
with:
ansible-core-version: ${{ matrix.ansible }}
target-python-version: ${{ matrix.python }}
testing-type: sanity
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ When an SAP User ID (e.g. S-User) is enabled with and part of an SAP Universal I
- the SAP User ID
- the password for login with the SAP Universal ID

In addition, if a SAP Universal ID is used then the recommendation is to check and reset the SAP User ID Account Password in the [SAP Universal ID Account Manager](https://account.sap.com/manage/accounts), which will help to avoid any potential conflicts.
In addition, if a SAP Universal ID is used then the recommendation is to check and reset the SAP User ID `Account Password` in the [SAP Universal ID Account Manager](https://account.sap.com/manage/accounts), which will help to avoid any potential conflicts.

For further information regarding connection errors, please see the FAQ section [Errors with prefix 'SAP SSO authentication failed - '](./docs/FAQ.md#errors-with-prefix-sap-sso-authentication-failed---).

Expand Down
2 changes: 1 addition & 1 deletion docs/FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ The error HTTP 401 refers to either:
- Unauthorized, the SAP User ID being used belongs to an SAP Company Number (SCN) with one or more Installation Number/s which do not have license agreements for these files
- Unauthorized, the SAP User ID being used does not have SAP Download authorizations
- Unauthorized, the SAP User ID is part of an SAP Universal ID and must use the password of the SAP Universal ID
- In addition, if a SAP Universal ID is used then the recommendation is to check and reset the SAP User ID Account Password in the [SAP Universal ID Account Manager](https://account.sap.com/manage/accounts), which will help to avoid any potential conflicts.
- In addition, if a SAP Universal ID is used then the recommendation is to check and reset the SAP User ID `Account Password` in the [SAP Universal ID Account Manager](https://account.sap.com/manage/accounts), which will help to avoid any potential conflicts.

This is documented under [Execution - Credentials](https://github.com/sap-linuxlab/community.sap_launchpad#requirements-dependencies-and-testing).

Expand Down
Loading