Skip to content

chore(deps-dev): bump @typescript-eslint/eslint-plugin #760

chore(deps-dev): bump @typescript-eslint/eslint-plugin

chore(deps-dev): bump @typescript-eslint/eslint-plugin #760

name: Podman Desktop SSO E2E Nightly
on:
push:
branches:
- main
workflow_dispatch:
inputs:
pd_repo_options:
default: 'REPO=podman-desktop,FORK=podman-desktop,BRANCH=main'
description: 'Podman Desktop Extension repo, fork and branch'
type: string
required: true
ext_repo_options:
default: 'REPO=podman-desktop-redhat-account-ext,FORK=redhat-developer,BRANCH=main,TESTS=1'
description: 'Podman Desktop Extension repo, fork and branch'
type: string
required: true
npm_target:
default: 'test:e2e'
description: 'npm target to run tests'
type: string
required: true
podman_version:
default: 'latest'
description: 'Podman version (use "latest" to auto-fetch latest release, or specify version like "v5.6.1")'
type: string
required: true
podman_desktop_url:
description: 'podman desktop testing-prerelease setup-exe url'
type: string
required: false
podman_options:
default: 'INIT=1,START=1,ROOTFUL=1,NETWORKING=0'
description: 'Podman machine configuration options, no spaces'
type: 'string'
required: true
podman_provider:
type: choice
description: 'Podman virtualization provider, default is wsl, alternative hyperv'
options:
- wsl
- hyperv
required: true
env_vars:
default: 'ELECTRON_ENABLE_INSPECT=true,AUTH_E2E_TESTS=true'
description: 'Env. Variables passed into target machine, ie: VAR1=xxx,VAR2=true,VAR3=15,VAR4="Pass me along"'
type: 'string'
required: false
images_version:
default: 'BUILDER="v0.0.3",PODMAN="v0.0.3",RUNNER="v0.0.3"'
description: 'Testing images versions, no spaces'
type: 'string'
required: true
mapt_params:
description: |
**Create instance (leave empty to use repo secrets/variables)**
**Format:** IMAGE=xxx;VERSION_TAG=xxx;CPUS=xxx;MEMORY=xxx;EXCLUDED_REGIONS=xxx
**Example:**
IMAGE=quay.io/redhat-developer/mapt;VERSION_TAG=v0.9.8;CPUS=8;MEMORY=32;EXCLUDED_REGIONS="westindia,centralindia,southindia,australiacentral,australiacentral2,australiaeast,australiasoutheast,southafricanorth,southafricawest"
required: false
type: string
jobs:
windows:
name: windows-${{ matrix.windows-version }}-${{ matrix.windows-featurepack }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
windows-version: ['11']
windows-featurepack: ['25h2-ent']
steps:
- name: Get Latest Podman Desktop testing prerelease
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
tag=$(curl --request GET \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ env.GH_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/repos/podman-desktop/testing-prereleases/tags?pages=1" | jq -r '.[0].name')
echo "Tag: $tag"
# releaes id
id=$(curl --request GET \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ env.GH_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/repos/podman-desktop/testing-prereleases/releases/tags/$tag" | jq -r '.id')
echo "Release ID: $id"
# list assets with setup-x64.exe suffix
url=$(curl --request GET \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ env.GH_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/repos/podman-desktop/testing-prereleases/releases/$id/assets" | jq -r '.[] | select (.name | test("setup-x64.exe$"))' | jq -r '.browser_download_url')
echo "Podman Desktop testing prerelease url: ${url}"
echo "DEFAULT_PD_URL=${url}" >> $GITHUB_ENV
- name: Fetch latest Podman version
id: fetch-podman
uses: redhat-actions/podman-install/.github/actions/fetch-latest-podman-version-windows@aea6ff44f2a4a82da13d22061ce73443a125925d
with:
version_input: ${{ github.event.inputs.podman_version || 'latest' }}
file_type: 'msi'
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Set the default env. variables
env:
DEFAULT_PD_REPO_OPTIONS: 'REPO=podman-desktop,FORK=podman-desktop,BRANCH=main'
DEFAULT_NPM_TARGET: 'test:e2e'
DEFAULT_ENV_VARS: 'TEST_PODMAN_MACHINE=true,AUTH_E2E_TESTS=true'
DEFAULT_PODMAN_OPTIONS: 'INIT=1,START=1,ROOTFUL=1,NETWORKING=0'
DEFAULT_PODMAN_PROVIDER: 'wsl'
DEFAULT_EXT_REPO_OPTIONS: 'REPO=podman-desktop-redhat-account-ext,FORK=redhat-developer,BRANCH=main,TESTS=1'
DEFAULT_IMAGES_VERSIONS: 'BUILDER="v0.0.3",PODMAN="v0.0.3",RUNNER="v0.0.3"'
run: |
echo "NPM_TARGET=${{ github.event.inputs.npm_target || env.DEFAULT_NPM_TARGET }}" >> $GITHUB_ENV
echo "PODMAN_PROVIDER=${{ github.event.inputs.podman_provider || env.DEFAULT_PODMAN_PROVIDER }}" >> $GITHUB_ENV
echo "PD_URL=${{ github.event.inputs.podman_desktop_url || env.DEFAULT_PD_URL }}" >> $GITHUB_ENV
echo "ENV_VARS=${{ github.event.inputs.env_vars || env.DEFAULT_ENV_VARS }}" >> $GITHUB_ENV
echo "PODMAN_URL=${{ steps.fetch-podman.outputs.download_url }}" >> $GITHUB_ENV
echo "${{ github.event.inputs.pd_repo_options || env.DEFAULT_PD_REPO_OPTIONS }}" | awk -F ',' \
'{for (i=1; i<=NF; i++) {split($i, kv, "="); print "PD_"kv[1]"="kv[2]}}' >> $GITHUB_ENV
echo "${{ github.event.inputs.podman_options || env.DEFAULT_PODMAN_OPTIONS }}" | awk -F ',' \
'{for (i=1; i<=NF; i++) {split($i, kv, "="); print "PODMAN_"kv[1]"="kv[2]}}' >> $GITHUB_ENV
echo "${{ github.event.inputs.ext_repo_options || env.DEFAULT_EXT_REPO_OPTIONS }}" | awk -F ',' \
'{for (i=1; i<=NF; i++) {split($i, kv, "="); print "EXT_"kv[1]"="kv[2]}}' >> $GITHUB_ENV
echo "${{ github.event.inputs.images_version || env.DEFAULT_IMAGES_VERSIONS }}" | awk -F ',' \
'{for (i=1; i<=NF; i++) {split($i, kv, "="); print "PDE2E_"kv[1]"="kv[2]}}' >> $GITHUB_ENV
# For mapt_params, use repo variables directly if input is empty
if [ -n "${{ github.event.inputs.mapt_params }}" ]; then
mapt_params="${{ github.event.inputs.mapt_params }}"
else
mapt_params="IMAGE=${{ vars.MAPT_IMAGE }};VERSION_TAG=${{ vars.MAPT_VERSION_TAG }};CPUS=${{ vars.MAPT_CPUS }};MEMORY=${{ vars.MAPT_MEMORY }};EXCLUDED_REGIONS=\"${{ vars.MAPT_EXCLUDED_REGIONS }}\""
fi
echo "$mapt_params" | awk -F ';' '{for (i=1; i<=NF; i++) {split($i, kv, "="); print "MAPT_"kv[1]"="kv[2]}}' >> $GITHUB_ENV
- name: Create instance
uses: podman-desktop/e2e/.github/actions/create-instance@2450b5d31b76aa87f4588abc86c36f73d7df2b16
with:
mapt-image: ${{ env.MAPT_IMAGE || '' }}
mapt-version: ${{ env.MAPT_VERSION_TAG || '' }}
windows-version: ${{ matrix.windows-version }}
windows-featurepack: ${{ matrix.windows-featurepack }}
cpus: ${{ env.MAPT_CPUS || '' }}
memory: ${{ env.MAPT_MEMORY || '' }}
excluded-regions: ${{ env.MAPT_EXCLUDED_REGIONS || '' }}
arm-tenant-id: ${{ secrets.ARM_TENANT_ID }}
arm-subscription-id: ${{ secrets.ARM_SUBSCRIPTION_ID }}
arm-client-id: ${{ secrets.ARM_CLIENT_ID }}
arm-client-secret: ${{ secrets.ARM_CLIENT_SECRET }}
- name: Check instance system info
uses: podman-desktop/e2e/.github/actions/instance-system-info@2450b5d31b76aa87f4588abc86c36f73d7df2b16
- name: Emulate X session
uses: podman-desktop/e2e/.github/actions/emulate-x-session@2450b5d31b76aa87f4588abc86c36f73d7df2b16
- name: Download Podman, do not initialize
uses: podman-desktop/e2e/.github/actions/download-podman-nightly@2450b5d31b76aa87f4588abc86c36f73d7df2b16
with:
podman-image-tag: ${{ env.PDE2E_PODMAN }}
podman-download-url: ${{ env.PODMAN_URL }}
- name: Set env secrets
env:
DVLPR_USERNAME: ${{ secrets.DVLPR_USERNAME }}
DVLPR_PASSWORD: ${{ secrets.DVLPR_PASSWORD }}
run: |
echo "DVLPR_USERNAME=${DVLPR_USERNAME}" >> secrets.txt
echo "DVLPR_PASSWORD=${DVLPR_PASSWORD}" >> secrets.txt
- name: Run Podman Desktop Playwright E2E tests
uses: podman-desktop/e2e/.github/actions/run-playwright-test@2450b5d31b76aa87f4588abc86c36f73d7df2b16
with:
pde2e-runner-tag: ${{ env.PDE2E_RUNNER }}
fork-repo: ${{ env.PD_FORK }}
branch-name: ${{ env.PD_BRANCH }}
ext-repo: ${{ env.EXT_REPO }}
ext-fork: ${{ env.EXT_FORK }}
ext-branch: ${{ env.EXT_BRANCH }}
ext-tests: ${{ env.EXT_TESTS }}
npm-target: ${{ env.NPM_TARGET }}
podman-path: true
podman-init: ${{ env.PODMAN_INIT }}
podman-start: ${{ env.PODMAN_START }}
rootful: ${{ env.PODMAN_ROOTFUL }}
user-networking: ${{ env.PODMAN_NETWORKING }}
podman-provider: ${{ env.PODMAN_PROVIDER }}
podman-desktop-url: ${{ env.PD_URL }}
env-vars: ${{ env.ENV_VARS }}
ci-bot-token: ${{ secrets.PODMAN_DESKTOP_BOT_TOKEN }}
- name: Destroy instance
if: always()
uses: podman-desktop/e2e/.github/actions/destroy-instance@2450b5d31b76aa87f4588abc86c36f73d7df2b16
with:
mapt-image: ${{ env.MAPT_IMAGE }}
mapt-version: ${{ env.MAPT_VERSION_TAG }}
arm-tenant-id: ${{ secrets.ARM_TENANT_ID }}
arm-subscription-id: ${{ secrets.ARM_SUBSCRIPTION_ID }}
arm-client-id: ${{ secrets.ARM_CLIENT_ID }}
arm-client-secret: ${{ secrets.ARM_CLIENT_SECRET }}
- name: Publish Test Report
uses: mikepenz/action-junit-report@v6
if: always() # always run even if the previous step fails
with:
fail_on_failure: true
include_passed: true
annotate_only: true
detailed_summary: true
require_tests: true
report_paths: '**/*results.xml'
- name: Upload test artifacts
uses: actions/upload-artifact@v7
if: always()
with:
name: results-e2e-${{ matrix.windows-version }}${{ matrix.windows-featurepack }}
path: |
results/*