Skip to content
This repository has been archived by the owner on Aug 9, 2024. It is now read-only.

Commit

Permalink
ci: fix CI pipeline
Browse files Browse the repository at this point in the history
  • Loading branch information
jedel1043 authored and NucciTheBoss committed Jul 18, 2024
1 parent d373b4e commit 9d0322b
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 12 deletions.
31 changes: 26 additions & 5 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -65,12 +65,16 @@ jobs:

integration-test:
strategy:
fail-fast: true
fail-fast: false
matrix:
bases:
bases:
- [email protected]
name: Integration tests (LXD) | ${{ matrix.bases }}
local: [true, false]
name: Integration tests (LXD) ${{ matrix.local && '|' || '| Charmhub (edge) |'}} ${{ 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
Expand All @@ -79,10 +83,27 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
with:
path: main
- name: Fetch slurmctld
uses: actions/checkout@v4
if: ${{ matrix.local }}
with:
repository: charmed-hpc/slurmctld-operator
path: slurmctld-operator
- name: Fetch slurmdbd
uses: actions/checkout@v4
if: ${{ matrix.local }}
with:
repository: charmed-hpc/slurmdbd-operator
path: slurmdbd-operator
- name: Setup operator environment
uses: charmed-kubernetes/actions-operator@main
with:
provider: lxd
juju-channel: 3.1/stable
juju-channel: 3.4/stable
- name: Run tests
run: tox run -e integration -- --charm-base=${{ matrix.bases }}
run: |
cd main && tox run -e integration -- \
--charm-base=${{ matrix.bases }} \
${{ matrix.local && '--use-local' || '' }}
4 changes: 2 additions & 2 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,10 @@ jobs:
- name: Checkout
uses: actions/checkout@v3
- name: Select charmhub channel
uses: canonical/charming-actions/channel@2.2.0
uses: canonical/charming-actions/channel@2.5.0-rc
id: channel
- name: Upload charm to charmhub
uses: canonical/charming-actions/upload-charm@2.2.0
uses: canonical/charming-actions/upload-charm@2.5.0-rc
with:
credentials: "${{ secrets.CHARMCRAFT_AUTH }}"
github-token: "${{ secrets.GITHUB_TOKEN }}"
Expand Down
9 changes: 4 additions & 5 deletions tests/integration/test_charm.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,11 @@

logger = logging.getLogger(__name__)

SLURMRESTD = "slurmrestd"
SLURMCTLD = "slurmctld"
SLURMDBD = "slurmdbd"
SLURMRESTD = "slurmrestd"
DATABASE = "mysql"
ROUTER = "mysql-router"
UNIT_NAME = f"{SLURMRESTD}/0"


@pytest.mark.abort_on_fail
Expand Down Expand Up @@ -93,7 +92,7 @@ async def test_build_and_deploy(
# Reduce the update status frequency to accelerate the triggering of deferred events.
async with ops_test.fast_forward():
await ops_test.model.wait_for_idle(apps=[SLURMRESTD], status="active", timeout=1000)
assert ops_test.model.units.get(UNIT_NAME).workload_status == "active"
assert ops_test.model.applications[SLURMRESTD].units[0].workload_status == "active"


@pytest.mark.abort_on_fail
Expand All @@ -106,7 +105,7 @@ async def test_build_and_deploy(
async def test_munge_is_active(ops_test: OpsTest) -> None:
"""Test that munge is active."""
logger.info("Checking that munge is active inside Juju unit")
slurmrestd_unit = ops_test.model.units.get(UNIT_NAME)
slurmrestd_unit = ops_test.model.applications[SLURMRESTD].units[0]
res = (await slurmrestd_unit.ssh("systemctl is-active munge")).strip("\n")
assert res == "active"

Expand All @@ -121,6 +120,6 @@ async def test_munge_is_active(ops_test: OpsTest) -> None:
async def test_slurmrestd_is_active(ops_test: OpsTest) -> None:
"""Test that slurmrestd is active."""
logger.info("Checking that slurmrestd is active inside Juju unit")
slurmrestd_unit = ops_test.model.units.get(UNIT_NAME)
slurmrestd_unit = ops_test.model.applications[SLURMRESTD].units[0]
cmd_res = (await slurmrestd_unit.ssh("systemctl is-active slurmrestd")).strip("\n")
assert cmd_res == "active"

0 comments on commit 9d0322b

Please sign in to comment.