ci: Add .markdownlint.json #3045
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |