From 76f525fa9743f7138799bc44fc06e3e1b5953fcb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Juli=C3=A1n=20Espina?= Date: Thu, 25 Jul 2024 16:47:46 -0600 Subject: [PATCH] chore: enable CI for the experimental branch --- .github/workflows/ci.yaml | 2 + .github/workflows/experimental.yaml | 115 ++++++++++++++++++++++++++++ 2 files changed, 117 insertions(+) create mode 100644 .github/workflows/experimental.yaml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index b129baf..3894a41 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -16,6 +16,8 @@ name: slurmctld charm tests on: workflow_call: pull_request: + branches: + - main jobs: inclusive-naming-check: diff --git a/.github/workflows/experimental.yaml b/.github/workflows/experimental.yaml new file mode 100644 index 0000000..0eecc5d --- /dev/null +++ b/.github/workflows/experimental.yaml @@ -0,0 +1,115 @@ +# Copyright 2023 Canonical Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name: slurmctld charm tests (experimental) +on: + workflow_call: + pull_request: + branches: + - experimental + +jobs: + inclusive-naming-check: + name: Inclusive naming check + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Run tests + uses: get-woke/woke-action@v0 + with: + fail-on-error: true + + lint: + name: Lint + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Install dependencies + run: python3 -m pip install tox + - name: Run linters + run: tox -e lint + + unit-test: + name: Unit tests + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Install dependencies + run: python3 -m pip install tox + - name: Run tests + run: tox -e unit + + type-check: + name: Static type checking + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Install dependencies + run: python3 -m pip install tox + - name: Run tests + run: tox -e type + + integration-test: + strategy: + fail-fast: true + matrix: + bases: + - ubuntu@22.04 + name: Integration tests (LXD) | ${{ matrix.bases }} + runs-on: ubuntu-latest + # Testing against Charmhub will probably yield errors when doing breaking changes, so don't + # block CI on that. + continue-on-error: ${{ !matrix.local }} + needs: + - inclusive-naming-check + - lint + - unit-test + - type-check + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + path: main + - name: Fetch slurmd + uses: actions/checkout@v4 + with: + repository: charmed-hpc/slurmd-operator + path: slurmd-operator + ref: experimental + - name: Fetch slurmdbd + uses: actions/checkout@v4 + with: + repository: charmed-hpc/slurmdbd-operator + path: slurmdbd-operator + ref: experimental + - name: Fetch slurmrestd + uses: actions/checkout@v4 + with: + repository: charmed-hpc/slurmrestd-operator + path: slurmrestd-operator + ref: experimental + - name: Setup operator environment + uses: charmed-kubernetes/actions-operator@main + with: + provider: lxd + juju-channel: 3.4/stable + - name: Run tests + run: | + cd main && tox run -e integration -- \ + --charm-base=${{ matrix.bases }} \ + ${{ matrix.local && '--use-local' || '' }}