Skip to content

[DPE-1928] Update lib #319

[DPE-1928] Update lib

[DPE-1928] Update lib #319

Workflow file for this run

# Copyright 2022 Canonical Ltd.
# See LICENSE file for licensing details.
name: Tests
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
pull_request:
schedule:
- cron: '53 0 * * *' # Daily at 00:53 UTC
# Triggered on push to branch "main" by .github/workflows/release.yaml
workflow_call:
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install tox
run: python3 -m pip install tox
- name: Install poetry
run: curl -sSL https://install.python-poetry.org | python3 -
- name: Run linters
run: tox run -e lint
unit-test:
name: Unit tests
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install tox
run: python3 -m pip install tox
- name: Install poetry
run: curl -sSL https://install.python-poetry.org | python3 -
- name: Run tests
run: tox run -e unit
lib-check:
name: Check libraries
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Check libs
uses: canonical/charming-actions/check-libraries@2.2.3
with:
credentials: "${{ secrets.CHARMHUB_TOKEN }}" # FIXME: current token will expire in 2023-07-04
github-token: "${{ secrets.GITHUB_TOKEN }}"
build:
name: Build charms
needs:
- lint
- unit-test
uses: canonical/data-platform-workflows/.github/workflows/build_charms_with_cache.yaml@v2
integration-test:
strategy:
fail-fast: false
matrix:
tox-environments:
- name: integration-lxd
provider: lxd
- name: integration-k8s
provider: microk8s
product:
- kafka
- mysql
- postgresql
- mongodb
- opensearch
name: ${{ matrix.tox-environments.name }}-${{matrix.product}}
needs:
- lib-check
- lint
- unit-test
- build
runs-on: ubuntu-latest
timeout-minutes: 120
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup operator environment
uses: charmed-kubernetes/actions-operator@main
with:
provider: ${{ matrix.tox-environments.provider }}
bootstrap-options: "--agent-version 2.9.42"
- name: Install tox
run: python3 -m pip install tox
- name: Install poetry
run: curl -sSL https://install.python-poetry.org | python3 -
- name: Download packed charm(s)
uses: actions/download-artifact@v3
with:
name: ${{ needs.build.outputs.artifact-name }}
- name: Select tests
id: select-tests
run: |
if [ "${{ matrix.product }}" == "opensearch" ]
then
# Set opensearch kernel parameters
sudo sysctl -w vm.max_map_count=262144 vm.swappiness=0 net.ipv4.tcp_retries2=5
fi
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 ${{ matrix.tox-environments.name }}-${{matrix.product}} -- -m '${{ steps.select-tests.outputs.mark_expression }}'
env:
CI_PACKED_CHARMS: ${{ needs.build.outputs.charms }}