Skip to content

@adobe/workfront-ui-ext-tpl #906

@adobe/workfront-ui-ext-tpl

@adobe/workfront-ui-ext-tpl #906

Workflow file for this run

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 }}