podman-desktop/tmt/plans/pd-e2e-plan.fmf
Anton Misskii 741a552111
chore(ci): Run e2e tests on Testing Farm after merge (#13887)
* chore(ci): add gha workflow to run e2e tests on TF
Signed-off-by: Anton Misskii <amisskii@redhat.com>

* fix: use latest version
Signed-off-by: Anton Misskii <amisskii@redhat.com>

* fix: use commit sha
Signed-off-by: Anton Misskii <amisskii@redhat.com>

* fix: test summary
Signed-off-by: Anton Misskii <amisskii@redhat.com>

* fix: incorporate some comments
Signed-off-by: Anton Misskii <amisskii@redhat.com>

* fix: copyright
Signed-off-by: Anton Misskii <amisskii@redhat.com>

* fix: ai comments
Signed-off-by: Anton Misskii <amisskii@redhat.com>

* fix: check cli versions
Signed-off-by: Anton Misskii <amisskii@redhat.com>

* fix: comment/always upload junit file
Signed-off-by: Anton Misskii <amisskii@redhat.com>

* fix: rename junit file
Signed-off-by: Anton Misskii <amisskii@redhat.com>
2025-09-26 12:09:06 +02:00

111 lines
3.3 KiB
Text

# /**********************************************************************
# Copyright (C) 2025 Red Hat, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
# ***********************************************************************/
summary: |
This plan provisions a test environment for running Playwright end-to-end tests against the Podman Desktop application.
It installs all required system dependencies, including GUI libraries,
sets up Node.js with pnpm, and starts Podman rootless service.
discover:
how: fmf
execute:
how: tmt
provision:
hardware:
memory: ">= 16 GB"
cpu:
cores: ">= 4"
disk:
- size: ">= 20 GB"
environment:
SKIP_COMPOSE_ONBOARDING_TEST: true
prepare:
- name: Install required packages
how: shell
script: |
sudo dnf update -y
sudo dnf install -y \
git nodejs npm xorg-x11-server-Xvfb \
nss nspr atk at-spi2-atk cups libXcomposite libXdamage libXfixes libXrandr cairo pango alsa-lib \
gcc-c++ gtk3 passt jq
sudo npm install -g pnpm
echo "NodeJS version: $(node -v)"
echo "npm version: $(npm -v)"
echo "pnpm Version: $(pnpm --version)"
- name: Install podman
how: shell
script: |
bash $TMT_TREE/tmt/scripts/install-podman.sh
- name: Enable and start Podman rootless service
how: shell
script: |
systemctl --user enable podman.socket || exit 1
systemctl --user start podman.socket || exit 1
systemctl --user is-active podman.socket || exit 1
/e2e:
summary: Execute all Playwright E2E tests, excluding those related to Kubernetes.
prepare+:
- name: Install Docker Compose CLI
how: shell
script: bash $TMT_TREE/tmt/scripts/install-docker-compose.sh
discover+:
filter: 'tag:e2e'
/smoke:
summary: Execute smoke Playwright E2E tests.
prepare+:
- name: Install Docker Compose CLI
how: shell
script: bash $TMT_TREE/tmt/scripts/install-docker-compose.sh
discover+:
filter: 'tag:smoke'
/kubernetes:
summary: Execute Kubernetes Playwright E2E tests.
prepare+:
- name: Install Kind CLI
how: shell
script: bash $TMT_TREE/tmt/scripts/install-kind.sh
- name: Install Kubectl
how: shell
script: bash $TMT_TREE/tmt/scripts/install-kubectl.sh
discover+:
filter: 'tag:kubernetes'
/all:
summary: Execute all Playwright E2E tests.
prepare+:
- name: Install Docker Compose CLI
how: shell
script: bash $TMT_TREE/tmt/scripts/install-docker-compose.sh
- name: Install Kind CLI
how: shell
script: bash $TMT_TREE/tmt/scripts/install-kind.sh
- name: Install Kubectl
how: shell
script: bash $TMT_TREE/tmt/scripts/install-kubectl.sh
discover+:
filter: 'tag:all'