-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
* improved action output and ceph integration test * WIP: ceph test with SSL support * setup microceph without ssl for now * rollback ssl support * touch microceph variables file to allow tox run * removed unused import * put microceph setup before any tox call * Include before tests * fix libs versioning and removed unnecessary change * sync patches * lint fixes from synced lib * deprecated microceph action * picking fix for github_secrets plugin name * bumped dpw on workflows * Use reusable integration test workflow * !fixup Use reusable integration test workflow --------- Co-authored-by: Carl Csaposs <[email protected]>
- Loading branch information
1 parent
d7b90c3
commit 7a3570a
Showing
21 changed files
with
264 additions
and
336 deletions.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -16,13 +16,9 @@ on: | |
jobs: | ||
lint: | ||
name: Lint | ||
uses: canonical/data-platform-workflows/.github/workflows/lint.yaml@v9.0.2 | ||
uses: canonical/data-platform-workflows/.github/workflows/lint.yaml@v9.3.1 | ||
|
||
unit-test: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
juju-version: ["2.9", "3.1"] | ||
name: Unit test charm | ||
runs-on: ubuntu-latest | ||
timeout-minutes: 5 | ||
|
@@ -35,124 +31,40 @@ jobs: | |
pipx install poetry | ||
- name: Run tests | ||
run: tox run -e unit | ||
env: | ||
# This env var is only to indicate Juju version to "simulate" in the unit tests | ||
# No libjuju is being actually used in unit testing | ||
LIBJUJU_VERSION_SPECIFIER: ${{ matrix.juju-version }} | ||
- name: Upload Coverage to Codecov | ||
uses: codecov/codecov-action@v3 | ||
|
||
build: | ||
name: Build charm | ||
uses: canonical/data-platform-workflows/.github/workflows/build_charms_with_cache.yaml@v9.0.2 | ||
uses: canonical/data-platform-workflows/.github/workflows/build_charms_with_cache.yaml@v9.3.1 | ||
with: | ||
charmcraft-snap-channel: beta | ||
|
||
gh-hosted-collect-integration-tests: | ||
name: (GH hosted) Collect integration test groups | ||
needs: | ||
- lint | ||
- unit-test | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
- name: Install tox & poetry | ||
run: | | ||
pipx install tox | ||
pipx install poetry | ||
- name: Select test stability level | ||
id: select-test-stability | ||
run: | | ||
if [[ "${{ github.event_name }}" == "schedule" ]] | ||
then | ||
echo Running unstable and stable tests | ||
echo "mark_expression=" >> "$GITHUB_OUTPUT" | ||
else | ||
echo Skipping unstable tests | ||
echo "mark_expression=not unstable" >> "$GITHUB_OUTPUT" | ||
fi | ||
- name: Collect test groups | ||
id: collect-groups | ||
run: tox run -e integration -- tests/integration -m '${{ steps.select-test-stability.outputs.mark_expression }}' --collect-groups | ||
outputs: | ||
groups: ${{ steps.collect-groups.outputs.groups }} | ||
|
||
gh-hosted-integration-test: | ||
integration-test: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
groups: ${{ fromJSON(needs.gh-hosted-collect-integration-tests.outputs.groups) }} | ||
juju-snap-channel: ["2.9/stable", "3.1/stable"] | ||
include: | ||
- juju-snap-channel: "3.1/stable" | ||
agent-version: "3.1.6" | ||
libjuju-version: "3.2.2" | ||
- juju-snap-channel: "2.9/stable" | ||
agent-version: "2.9.45" | ||
libjuju-version: "2.9.44.1" | ||
exclude: | ||
# Disabling HA tests, as long as we want to have a limited pipeline on Juju3 | ||
- juju-snap-channel: "3.1/stable" | ||
groups: | ||
job_name: "high_availability/test_replication.py | group 1" | ||
- juju-snap-channel: "3.1/stable" | ||
groups: | ||
job_name: "high_availability/test_self_healing.py | group 1" | ||
- juju-snap-channel: "3.1/stable" | ||
groups: | ||
job_name: "high_availability/test_upgrade.py | group 1" | ||
- juju-snap-channel: "3.1/stable" | ||
groups: | ||
job_name: "high_availability/test_upgrade_from_stable.py | group 1" | ||
name: ${{ matrix.juju-snap-channel }} - (GH hosted) ${{ matrix.groups.job_name }} | ||
juju: | ||
- agent: 2.9.45 | ||
libjuju: ^2 | ||
- agent: 3.1.6 | ||
name: Integration test charm | ${{ matrix.juju.agent }} | ||
needs: | ||
- lint | ||
- unit-test | ||
- build | ||
- gh-hosted-collect-integration-tests | ||
runs-on: ubuntu-latest | ||
timeout-minutes: 120 | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
- name: Install tox & poetry | ||
run: | | ||
pipx install tox | ||
pipx install poetry | ||
- name: Setup operator environment | ||
uses: charmed-kubernetes/actions-operator@main | ||
with: | ||
provider: microk8s | ||
channel: "1.28-strict/stable" | ||
bootstrap-options: "--agent-version ${{ matrix.agent-version }}" | ||
juju-channel: ${{ matrix.juju-snap-channel }} | ||
- name: Update python-libjuju version | ||
if: ${{ matrix.libjuju-version == '2.9.44.1' }} | ||
run: poetry add --lock --group integration juju@'${{ matrix.libjuju-version }}' | ||
- name: Download packed charm(s) | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: ${{ needs.build.outputs.artifact-name }} | ||
- name: Select test stability level | ||
id: select-test-stability | ||
run: | | ||
if [[ "${{ github.event_name }}" == "schedule" ]] | ||
then | ||
echo Running unstable and stable tests | ||
echo "mark_expression=" >> "$GITHUB_OUTPUT" | ||
else | ||
echo Skipping unstable tests | ||
echo "mark_expression=not unstable" >> "$GITHUB_OUTPUT" | ||
fi | ||
- name: Run integration tests | ||
run: tox run -e integration -- "${{ matrix.groups.path_to_test_file }}" --group="${{ matrix.groups.group_number }}" -m '${{ steps.select-test-stability.outputs.mark_expression }}' | ||
env: | ||
LIBJUJU_VERSION_SPECIFIER: ${{ matrix.libjuju-version }} | ||
SECRETS_FROM_GITHUB: | | ||
{ | ||
"AWS_ACCESS_KEY": "${{ secrets.AWS_ACCESS_KEY }}", | ||
"AWS_SECRET_KEY": "${{ secrets.AWS_SECRET_KEY }}", | ||
"GCP_ACCESS_KEY": "${{ secrets.GCP_ACCESS_KEY }}", | ||
"GCP_SECRET_KEY": "${{ secrets.GCP_SECRET_KEY }}", | ||
} | ||
uses: canonical/data-platform-workflows/.github/workflows/[email protected] | ||
with: | ||
artifact-name: ${{ needs.build.outputs.artifact-name }} | ||
cloud: microk8s | ||
microk8s-snap-channel: 1.28-strict/stable | ||
juju-agent-version: ${{ matrix.juju.agent }} | ||
libjuju-version-constraint: ${{ matrix.juju.libjuju }} | ||
secrets: | ||
integration-test: | | ||
{ | ||
"AWS_ACCESS_KEY": "${{ secrets.AWS_ACCESS_KEY }}", | ||
"AWS_SECRET_KEY": "${{ secrets.AWS_SECRET_KEY }}", | ||
"GCP_ACCESS_KEY": "${{ secrets.GCP_ACCESS_KEY }}", | ||
"GCP_SECRET_KEY": "${{ secrets.GCP_SECRET_KEY }}", | ||
} |
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.