Skip to content

fix(iOS): Fix chatbar when use sidebar #2690

fix(iOS): Fix chatbar when use sidebar

fix(iOS): Fix chatbar when use sidebar #2690

name: Automated Tests
on:
pull_request:
types: [opened, synchronize, reopened, edited]
paths-ignore:
- ".github/workflows/**"
- "!.github/workflows/automated-tests.yml"
- ".gitignore"
- ".prettierrc.json"
- "PULL_REQUEST_TEMPLATE.md"
- "README.md"
workflow_dispatch:
jobs:
playwright-run:
timeout-minutes: 60
runs-on: ubuntu-latest
container:
image: mcr.microsoft.com/playwright:v1.49.1-noble
options: --user 1001
strategy:
fail-fast: false
matrix:
project: ["desktop-chrome", "mobile-chrome"]
permissions:
checks: write
pull-requests: write
contents: write
issues: read
steps:
- name: Checkout Uplink Web directory πŸ”–
uses: actions/[email protected]
- name: Checkout Automated Tests directory πŸ”–
uses: actions/[email protected]
with:
repository: Satellite-im/automated-tests-web
path: automated-tests
- name: Configure Git safe directory
run: git config --global --add safe.directory '/__w/UplinkWeb/UplinkWeb'
- name: Setup Node.js for Uplink Web πŸ”¨
uses: actions/[email protected]
with:
node-version: 20
- name: Install dependencies for Uplink Web πŸ“¦
run: npm install
- name: Install dependencies for Testing Repo πŸ“¦
working-directory: automated-tests
run: npm ci
- name: Run Playwright tests
working-directory: automated-tests
run: npx playwright test -c playwright.ci.config.ts --project=${{ matrix.project }}
- uses: actions/[email protected]
if: always()
with:
name: playwright-report-${{ matrix.project }}
path: automated-tests/blob-report/
retention-days: 5
- name: Upload Allure results as artifact
if: always()
uses: actions/[email protected]
with:
name: allure-results-${{ matrix.project }}
path: automated-tests/allure-results
retention-days: 5
- name: Add label if any of build jobs failed
if: failure()
uses: buildsville/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }}
labels: |
Failed Automated Test
type: add
merge-reports:
if: always()
needs: playwright-run
runs-on: ubuntu-latest
container:
image: mcr.microsoft.com/playwright:v1.49.1-noble
options: --user 1001
steps:
- name: Download Blob Report from Desktop
uses: actions/[email protected]
with:
name: playwright-report-desktop-chrome
path: blob-report
- name: Download Blob Report from Mobile
uses: actions/[email protected]
with:
name: playwright-report-mobile-chrome
path: blob-report
- name: Merge Blob Reports into HTML Report
run: npx playwright merge-reports --reporter html ./blob-report
- name: Upload Merged Report
if: always()
uses: actions/[email protected]
with:
name: playwright-merged-report
path: playwright-report
retention-days: 5
- name: Delete temporary artifacts
uses: geekyeggo/[email protected]
with:
name: |
playwright-report-desktop-chrome
playwright-report-mobile-chrome
publish-playwright-report:
if: always()
needs: merge-reports
runs-on: ubuntu-latest
permissions:
checks: write
pull-requests: write
contents: write
issues: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
outputs:
playwright_report_url: ${{ steps.comment.outputs.playwright_report_url }}
steps:
- uses: actions/[email protected]
with:
repository: Satellite-im/test-reports
ref: gh-pages
path: gh-pages
- name: Download Merged Report
uses: actions/[email protected]
with:
name: playwright-merged-report
path: playwright-report
- name: Set a timestamp one
id: timestampidone
run: echo "timestamp=$(date --utc +%Y%m%d_%H%M%SZ)" >> "$GITHUB_OUTPUT"
- name: Deploy Playwright HTML report to Github Pages
if: always()
uses: peaceiris/actions-gh-pages@v4
with:
deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
external_repository: Satellite-im/test-reports
publish_branch: gh-pages
publish_dir: ./playwright-report
destination_dir: ${{ steps.timestampidone.outputs.timestamp }}
- name: Set Playwright report URL output
id: comment
run: echo "playwright_report_url=https://satellite-im.github.io/test-reports/${{ steps.timestampidone.outputs.timestamp }}/" >> "$GITHUB_OUTPUT"
publish-allure-report:
if: always()
needs: publish-playwright-report
runs-on: ubuntu-latest
permissions:
checks: write
pull-requests: write
contents: write
issues: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
steps:
- name: Download Allure results artifact for desktop
uses: actions/[email protected]
with:
name: allure-results-desktop-chrome
path: allure/desktop-chrome
- name: Download Allure results artifact for mobile
uses: actions/[email protected]
with:
name: allure-results-mobile-chrome
path: allure/mobile-chrome
- name: Merge Allure results
run: |
mkdir -p allure-results
cp -r allure/desktop-chrome/* allure-results/
cp -r allure/mobile-chrome/* allure-results/
- name: Get Allure history
uses: actions/[email protected]
if: always()
continue-on-error: true
with:
repository: Satellite-im/test-reports
ref: gh-pages
path: gh-pages
- name: Generate Allure Report
if: always()
uses: simple-elf/allure-report-action@master
with:
gh_pages: gh-pages
allure_results: allure-results
allure_report: allure-report
allure_history: allure-history
keep_reports: 20
github_repo: Satellite-im/test-reports
github_repo_owner: Satellite-im
- name: Deploy report to Github Pages
uses: peaceiris/actions-gh-pages@v4
if: always()
with:
deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
external_repository: Satellite-im/test-reports
publish_branch: gh-pages
publish_dir: ./allure-history
- name: Comment PR with Allure test results
if: always() && github.event_name == 'pull_request'
uses: mshick/[email protected]
with:
message: |
Automated tests execution is complete! You can find the Playwright test report [here](${{ needs.publish-playwright-report.outputs.playwright_report_url }}) and the Allure Test Report [here](https://satellite-im.github.io/test-reports/${{ github.run_number }})
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
remove-label:
needs: [playwright-run, merge-reports, publish-playwright-report, publish-allure-report]
runs-on: ubuntu-latest
permissions:
checks: write
pull-requests: write
contents: write
issues: read
steps:
- name: Checkout directory πŸ”–
uses: actions/[email protected]
- name: Delete artifacts required on failed execution
uses: geekyeggo/[email protected]
with:
name: |
playwright-merged-report
allure-results-desktop-chrome
allure-results-mobile-chrome
- name: Remove label if all test jobs succeeded
uses: buildsville/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }}
labels: |
Failed Automated Test
type: remove