@adobe/workfront-ui-ext-tpl #906
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: Template Verification | |
defaults: | |
run: | |
shell: bash | |
on: | |
issues: | |
types: [labeled] | |
issue_comment: | |
types: [created] | |
jobs: | |
parse-issue-form-body: | |
name: Parse issue form body | |
runs-on: ubuntu-latest | |
if: (github.event.label.name == 'add-template') || (github.event_name == 'issue_comment' && github.event.comment.body == '/check') | |
outputs: | |
github-link: ${{ steps.parse-issue-form-body.outputs.github-link }} | |
npm-package: ${{ steps.parse-issue-form-body.outputs.npm-package }} | |
error: ${{ steps.parse-issue-form-body.outputs.error }} | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Use node 20 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- name: Install dependencies | |
run: npm install | |
- name: Parse issue form body | |
id: parse-issue-form-body | |
run: | | |
node src/parse-issue-form-body.js 'review-request' | |
env: | |
GITHUB_ISSUE_PAYLOAD: ${{ github.event.issue.body }} | |
needs-more-verification: | |
needs: [parse-issue-form-body] | |
uses: ./.github/workflows/needs-more-verification.yml | |
with: | |
npm-package: ${{ needs.parse-issue-form-body.outputs.npm-package }} | |
validate-template: | |
needs: [parse-issue-form-body] | |
uses: ./.github/workflows/validate-template-workflow.yml | |
with: | |
github-link: ${{ needs.parse-issue-form-body.outputs.github-link }} | |
npm-package: ${{ needs.parse-issue-form-body.outputs.npm-package }} | |
add-to-registry: | |
name: Add to Template Registry | |
runs-on: ubuntu-latest | |
needs: [parse-issue-form-body, validate-template, needs-more-verification] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Use node 20 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- name: Install dependencies | |
run: npm install | |
- name: Collect metadata and save to registry.json | |
id: run-add-to-registry | |
run: | | |
npm v ${{ needs.parse-issue-form-body.outputs.npm-package }} dist.tarball | xargs curl | tar -xz | |
node src/add-to-registry.js $GITHUB_WORKSPACE/package ${{ needs.parse-issue-form-body.outputs.github-link }} ${{ needs.parse-issue-form-body.outputs.npm-package }} ${{ needs.needs-more-verification.outputs.more-verification-required }} | |
- name: Commit and push changes | |
uses: EndBug/[email protected] | |
with: | |
add: registry.json | |
default_author: github_actions | |
message: Add ${{ needs.parse-issue-form-body.outputs.npm-package }} to Template Registry | |
push: true | |
outputs: | |
error: ${{ steps.run-add-to-registry.outputs.error }} | |
success-add-to-registry: | |
name: Comment regarding template status and close if fully approved | |
runs-on: ubuntu-latest | |
needs: [add-to-registry, needs-more-verification] | |
steps: | |
- uses: peter-evans/[email protected] | |
if: needs.needs-more-verification.outputs.more-verification-required == 'true' | |
with: | |
issue-number: ${{ github.event.issue.number }} | |
body: | | |
@${{ github.event.issue.user.login }}, thank you for your submission. The Adobe team will validate your template and provide our feedback shortly. | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- uses: peter-evans/close-issue@v2 | |
if: needs.needs-more-verification.outputs.more-verification-required == 'false' | |
with: | |
comment: ":white_check_mark: Congratulations! Your template has been verified and added to App Builder Template Registry." | |
token: ${{ secrets.GITHUB_TOKEN }} | |
fail-validation-comment: | |
name: Validation failed | |
runs-on: ubuntu-latest | |
needs: [parse-issue-form-body, validate-template, add-to-registry] | |
if: ${{ always() && (needs.parse-issue-form-body.result == 'failure' || (needs.parse-issue-form-body.result != 'skipped' && (needs.validate-template.outputs.check-github-link-status != 'success' || needs.add-to-registry.result == 'failure' || needs.add-to-registry.result == 'skipped'))) }} | |
steps: | |
- uses: peter-evans/[email protected] | |
with: | |
issue-number: ${{ github.event.issue.number }} | |
body: | | |
### Failed Checks | |
${{ needs.parse-issue-form-body.outputs.error }} | |
${{ needs.validate-template.outputs.check-github-link-error }} | |
${{ needs.validate-template.outputs.check-npm-package-name-error }} | |
${{ needs.validate-template.outputs.check-npm-package-metadata-error }} | |
${{ needs.validate-template.outputs.check-npm-package-ubuntu-latest-18x-error }} | |
${{ needs.validate-template.outputs.check-npm-package-ubuntu-latest-20x-error }} | |
${{ needs.validate-template.outputs.check-npm-package-windows-latest-18x-error }} | |
${{ needs.validate-template.outputs.check-npm-package-windows-latest-20x-error }} | |
${{ needs.add-to-registry.outputs.error }} | |
Fix all mentioned issues and comment `/check` to run checks again. | |
token: ${{ secrets.GITHUB_TOKEN }} |