Skip to content

Upgrade test-requirements #424

Upgrade test-requirements

Upgrade test-requirements #424

Workflow file for this run

---
# SPDX-license-identifier: Apache-2.0
##############################################################################
# Copyright (c) 2021
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
name: Integration tests
# yamllint disable-line rule:truthy
on:
push:
paths:
- '**.sh'
- '!ci/update_*.sh'
- '*.yml'
- '!playbooks/**/*.yml'
- '*.tpl'
- '*.env'
- 'resources/*'
- '!**.md'
pull_request_review:
types:
- submitted
jobs:
check-ci:
name: Check Integration tests in an Ubuntu Focal Virtual Machines
if: >-
(
github.event_name == 'pull_request_review' &&
github.event.review.state == 'approved'
) || github.event_name != 'pull_request_review'
runs-on: macos-12
strategy:
fail-fast: false
matrix:
include:
- runtime: crio
crun_enabled: true
kata_containers_enabled: false
- runtime: containerd
gvisor_enabled: true
kata_containers_enabled: false # TODO: Enable this once this PR is included(https://github.com/kubernetes-sigs/kubespray/pull/8797)
- enable_tests: true
krew_plugins_list: 'virt'
metallb_enabled: true
int_tests: "metallb istio kubevirt knative"
- test_multinode: true
run_conformance_tools: true
- enable_tests: true
int_tests: 'falco kyverno gatekeeper'
- krew_plugins_list: 'cert-manager'
enable_tests: true
int_tests: 'virtink'
cert_manager_enabled: true
steps:
- uses: actions/[email protected]
- uses: ./.github/actions/vagrant-up
with:
container-runtime: ${{ matrix.runtime }}
kata-containers-enabled: ${{ matrix.kata_containers_enabled }}
crun-enabled: ${{ matrix.crun_enabled }}
enable-tests: ${{ matrix.enable_tests }}
krew-plugins-list: ${{ matrix.krew_plugins_list }}
metallb-enabled: ${{ matrix.metallb_enabled }}
int-tests: ${{ matrix.int_tests }}
test-multinode: ${{ matrix.test_multinode }}
run-conformance-tools: ${{ matrix.run_conformance_tools }}
cert-manager-enabled: ${{ matrix.cert_manager_enabled }}
changes:
runs-on: ubuntu-latest
if: >-
(
github.event_name == 'pull_request_review' &&
github.event.review.state == 'approved'
) || github.event_name != 'pull_request_review'
outputs:
scripts: ${{ steps.filter.outputs.scripts }}
steps:
- uses: actions/[email protected]
- uses: dorny/[email protected]
if: ${{ !env.ACT }}
id: filter
with:
token: ${{ secrets.GITHUB_TOKEN }}
filters: |
scripts:
- '**.sh'
check-format:
name: Check scripts format
if: needs.changes.outputs.scripts == 'true'
needs: changes
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
- name: Run the sh-checker
uses: luizm/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SHFMT_OPTS: -i 4 -s
with:
sh_checker_shellcheck_disable: true
sh_checker_exclude: "playbooks/roles/pmem/ spec/"
check-shellspec:
name: Run BDD shell specs
if: needs.changes.outputs.scripts == 'true'
needs: changes
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
- name: Install ShellSpec
run: curl -fsSL https://github.com/shellspec/shellspec/releases/latest/download/shellspec-dist.tar.gz | tar -xz -C ..
- name: Run Shellspec
shell: 'script -q -e -c "bash {0}"'
run: ../shellspec/shellspec --profile --xtrace