Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .fmf/version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1
46 changes: 46 additions & 0 deletions .github/workflows/tmt-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: TMT Tests

on:
push:
branches:
- main
pull_request:
branches:
- main
workflow_dispatch:
inputs:
plan_filter:
description: |
Test plan filter name, ie: tag:smoke.
If provided, only tests matching this filter will be run, otherwise all tests will be run.
required: false
default: ''

jobs:
tmt-tests:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Install dependencies
run: |
set -x -e -o pipefail
sudo apt-get update
sudo apt-get install -y podman libblkid-dev rsync
pip install --user tmt

- name: Run TMT tests
run: |
set -x -e -o pipefail
if [ "$ACT" = "true" ]; then
echo "Running locally using ACT"
TMT_PROVISION_OPTS="--how local --feeling-safe"
else
TMT_PROVISION_OPTS="--how container"
fi
if [ -n "${{ github.event.inputs.plan_filter }}" ]; then
PLAN_FILTER_PARAM="plan --filter '${{ github.event.inputs.plan_filter }}'"
fi
eval "tmt run --all --debug -vvvv provision $TMT_PROVISION_OPTS $PLAN_FILTER_PARAM"
6 changes: 6 additions & 0 deletions tests/core/core.fmf
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
summary: check bootupd package installation
tag:
- smoke
test: |
set -x -e -o pipefail
rpm -q bootupd
32 changes: 32 additions & 0 deletions tests/tmt/plans/main.fmf
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# This prepare is used to control when bootupd is installed using
# the distribution package or when it is built from source in the test environment
prepare:
- name: Set BOOTUPD_BIN_DIR when built from source
when: use_built_from_src is defined and use_built_from_src == true
how: shell
script: |
set -x -e -o pipefail
echo "Preparing the test environment"
BOOTUPD_BIN_NAME="bootupd"
PARENT_DIR=$(dirname "${TMT_TREE}")
BOOTUPD_BIN_FULL_PATH=$(find "${PARENT_DIR}" -type f -name "${BOOTUPD_BIN_NAME}")
if [ -z "${BOOTUPD_BIN_FULL_PATH}" ]; then
echo "bootupd file not found."
exit 1
elif [ "$(echo "${BOOTUPD_BIN_FULL_PATH}" | wc -l)" -gt 1 ]; then
echo "error: found multiple 'bootupd' binaries:" >&2
echo "${BOOTUPD_BIN_FULL_PATH}" >&2
exit 1
fi
BOOTUPD_BIN_DIR=$(dirname "${BOOTUPD_BIN_FULL_PATH}")
echo "BOOTUPD_BIN_DIR=${BOOTUPD_BIN_DIR}" > /tmp/bootupd_bin_dir
- name: Install bootupd package
when: use_built_from_src is not defined or use_built_from_src == false
how: install
package: bootupd
- name: Set BOOTUPD_BIN_DIR when installed package
when: use_built_from_src is not defined or use_built_from_src == false
how: shell
script: |
set -x -e -o pipefail
echo "BOOTUPD_BIN_DIR=/usr/libexec" > /tmp/bootupd_bin_dir
8 changes: 8 additions & 0 deletions tests/tmt/plans/smoke.fmf
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
summary: Basic smoke test
tag:
- smoke
discover:
how: fmf
filter: "tag: smoke"
execute:
how: tmt