⬆️👷 Bump softprops/action-gh-release from c9b46fe7aad9f02afd89b12450b780f52dacfb2d to 4634c16e79c963813287e889244c50009e7f0981 #306
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: SDK Regression | |
on: | |
issue_comment: | |
types: [created, edited] | |
jobs: | |
regression: | |
name: regression | |
runs-on: ubuntu-latest | |
if: ${{ github.event.issue.pull_request && github.event.comment.body == 'RUN_REGRESSION' }} | |
strategy: | |
matrix: | |
# Format: repo@branch (default branch is master) | |
repo: | |
- percy-ember | |
- percy-cypress | |
- percy-puppeteer | |
- percy-storybook | |
- percy-playwright | |
- percy-testcafe | |
- percy-nightwatch | |
- percy-nightmare | |
- percy-webdriverio | |
- percy-webdriverio@v2 | |
- percy-protractor | |
- percy-selenium-js | |
- percy-selenium-dotnet | |
- percy-selenium-java | |
- percy-selenium-python | |
- percy-selenium-ruby@main | |
- percy-capybara | |
- percy-appium-js | |
- gatsby-plugin-percy | |
steps: | |
- name: Get user permissions | |
uses: actions/github-script@v4 | |
id: check-access | |
with: | |
script: | | |
const { owner, repo } = context.repo; | |
const { login } = context.payload.comment.user; | |
const { data } = await github.repos.getCollaboratorPermissionLevel({ owner, repo, username: login }); | |
return data.permission; | |
result-encoding: string | |
- name: Check Access Level | |
if: steps.check-access.outputs.result != 'write' && steps.check-access.outputs.result != 'admin' | |
run: exit 1 | |
- uses: xt0rted/pull-request-comment-branch@v2 | |
if: ${{ github.event.issue.pull_request }} | |
id: comment-branch | |
- uses: actions-ecosystem/action-regex-match@v2 | |
id: regex-match | |
with: | |
text: ${{ steps.comment-branch.outputs.head_ref }} | |
regex: '^[a-zA-Z0-9_/\-]+$' | |
- name: Break on invalid branch name | |
run: exit 1 | |
if: ${{ steps.regex-match.outputs.match == '' }} | |
- name: Get Current Job Log URL | |
uses: Tiryoh/gha-jobid-action@v0 | |
id: job-url | |
with: | |
github_token: ${{ secrets.WORKFLOW_DISPATCH_ACTIONS_TOKEN }} | |
job_name: "regression (${{ matrix.repo }})" | |
- name: Output Current Job Log URL | |
run: echo ${{ steps.jobs.outputs.html_url }} | |
- uses: actions/github-script@v4 | |
with: | |
github-token: ${{ secrets.WORKFLOW_DISPATCH_ACTIONS_TOKEN }} | |
script: | | |
const { owner, repo } = context.repo; | |
const sha = '${{ steps.comment-branch.outputs.head_sha }}' | |
const state = 'pending'; | |
const target_url = '${{ steps.job-url.outputs.html_url }}' | |
const check_name = 'SDK Regression ${{ matrix.repo }}' | |
github.repos.createCommitStatus({ | |
context: check_name, | |
owner, | |
repo, | |
sha, | |
state, | |
target_url | |
}); | |
- uses: jungwinter/split@v2 | |
id: split | |
with: | |
msg: ${{ matrix.repo }} | |
separator: '@' | |
- name: Trigger Workflow & Wait | |
uses: convictional/[email protected] | |
id: reg-test | |
with: | |
owner: percy | |
repo: ${{ steps.split.outputs._0 }} | |
github_token: ${{ secrets.WORKFLOW_DISPATCH_ACTIONS_TOKEN }} | |
workflow_file_name: test.yml | |
ref: ${{ steps.split.outputs._1 || 'master' }} | |
client_payload: '{ "branch": "${{ steps.comment-branch.outputs.head_ref }}"}' | |
wait_interval: 15 | |
- name: Update Status | |
uses: actions/github-script@v4 | |
with: | |
github-token: ${{ secrets.WORKFLOW_DISPATCH_ACTIONS_TOKEN }} | |
script: | | |
const { owner, repo } = context.repo; | |
const sha = '${{ steps.comment-branch.outputs.head_sha }}' | |
const state = '${{ steps.reg-test.outcome }}'; | |
const target_url = '${{ steps.job-url.outputs.html_url }}' | |
const check_name = 'SDK Regression ${{ matrix.repo }}' | |
github.repos.createCommitStatus({ | |
context: check_name, | |
owner, | |
repo, | |
sha, | |
state, | |
target_url | |
}); |