Skip to content

EDM-4153: Improve layout of Repository select dropdown #2594

EDM-4153: Improve layout of Repository select dropdown

EDM-4153: Improve layout of Repository select dropdown #2594

Workflow file for this run

name: CI
on:
pull_request:
push:
branches:
- main
- release*
jobs:
preflight-check:
# Prevents running the workflow when a PR is marked as draft.
runs-on: ubuntu-latest
outputs:
skip: ${{ steps.check.outputs.skip }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22.x
- name: Check if PR is draft
id: check
run: |
if [[ "${{ github.event.pull_request.draft }}" == "true" ]]; then
skip=true
else
skip=false
fi
echo "skip=${skip}" >> $GITHUB_OUTPUT
echo "skip=${skip}"
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22.x
- name: Install dependencies
run: npm ci
- name: Attempt a build
run: npm run build
- name: Run eslint
run: npm run lint
build-standalone:
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22.x
- name: Install dependencies
run: npm ci
- name: Attempt a build
run: npm run build
build-ocp:
name: Build ocp plugin
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22.x
- name: Install dependencies
run: npm ci
- name: Attempt a build
run: npm run build:ocp
build-containers:
name: Build containers
runs-on: ubuntu-latest
strategy:
matrix:
os: [el9, el10]
variant: [standalone, ocp]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22.x
- name: Install dependencies
run: npm ci
- name: Determine Containerfile
id: containerfile
run: |
if [[ "${{ matrix.variant }}" == "standalone" ]]; then
echo "file=packaging/images/${{ matrix.os }}/Containerfile" >> $GITHUB_OUTPUT
else
echo "file=packaging/images/${{ matrix.os }}/Containerfile.ocp" >> $GITHUB_OUTPUT
fi
- name: Build container (${{ matrix.os }} ${{ matrix.variant }})
run: |
echo "Building ${{ matrix.variant }} UI container for ${{ matrix.os }}..."
podman build -f ${{ steps.containerfile.outputs.file }} -t test-ui:${{ matrix.os }}-${{ matrix.variant }} .
echo "✓ Successfully built ${{ matrix.os }} ${{ matrix.variant }} container"
- name: Verify container - help command
id: verify-help
run: |
echo "Testing help command..."
if timeout 30s podman run --rm test-ui:${{ matrix.os }}-${{ matrix.variant }} ./flightctl-ui --help; then
echo "Help command successful"
echo "passed=true" >> $GITHUB_OUTPUT
else
echo "Help command failed"
echo "passed=false" >> $GITHUB_OUTPUT
fi
- name: Verify container - binary exists
if: steps.verify-help.outputs.passed != 'true'
run: |
echo "Help command failed, checking if binary exists..."
if timeout 30s podman run --rm test-ui:${{ matrix.os }}-${{ matrix.variant }} ls -la /app/proxy/flightctl-ui; then
echo "Binary exists but help command failed"
else
echo "Binary missing"
exit 1
fi
integration-tests:
needs: preflight-check
if: needs.preflight-check.outputs.skip == 'false'
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22.x
- name: Run integration tests
uses: cypress-io/github-action@v6
with:
install-command: npm ci
build: npm run build
config-file: libs/cypress/cypress.config.ts
browser: chrome
start: npm run integration-tests:ci
wait-on: 'http://localhost:9000'
wait-on-timeout: 60