Skip to content

Commit

Permalink
Merge pull request #2 from wreis/ci
Browse files Browse the repository at this point in the history
CI: merge workflows and better python setup
  • Loading branch information
wreis authored Nov 9, 2023
2 parents f373be6 + beb8d52 commit 862eda6
Show file tree
Hide file tree
Showing 5 changed files with 60 additions and 58 deletions.
25 changes: 0 additions & 25 deletions .github/workflows/check-formatting.yml

This file was deleted.

48 changes: 48 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Continuous Integration

on: push

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref_name }}
cancel-in-progress: true

jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install --upgrade black
- name: Check Python formatting
run: |
set -eux
black --check tests/
test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install dependencies
run: |
sudo python -m pip install --upgrade pip
sudo pip install --upgrade pytest sh ruamel.yaml
- name: Running addons tests
run: |
set -x
sudo snap install microk8s --classic --channel=latest/edge
sudo microk8s status --wait-ready --timeout 600
sudo microk8s addons repo add testing .
sudo pytest -s ./tests/test-addons.py
sudo snap remove microk8s --purge
29 changes: 0 additions & 29 deletions .github/workflows/run-tests.yml

This file was deleted.

8 changes: 6 additions & 2 deletions tests/test-addons.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
import sh
import yaml

from ruamel.yaml import YAML

from utils import microk8s_enable, wait_for_pod_state, microk8s_disable


yaml = YAML(typ="safe")


class TestAddons(object):
def test_python_demo_nginx(self):
microk8s_enable("python-hello-k8s")
wait_for_pod_state("", "default", "running", label="app=python-demo-nginx")
status = yaml.safe_load(sh.microk8s.status(format="yaml").stdout)
status = yaml.load(sh.microk8s.status(format="yaml"))
expected = {"python-hello-k8s": "enabled"}
microk8s_disable("python-hello-k8s")
8 changes: 6 additions & 2 deletions tests/utils.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
import datetime
import time
import yaml

from subprocess import check_output, CalledProcessError
from ruamel.yaml import YAML


yaml = YAML(typ="safe")


def run_until_success(cmd, timeout_insec=60, err_out=None):
Expand Down Expand Up @@ -58,7 +62,7 @@ def kubectl_get(target, timeout_insec=300):
"""
cmd = "get -o yaml " + target
output = kubectl(cmd, timeout_insec)
return yaml.safe_load(output)
return yaml.load(output)


def wait_for_pod_state(
Expand Down

0 comments on commit 862eda6

Please sign in to comment.