Skip to content

ci: Add .markdownlint.json #3045

ci: Add .markdownlint.json

ci: Add .markdownlint.json #3045

Workflow file for this run

name: Tests
on:
push:
pull_request:
workflow_dispatch:
schedule:
- cron: "0 2 * * *" # Nightly full run on main for flaky rate data
jobs:
build-microceph:
name: Build microceph snap
runs-on: ubuntu-22.04
env:
SNAPCRAFT_BUILD_ENVIRONMENT: "lxd"
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Copy utils
run: cp tests/scripts/actionutils.sh $HOME
- name: Clear FORWARD firewall rules
run: ~/actionutils.sh cleaript
- name: Install dependencies
run: |
~/actionutils.sh setup_lxd
sudo snap install snapcraft --classic
snap list
- name: Cache snap artifact
id: snap-cache
uses: actions/cache@v4
with:
path: "*.snap"
key: snap-${{ hashFiles('snap/**', 'microceph/**', 'microceph-orch/**', 'snapcraft/**', 'patches/**') }}
- name: Build snaps
if: steps.snap-cache.outputs.cache-hit != 'true'
run: snapcraft
- name: Upload snap artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: snaps
path: "*.snap"
retention-days: 5
robot-tests:
name: ${{ matrix.name }}
runs-on: ${{ matrix.runner || 'ubuntu-22.04' }}
needs: build-microceph
strategy:
fail-fast: false
matrix:
include:
- id: dsl-baseline-tests
name: DSL baseline tests
suite: dsl-functional-tests
args: --variable XTRACE:True --test "Run DSL Baseline Tests"
- id: dsl-waldb-validation-tests
name: DSL WAL-DB validation tests
suite: dsl-functional-tests
args: --variable XTRACE:True --test "Run DSL WAL-DB Validation Tests"
- id: dsl-waldb-dryrun-tests
name: DSL WAL-DB dry-run tests
suite: dsl-functional-tests
args: --variable XTRACE:True --test "Run DSL WAL-DB Dry-Run Tests"
- id: dsl-waldb-provision-tests
name: DSL WAL-DB provision tests
suite: dsl-functional-tests
args: --variable XTRACE:True --test "Run DSL WAL-DB Provision Tests"
- id: dsl-waldb-cleanup-tests
name: DSL WAL-DB cleanup tests
suite: dsl-functional-tests
args: --variable XTRACE:True --test "Run DSL WAL-DB Cleanup Tests"
- id: dsl-waldb-consistency-tests
name: DSL WAL-DB consistency tests
suite: dsl-functional-tests
args: --variable XTRACE:True --test "Run DSL WAL-DB Consistency Tests"
- id: api-tests
name: API tests
suite: api-tests
args: --variable XTRACE:True
- id: single-system-tests
name: Single node with encryption
suite: single-system-tests
- id: multi-node-tests
name: Multi node testing
suite: multi-node-tests
- id: availability-zone-tests
name: Availability zone crush rule testing
suite: availability-zone-tests
- id: multi-node-tests-with-custom-microceph-ip
name: Multi node testing with custom microceph IP
suite: multi-node-tests-with-custom-microceph-ip
- id: test-sequential-mon-host-refresh
name: Regression test for sequential join mon host refresh (issue #556)
suite: test-sequential-mon-host-refresh
- id: test-maintenance-modes
name: Test maintenance mode
suite: test-maintenance-modes
- id: loop-file-tests
name: Test with loopback file OSDs
suite: loop-file-tests
- id: wal-db-tests
name: Test WAL/DB device usage
suite: wal-db-tests
- id: upgrade-reef-tests
name: Test reef upgrades
suite: upgrade-reef-tests
- id: cluster-tests
name: Test MicroCeph Cluster features.
suite: cluster-tests
- id: rbd-replication-test
name: Test MicroCeph RBD Remote Replication features.
suite: rbd-replication-test
- id: cephfs-replication-test
name: Test MicroCeph Cephfs Remote Replication features.
suite: cephfs-replication-test
runner: ubuntu-24.04
- id: nfs-test
name: Test MicroCeph NFS feature
suite: nfs-test
- id: nfs-multinode-test
name: Test MicroCeph NFS feature (multinode)
suite: nfs-multinode-test
- id: messenger-v2-tests
name: Messenger v2 tests
suite: messenger-v2-tests
- id: multi-subnet-tests
name: Multi subnet bootstrap testing
suite: multi-subnet-tests
- id: wiping-test
name: Verify pristineness and wiping
suite: wiping-test
args: --variable XTRACE:True
- id: cephadm-adopt-test
name: Adopt test with cephadm
suite: cephadm-adopt-test
runner: ubuntu-24.04
args: --variable XTRACE:True
steps:
- name: Download snap
uses: actions/download-artifact@v4
with:
name: snaps
path: /home/runner
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Clear FORWARD firewall rules
run: |
sudo iptables -P FORWARD ACCEPT || true
sudo ip6tables -P FORWARD ACCEPT || true
sudo iptables -F FORWARD || true
sudo ip6tables -F FORWARD || true
- name: Free runner disk
run: |
sudo rm -rf /usr/local/lib/android /usr/local/.ghcup
imgs=$(sudo docker images -q 2>/dev/null || true)
[ -n "$imgs" ] && sudo docker rmi $imgs || true
- name: Initialize LXD
run: |
sudo snap list lxd 2>/dev/null || sudo snap install lxd --channel=latest/stable
sudo snap set lxd daemon.group=adm
sudo lxd init --auto
- name: Install tox
run: pipx install tox
- name: Run Robot suite
run: tox -e robot -- --test-suite ${{ matrix.suite }} --snap-path '/home/runner/*.snap' ${{ matrix.args }}
- name: Upload Robot logs
if: always()
uses: actions/upload-artifact@v4
with:
name: robot-logs-${{ matrix.id }}
path: |
output.xml
log.html
report.html
retention-days: 5