Skip to content

Fix playwright test screenshots posting #715

Fix playwright test screenshots posting

Fix playwright test screenshots posting #715

Workflow file for this run

name: Tests
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
timeout-minutes: 20
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v4
with:
version: 9.5.0
- uses: actions/setup-node@v3
with:
node-version: '20'
cache: 'pnpm'
cache-dependency-path: 'src/frontend/pnpm-lock.yaml'
- name: Install dependencies
working-directory: ./src/frontend
run: pnpm install
- name: Store Playwright's Version
working-directory: ./src/frontend/tests
run: |
PLAYWRIGHT_VERSION=$(pnpm list @playwright/test | grep @playwright | sed 's/.*@//')
echo "Playwright's Version: $PLAYWRIGHT_VERSION"
echo "PLAYWRIGHT_VERSION=$PLAYWRIGHT_VERSION" >> $GITHUB_ENV
- name: Cache Playwright Browsers for Playwright's Version
id: cache-playwright-browsers
uses: actions/cache@v3
with:
path: ~/.cache/ms-playwright
key: playwright-browsers2-${{ env.PLAYWRIGHT_VERSION }}
- name: Setup Playwright
if: steps.cache-playwright-browsers.outputs.cache-hit != 'true'
working-directory: ./src/frontend/tests
run: pnpm exec playwright install
- uses: actions/setup-java@master
with:
distribution: adopt
java-version: 17
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
- name: Build with gradle
run: ./gradlew build release apiCheck --scan -Pnpm.download=false
- name: PR playwright - upload
id: pr_playwright-upload
if: github.event.pull_request.number != '' && hashFiles('./src/frontend/tests/playwright-report') != ''
working-directory: ./src/frontend/tests/playwright-report/data
env:
# using [email protected] IMGBB acount
IMGBB_API_TOKEN: ${{ secrets.IMGBB_API_TOKEN }}
run: |
ls *.png | \
xargs -i curl -s -P1 --location --request POST "https://api.imgbb.com/1/upload?expiration=604800&key=$IMGBB_API_TOKEN" --form "image=@{}" | \
jq -r '.data.url' | paste -sd "," - | awk '{print "pr_playwright_images="$0 }' | tee "$GITHUB_OUTPUT"
sleep 30
- name: PR playwright - comment
uses: actions/github-script@v7
if: github.event.pull_request.number != '' && hashFiles('./src/frontend/tests/playwright-report') != ''
with:
script: |
const images_grid = '${{steps.pr_playwright-upload.outputs.pr_playwright_images}}'
.split(',').concat('https://arc.live.kbats.ru/contests/wf47_finals/teams/team_photos/team-47133.jpg').map(i => '<img src="' + i + '" width="400" />').join(' ');
console.log(images_grid);
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: 'Playwright tests screens\n\n<p float="left">' + images_grid + '</p>'
});
- uses: actions/upload-artifact@v3
if: always()
with:
name: playwright-report
path: ./src/frontend/tests/playwright-report/
retention-days: 3
- uses: actions/upload-artifact@v3
if: always()
with:
name: artifacts
path: artifacts
retention-days: 3