Skip to content

SlackNotifications

SlackNotifications #55

Workflow file for this run

# Name of the GitHub Actions workflow
name: Playwright Github Actions
# Define when to trigger this workflow
on:
push:
branches:
- main
pull_request:
branches:
- main
# Define the jobs to run in this workflow
jobs:
# Define a job named 'build'
build:
# Specify the operating system for this job
runs-on: ubuntu-latest
env:
SLACK_WEBHOOK_URL: ${{secrets.SLACK_WEBHOOK_URL}}
# Define the steps to execute in this job
steps:
# Step to checkout the source code from the repository
- name: Checkout code
uses: actions/checkout@v2
# Step to set up the Node.js version
- name: Install node js v20
uses: actions/setup-node@v2
with:
node-version: "20"
# Step to install Node.js dependencies
- name: Install dependencies
run: npm ci
# Step to install Chrome browser for Playwright
- name: Install Chrome browser for Playwright
run: npx playwright install chrome
# Step to run tests with qa as environment variable similarly we can define qa|dev|qaApi|devApi
- name: Run tests
run: npm run test:serial
env:
npm_config_ENV: "qa"
# Step to wait for the job to complete
- name: Wait for job completion
# Adjust the wait time as needed
run: sleep 30s
# This step should always run, even if previous steps fail
if: always()
# Step to zip html-report folder
- name: Zip HTML report
run: zip -r html-report.zip html-report
# This step should always run, even if previous steps fail
if: always()
- name: Send Slack notification
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
SLACK_CHANNEL: "#playwright-test-reports"
SLACK_USERNAME: GitHub Actions
SLACK_TITLE: Playwright Tests Completed
SLACK_TEXT: "Playwright tests have completed. Here is the HTML zip report."
SLACK_FILE: ./html-report.zip
# This step should always run, even if previous steps fail
if: always()