From cb1cf5b6fb65f22f5cefc4d8b3d03fcdc9228800 Mon Sep 17 00:00:00 2001 From: Dima Tisnek Date: Wed, 16 Oct 2024 14:53:58 +0900 Subject: [PATCH 1/7] ci: integration tests against multiple juju versions --- .github/workflows/test.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index a8d8636d6..9a0a6d430 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -95,6 +95,9 @@ jobs: # save some resources for now. # - "3.9" - "3.10" + juju: + - "3.1/stable" + - "3.3/stable" steps: - name: Check out code uses: actions/checkout@v4 From e05e60e4b3a8ac99a88f0a83da76e01eea91e4b5 Mon Sep 17 00:00:00 2001 From: Dima Tisnek Date: Wed, 16 Oct 2024 15:02:11 +0900 Subject: [PATCH 2/7] ci: cancel in progress --- .github/workflows/test.yaml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 9a0a6d430..05fe82692 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -2,6 +2,10 @@ name: Testing on: [push, pull_request, workflow_dispatch] +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: lint: name: Linter @@ -98,6 +102,9 @@ jobs: juju: - "3.1/stable" - "3.3/stable" + - "3.4/stable" + - "3.5/stable" + - "3.6/beta" steps: - name: Check out code uses: actions/checkout@v4 @@ -109,7 +116,7 @@ jobs: uses: charmed-kubernetes/actions-operator@main with: provider: lxd - juju-channel: 3.4/stable + juju-channel: ${{ matrix.juju }} # 2023-01-11 Commented until we discover a # clear approach for this. # - name: Set proxy in controller From 0a301120b0eee4d0ab6d7ed71d7f875d0b45f0e6 Mon Sep 17 00:00:00 2001 From: Dima Tisnek Date: Wed, 16 Oct 2024 16:07:45 +0900 Subject: [PATCH 3/7] ci: don't test against juju 3.6 yet --- .github/workflows/test.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 05fe82692..bfde5d70b 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -104,7 +104,12 @@ jobs: - "3.3/stable" - "3.4/stable" - "3.5/stable" - - "3.6/beta" + # A bunch of tests fail with juju.errors.JujuError: base: ubuntu@15.04/stable + # * test_subordinate_units + # * test_destroy_unit + # * test_ssh + # * ... + # - "3.6/beta" steps: - name: Check out code uses: actions/checkout@v4 From 966c555a764bf70d1058a4913017c8474cc606e4 Mon Sep 17 00:00:00 2001 From: Dima Tisnek Date: Wed, 16 Oct 2024 16:10:51 +0900 Subject: [PATCH 4/7] ci: control progress on error --- .github/workflows/test.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index bfde5d70b..15ac5f660 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -110,6 +110,7 @@ jobs: # * test_ssh # * ... # - "3.6/beta" + continue-on-error: false # don't ignore if tests against some juju version fail steps: - name: Check out code uses: actions/checkout@v4 @@ -153,6 +154,7 @@ jobs: - name: Run integration # Force one single concurrent test run: tox -e integration + continue-on-error: true # so that other juju versions are tested integration-quarantine: name: Quarantined Integration Tests From 9c21a9a37e0f0d2dc01a376d385a27e88403454d Mon Sep 17 00:00:00 2001 From: Dima Tisnek Date: Wed, 16 Oct 2024 17:14:23 +0900 Subject: [PATCH 5/7] ci: run unit tests on wider variety of Pythons --- .github/workflows/test.yaml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 15ac5f660..678f26ce8 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -73,8 +73,12 @@ jobs: strategy: matrix: python: + - "3.8" - "3.9" - "3.10" + - "3.11" + - "3.12" + - "3.13" steps: - name: Check out code uses: actions/checkout@v4 @@ -165,6 +169,11 @@ jobs: matrix: python: - "3.10" + juju: + - "3.1/stable" + - "3.3/stable" + - "3.4/stable" + - "3.5/stable" steps: - name: Check out code uses: actions/checkout@v3 @@ -176,6 +185,6 @@ jobs: uses: charmed-kubernetes/actions-operator@main with: provider: lxd - juju-channel: 3.4/stable + juju-channel: ${{ matrix.juju }} - name: Run integration run: tox -e integration-quarantine From bed9eaef928d78d69ec92400a3f297be58da92f8 Mon Sep 17 00:00:00 2001 From: Dima Tisnek Date: Thu, 17 Oct 2024 10:46:02 +0900 Subject: [PATCH 6/7] ci: don't block quanrantined tests --- .github/workflows/test.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 678f26ce8..44e0fe17c 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -188,3 +188,4 @@ jobs: juju-channel: ${{ matrix.juju }} - name: Run integration run: tox -e integration-quarantine + continue-on-error: true # so that other juju versions are tested From c7abedc2fac70aaae3048eb137d16690a4c7553c Mon Sep 17 00:00:00 2001 From: Dima Tisnek Date: Thu, 17 Oct 2024 12:57:17 +0900 Subject: [PATCH 7/7] ci: udpate continue markers and explain why --- .github/workflows/test.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 44e0fe17c..276005f6a 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -114,7 +114,7 @@ jobs: # * test_ssh # * ... # - "3.6/beta" - continue-on-error: false # don't ignore if tests against some juju version fail + continue-on-error: false # ultimately fail a run if one of the matrix combinations fails steps: - name: Check out code uses: actions/checkout@v4 @@ -158,7 +158,7 @@ jobs: - name: Run integration # Force one single concurrent test run: tox -e integration - continue-on-error: true # so that other juju versions are tested + continue-on-error: true # don't fail early, let other matrix combinations get tested integration-quarantine: name: Quarantined Integration Tests @@ -174,6 +174,7 @@ jobs: - "3.3/stable" - "3.4/stable" - "3.5/stable" + continue-on-error: false # ultimately fail the run if one of the matrix combinations fails steps: - name: Check out code uses: actions/checkout@v3 @@ -188,4 +189,4 @@ jobs: juju-channel: ${{ matrix.juju }} - name: Run integration run: tox -e integration-quarantine - continue-on-error: true # so that other juju versions are tested + continue-on-error: true # don't fail early, let other matrix combinations get tested