diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index a6b7653..f36a7b0 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -16,6 +16,8 @@ name: slurmdbd 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..55b6d6c --- /dev/null +++ b/.github/workflows/experimental.yaml @@ -0,0 +1,99 @@ +# 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: slurmdbd charm tests (experimental) +on: + 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: Type check + 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 + needs: + - inclusive-naming-check + - lint + - type-check + - unit-test + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + path: main + - name: Fetch slurmctld + uses: actions/checkout@v4 + with: + repository: charmed-hpc/slurmctld-operator + path: slurmctld-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 }} \ + --use-local