Skip to content

[Fairground 🎡] Highlights container carousel #1238

[Fairground 🎡] Highlights container carousel

[Fairground 🎡] Highlights container carousel #1238

# The DCR repo has a required status check on the Chromatic UI Tests
# To save £££, we only run the Chromatic tests once the `run_chromatic`
# label is applied. This workflow reminds people to add the label
# because it isn't always obvious.
name: Chromatic Label Helper
on:
pull_request:
types: [opened, ready_for_review]
jobs:
write_comment:
runs-on: ubuntu-latest
permissions:
pull-requests: write
# We only comment on pull requests that have been marked as ready for review
if: ${{ github.event.pull_request.draft == false}}
steps:
- uses: actions/github-script@v7
with:
script: |
const labels = await github.rest.issues
.listLabelsOnIssue({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
})
.then(({ data }) => data);
const hasChromaticLabel = labels.some(
(label) => label.name === 'run_chromatic',
);
if (!hasChromaticLabel) {
const commentLines = [
"Hello :wave:! When you're ready to run Chromatic, please apply the `run_chromatic` label to this PR.",
"You will need to reapply the label each time you want to run Chromatic.",
'[Click here to see the Chromatic project.](https://www.chromatic.com/builds?appId=63e251470cfbe61776b0ef19)',
];
/** Checks if this label helper has already commented on the pull request */
const hasChromaticCommentAlready = await github.rest.issues.listComments({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
}).then(({ data }) => {
return data.some((comment) => {
return comment.body.includes(commentLines[0]);
});
});
if (!hasChromaticCommentAlready) {
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: commentLines.join('\n\n'),
});
}
}