Playwright + Argos Tests #12
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Playwright + Argos Tests | |
on: | |
# Trigger on deployment event | |
deployment_status: | |
workflow_dispatch: | |
# Trigger when a label is added to a PR | |
pull_request: | |
types: | |
- labeled | |
jobs: | |
test: | |
# Run tests only if the deployment is successful | |
if: | | |
( | |
github.event_name == 'deployment_status' && | |
github.event.deployment_status.state == 'success' && | |
contains(github.event.deployment_status.deployment.payload.pull_request.labels.*.name, 'visual-test') | |
) || ( | |
github.event_name == 'pull_request' && | |
github.event.action == 'labeled' && | |
github.event.label.name == 'visual-test' | |
) | |
runs-on: ubuntu-latest | |
steps: | |
# Step 1: Check out the repository | |
- name: Check out docs repo | |
uses: actions/checkout@v4 | |
with: | |
repository: ClickHouse/clickhouse-docs | |
path: ./ | |
# Step 2: Setup node | |
- name: Set up Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '20.18.0' | |
cache: 'yarn' | |
# Debug: List files in the working directory | |
- name: List files | |
run: ls -la | |
# Step 3: Download reference docs | |
- name: Download Reference Docs | |
run: | | |
curl https://codeload.github.com/ClickHouse/ClickHouse/tar.gz/master | tar -xz -C ./ --strip=2 "ClickHouse-master/docs/" | |
cp -R ./en docs/ | |
cp -R ./ru docs/ | |
cp -R ./zh docs/ | |
# Step 4: Install dependencies and build the site | |
- name: Install and build | |
run: | | |
export NODE_OPTIONS="--max_old_space_size=4096" | |
npm install -g yarn | |
yarn install | |
yarn build | |
# Step 5: Run Playwright tests | |
- name: Run Playwright tests | |
run: yarn playwright test | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
BASE_URL: ${{ github.event.deployment_status.environment_url }} | |
ARGOS_BRANCH: ${{ github.event.deployment_status.environment == 'Production' && 'main' || github.ref_name }} | |
CI: true | |
ARGOS_TOKEN: ${{ secrets.ARGOS_TOKEN }} |