podman-desktop/.github/workflows/managed-configuration.yaml
dependabot[bot] c40f8a2e7f chore(deps): bump pnpm/action-setup from 4.3.0 to 4.4.0
Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 4.3.0 to 4.4.0.
- [Release notes](https://github.com/pnpm/action-setup/releases)
- [Commits](b906affcce...fc06bc1257)

---
updated-dependencies:
- dependency-name: pnpm/action-setup
  dependency-version: 4.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-16 07:11:31 +01:00

99 lines
4.3 KiB
YAML

name: Managed configuration tests
on:
workflow_dispatch: {}
push:
branches: [ main ]
jobs:
managed-configuration:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
name: Managed configuration tests - ${{ matrix.os }}
runs-on: ${{ matrix.os }}
timeout-minutes: ${{ matrix.timeout }}
strategy:
fail-fast: false
matrix:
os: [ 'ubuntu-latest', 'macos-latest', 'windows-2025' ]
timeout: [ 15 ]
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup testenv using external action
uses: podman-desktop/e2e/.github/actions/pde2e-testenv-prepare@13e2c57c759137bfc1f437f221967461e8a98e2a
- name: Install pnpm
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4.4.0
with:
run_install: false
- name: Setup Node
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: 24
cache: 'pnpm'
- name: Install dependencies
run: pnpm install
# --- OS-specific administrative setup ---
- name: Linux managed configuration files
if: ${{ startsWith(matrix.os, 'ubuntu') }}
run: |
echo "Managed configuration set-up for Linux"
sudo mkdir -p /usr/share/podman-desktop
sudo cp tests/playwright/resources/managed-configuration/default-settings.json /usr/share/podman-desktop/default-settings.json
sudo cp tests/playwright/resources/managed-configuration/locked.json /usr/share/podman-desktop/locked.json
echo "Default settings:" && sudo cat /usr/share/podman-desktop/default-settings.json
echo "Locked settings:" && sudo cat /usr/share/podman-desktop/locked.json
- name: MacOS managed configuration files
if: ${{ startsWith(matrix.os, 'macos') }}
run: |
echo "Managed configuration set-up for macOS"
sudo mkdir -p /Library/Application\ Support/io.podman_desktop.PodmanDesktop/
sudo cp tests/playwright/resources/managed-configuration/default-settings.json "/Library/Application Support/io.podman_desktop.PodmanDesktop/default-settings.json"
sudo cp tests/playwright/resources/managed-configuration/locked.json "/Library/Application Support/io.podman_desktop.PodmanDesktop/locked.json"
echo "Default settings:" && sudo cat /Library/Application\ Support/io.podman_desktop.PodmanDesktop/default-settings.json
echo "Locked settings:" && sudo cat /Library/Application\ Support/io.podman_desktop.PodmanDesktop/locked.json
- name: Windows managed configuration files
if: ${{ startsWith(matrix.os, 'windows') }}
shell: pwsh
run: |
Write-Host "Managed configuration set-up for Windows"
$managedDir = Join-Path $env:ProgramData 'Podman Desktop'
New-Item -Path $managedDir -ItemType Directory -Force | Out-Null
Copy-Item -Path 'tests\playwright\resources\managed-configuration\default-settings.json' -Destination (Join-Path $managedDir 'default-settings.json') -Force
Copy-Item -Path 'tests\playwright\resources\managed-configuration\locked.json' -Destination (Join-Path $managedDir 'locked.json') -Force
Write-Host "Default settings:"
Get-Content -Path (Join-Path $managedDir 'default-settings.json')
Write-Host "Locked settings:"
Get-Content -Path (Join-Path $managedDir 'locked.json')
# ========================================
- name: Run managed configuration spec
shell: bash
run: |
echo "Runner OS: $RUNNER_OS, matrix.os: ${{ matrix.os }}"
pnpm test:e2e:managed-configuration
- name: Publish Test Report
uses: mikepenz/action-junit-report@49b2ca06f62aa7ef83ae6769a2179271e160d8e4 # v6.3.1
if: always()
with:
fail_on_failure: true
include_passed: true
detailed_summary: true
annotate_only: true
require_tests: true
report_paths: '**/*results.xml'
- name: Upload artifacts
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
if: always()
with:
name: managed-configuration-${{ matrix.os }}
path: |
./tests/**/output/
!./tests/**/traces/raw