Update Overlay.dev.stories.tsx to no longer use styled-components #7921
This file contains hidden or 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: Check for integration result comment | |
on: | |
issue_comment: | |
types: [created, edited] | |
jobs: | |
# note: this workflow always passes, it does not fail when integration tests are failing | |
check-for-integration-result-comment: | |
if: github.event.issue.pull_request | |
runs-on: ubuntu-latest | |
steps: | |
- name: Get integration result comment | |
uses: actions/github-script@5c56fde4671bc2d3592fb0f2c5b5bab9ddae03b1 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
script: | | |
const INTEGRATION_LABEL_NAMES = { | |
// synced with https://github.com/primer/react/labels?q=integration-tests | |
skipped: 'integration-tests: skipped manually', | |
recommended: 'integration-tests: recommended', | |
failing: 'integration-tests: failing', | |
passing: 'integration-tests: passing' | |
}; | |
const issue = { | |
issue_number: context.issue.number, | |
owner: context.repo.owner, | |
repo: context.repo.repo | |
}; | |
const { data: currentLabels } = await github.rest.issues.listLabelsOnIssue(issue); | |
const existingIntegrationLabels = currentLabels | |
.map(label => label.name) | |
.filter(label => label.startsWith('integration-tests:')); | |
if (existingIntegrationLabels.includes(INTEGRATION_LABEL_NAMES.skipped)) return; | |
const result = await github.rest.issues.listComments(issue); | |
const integrationComments = result.data.filter( | |
comment => | |
comment.user.login == 'primer-integration[bot]' && | |
comment.body.includes('<!-- test-result') | |
); | |
if (integrationComments.length === 0) { | |
console.log('Integration comment with test-result not found'); | |
return; // CI should pass if there's nothing to do | |
} | |
const latestComment = integrationComments.pop(); | |
console.log(latestComment.body); | |
// based on comment message in github/github: https://github.com/github/github/blob/fe7fe9072fd913ec04255ce7403ae764e6c33d5f/.github/workflows/github-ci.yml#L664-L692 | |
const pass = latestComment.body.includes('🟢'); | |
console.log({ pass }); | |
const newIntegrationLabel = pass ? INTEGRATION_LABEL_NAMES.passing : INTEGRATION_LABEL_NAMES.failing; | |
console.log({existingIntegrationLabels, newIntegrationLabel}) | |
Object.values(INTEGRATION_LABEL_NAMES).map(async (name) => { | |
if (name === newIntegrationLabel) { | |
if (existingIntegrationLabels.includes(name)); // already added, nothing to do here | |
else await github.rest.issues.addLabels({...issue, labels: [newIntegrationLabel]}); | |
} else if (existingIntegrationLabels.includes(name)) { | |
// remove outdated labels | |
await github.rest.issues.removeLabel({ ...issue, name }); | |
} | |
}); |