Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
1b1c687
add dedicated_server_rescue module
silentirk Apr 15, 2026
f428b45
Add dedicated_server_ipxe module with auto-switch iPXE mode support
cyberflow Apr 7, 2026
43ef01e
refactor: switch to state-based iPXE management, remove ipxe_type par…
cyberflow Apr 8, 2026
c8059ca
fix no token tests
cyberflow Apr 8, 2026
7ad9d8e
the error text has been clarified
cyberflow Apr 9, 2026
61a5af5
fix: remove duplicate get_dedicated_server_features after rebase
cyberflow Apr 20, 2026
ebdfe12
update readme [skip ci]
cyberflow Apr 20, 2026
3fbe1f4
refactor: move hardcoded RBS test data to integration_config.yml
amarao Apr 22, 2026
3c17003
refactor: move hardcoded LB test data to integration_config.yml
amarao Apr 22, 2026
504a7da
refactor: move hardcoded cloud computing test data to integration_con…
amarao Apr 22, 2026
adee5a5
refactor: move hardcoded baremetal/dedicated test data to integration…
amarao Apr 22, 2026
f72e8e0
refactor: move hardcoded SBM test data to integration_config.yml
amarao Apr 22, 2026
79d8842
fix: task name
amarao Apr 22, 2026
58d266a
docs: update integration tests readme
amarao Apr 22, 2026
267f414
docs: clarify variable use for integration tests
amarao Apr 22, 2026
de922cf
fix: missed pxe test
amarao Apr 22, 2026
ad9a4c3
ref: split baremetal tests into three groups to speed up
amarao Apr 22, 2026
b47f3b3
chore: enable colors
amarao Apr 22, 2026
f237c29
fix: colors
amarao Apr 22, 2026
4d3fc1d
feat: reshuffle tasks to be shorter, rename to semantic
amarao Apr 23, 2026
0eeca8d
chore: bump action version
amarao Apr 23, 2026
aa1bb35
feat: inventory plugin
amarao May 14, 2026
be1a68b
ci: add tests into CI
amarao May 14, 2026
3e5ea50
docs: add dynamic inventory examples
amarao May 14, 2026
d3d8aa7
fix: bugs in tests, make kind mandatory
amarao May 14, 2026
1e1867a
fix: make kind optional per schema, remove constructed
amarao May 15, 2026
fd857dd
fix: did not react on unknown keys in the inventory.
amarao May 15, 2026
1363aba
test: add test for combining vm and baremetal
amarao May 15, 2026
46af369
fix: remove cache leftovers, stale comments
amarao May 15, 2026
0563416
test: add test for sbm inventory in sbm job
amarao May 15, 2026
9ad29c0
fix: Claude self-review fixes
amarao May 15, 2026
55ed1f3
fix: make reusable workflows for better concurrency handling
amarao May 15, 2026
e6b9fb8
fix: move inventory into parallel
amarao May 15, 2026
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
111 changes: 111 additions & 0 deletions .github/workflows/baremetal.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
---
name: Baremetal integration tests

"on":
workflow_call:

concurrency:
group: baremetal
cancel-in-progress: false

jobs:
server1:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.13"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Configure integration tests
run: |
envsubst < integration_config.yml.template > ansible_collections/serverscom/sc_api/tests/integration/integration_config.yml
env:
SC_TOKEN: "${{ secrets.SC_TOKEN }}"
- name: Integration tests (server1)
run: ansible-test integration --requirements --python 3.13 --color yes
ssh_key
baremetal_locations_info
dedicated_server_reinstall_quick
dedicated_server_reinstall_1
dedicated_server_power

working-directory: ansible_collections/serverscom/sc_api
- name: Cleanup secrets
if: always()
run: |
dd if=/dev/zero bs=4k count=4 of=ansible_collections/serverscom/sc_api/tests/integration/integration_config.yml
sync
sync

server2:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Configure integration tests
run: |
envsubst < integration_config.yml.template > ansible_collections/serverscom/sc_api/tests/integration/integration_config.yml
env:
SC_TOKEN: "${{ secrets.SC_TOKEN }}"
- name: Integration tests (server2)
run: ansible-test integration --requirements --python 3.13 --color yes
baremetal_servers_info
dedicated_server_reinstall_2
dedicated_server_rescue
dedicated_server_reinstall_raid0

working-directory: ansible_collections/serverscom/sc_api
- name: Cleanup secrets
if: always()
run: |
dd if=/dev/zero bs=4k count=4 of=ansible_collections/serverscom/sc_api/tests/integration/integration_config.yml
sync
sync

server3:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Configure integration tests
run: |
envsubst < integration_config.yml.template > ansible_collections/serverscom/sc_api/tests/integration/integration_config.yml
env:
SC_TOKEN: "${{ secrets.SC_TOKEN }}"
- name: Integration tests (server3)
run: ansible-test integration --requirements --python 3.13 --color yes
baremetal_os_list
dedicated_server_info
dedicated_server_reinstall_3
dedicated_server_ipxe
dedicated_server_reinstall_noraid

working-directory: ansible_collections/serverscom/sc_api
- name: Cleanup secrets
if: always()
run: |
dd if=/dev/zero bs=4k count=4 of=ansible_collections/serverscom/sc_api/tests/integration/integration_config.yml
sync
sync
40 changes: 40 additions & 0 deletions .github/workflows/inventory.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
name: Inventory integration tests

"on":
workflow_call:

concurrency:
group: inventory
cancel-in-progress: false

jobs:
inventory:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.13"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Configure integration tests
run: |
envsubst < integration_config.yml.template > ansible_collections/serverscom/sc_api/tests/integration/integration_config.yml
env:
SC_TOKEN: "${{ secrets.SC_TOKEN }}"
- name: Integration tests
run: ansible-test integration --requirements --python 3.13 --color yes
sc_inventory

working-directory: ansible_collections/serverscom/sc_api
- name: Cleanup secrets
if: always()
run: |
dd if=/dev/zero bs=4k count=4 of=ansible_collections/serverscom/sc_api/tests/integration/integration_config.yml
sync
sync
42 changes: 42 additions & 0 deletions .github/workflows/l2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
name: L2 integration tests

"on":
workflow_call:

concurrency:
group: l2
cancel-in-progress: false

jobs:
l2:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.13"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Configure integration tests
run: |
envsubst < integration_config.yml.template > ansible_collections/serverscom/sc_api/tests/integration/integration_config.yml
env:
SC_TOKEN: "${{ secrets.SC_TOKEN }}"
- name: Integration tests
run: ansible-test integration --requirements --python 3.13 --color yes
l2_segment
l2_segment_aliases
l2_segments_info

working-directory: ansible_collections/serverscom/sc_api
- name: Cleanup secrets
if: always()
run: |
dd if=/dev/zero bs=4k count=4 of=ansible_collections/serverscom/sc_api/tests/integration/integration_config.yml
sync
sync
Loading
Loading