Skip to content

Commit

Permalink
chore: add basic CI with workflow dispatch
Browse files Browse the repository at this point in the history
  • Loading branch information
Bilb committed Sep 20, 2024
1 parent d5be3e5 commit 6effdc7
Showing 1 changed file with 124 additions and 1 deletion.
125 changes: 124 additions & 1 deletion .github/workflows/desktop-regression.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Run android regression tests
name: Run desktop regression tests
on:
workflow_dispatch:
inputs:
Expand All @@ -12,10 +12,133 @@ on:
- bilb/session-playwright
default: oxen-io/session-playwright

BRANCH_TO_CHECKOUT_PW:
description: 'branch to checkout on session-playwright'
required: true
type: string
default: main

SESSION_DESKTOP_REPO:
description: 'Session desktop repo to checkout'
required: true
type: choice
options:
- oxen-io/session-desktop
- bilb/session-desktop
- yougotwill/session-desktop
default: oxen-io/session-desktop

BRANCH_TO_CHECKOUT_SESSION:
description: 'Branch to checkout on session-desktop'
required: true
type: string
default: unstable

PLAYWRIGHT_REPEAT_COUNT:
description: 'Repeats of each tests (0 to only run each once)'
required: true
type: number
default: 0

PLAYWRIGHT_RETRIES_COUNT:
description: 'Retries of each tests (0 to only run each once, 1 to run another attempt)'
required: true
type: number
default: 0

PLAYWRIGHT_WORKER_COUNT:
description: 'Playwright workers to start'
required: true
type: number
default: 4

concurrency:
group: ${{ github.workflow }}
cancel-in-progress: true

jobs:
desktop-regression:
name: Desktop Regression Tests
runs-on: [self-hosted, linux, x64, qa-desktop]
container:
image: ubuntu:latest

env:
SESSION_DESKTOP_ROOT: '$GITHUB_WORKSPACE/desktop'
PLAYWRIGHT_CUSTOM_REPORTER: 1
PLAYWRIGHT_REPEAT_COUNT: ${{ github.event.inputs.PLAYWRIGHT_REPEAT_COUNT }}
PLAYWRIGHT_RETRIES_COUNT: ${{ github.event.inputs.PLAYWRIGHT_RETRIES_COUNT }}
PLAYWRIGHT_WORKER_COUNT: ${{ github.event.inputs.PLAYWRIGHT_WORKER_COUNT }}

steps:
- uses: actions/checkout@v4
- name: Runner Details
run: |
echo "SESSION_DESKTOP_ROOT ${{ env.SESSION_DESKTOP_ROOT }}"
echo "PLAYWRIGHT_REPO ${{ github.event.inputs.PLAYWRIGHT_REPO }}"
echo "BRANCH_TO_CHECKOUT_PW ${{ github.event.inputs.BRANCH_TO_CHECKOUT_PW }}"
echo "SESSION_DESKTOP_REPO ${{ github.event.inputs.SESSION_DESKTOP_REPO }}"
echo "BRANCH_TO_CHECKOUT_SESSION ${{ github.event.inputs.BRANCH_TO_CHECKOUT_SESSION }}"
- uses: actions/checkout@v4
name: 'Checkout playwright'
with:
repository: ${{ github.event.inputs.PLAYWRIGHT_REPO }}
ref: ${{ github.event.inputs.BRANCH_TO_CHECKOUT_PW }}
path: 'playwright'

- name: Install system deps
run: apt update && apt install -y git g++ build-essential cmake

- uses: actions/checkout@v4
name: 'Checkout Session desktop'
with:
repository: ${{ github.event.inputs.SESSION_DESKTOP_REPO }}
ref: ${{ github.event.inputs.BRANCH_TO_CHECKOUT_SESSION }}
path: 'desktop'

- name: Install yarn
run: |
npm install -g yarn
- name: List desktop folder
run: |
pwd
ls -la desktop
- name: List playwright folder
run: |
pwd
ls -la playwright
- name: Build desktop
run: |
cd $GITHUB_WORKSPACE/desktop
yarn install --frozen-lockfile
- name: Install playwright dependencies
run: |
cd $GITHUB_WORKSPACE/playwright
yarn install --frozen-lockfile
- name: Build the Desktop tests
run: |
cd $GITHUB_WORKSPACE/desktop
yarn build-everything
- name: Build the Desktop tests
run: |
cd $GITHUB_WORKSPACE/playwright
yarn tsc
- name: Run the Android tests
run: |
cd $GITHUB_WORKSPACE/playwright
yarn test -g "Create User"
- name: Kill all running electron app
if: always()
continue-on-error: true # just so we don't fail
shell: bash
run: |
killall electron;

0 comments on commit 6effdc7

Please sign in to comment.