Add context7.json #13
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: ci | |
| on: | |
| push: | |
| branches: [main] | |
| tags: ['*-v*'] | |
| pull_request: | |
| branches: [main] | |
| workflow_dispatch: | |
| inputs: | |
| simulate_failure: | |
| description: 'Force verify-release to fail (Slack alerting smoke test)' | |
| required: false | |
| default: 'false' | |
| type: choice | |
| options: ['true', 'false'] | |
| permissions: | |
| contents: read | |
| jobs: | |
| lint: | |
| if: github.event_name != 'workflow_dispatch' && !startsWith(github.ref, 'refs/tags/') | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22' | |
| - name: Run script tests | |
| run: node --test scripts/*.test.mjs | |
| - name: Validate marketplace.json and SKILL.md consistency | |
| run: node scripts/validate-marketplace.mjs | |
| - name: Validate repository files | |
| run: node scripts/validate-repository-files.mjs | |
| verify-release: | |
| if: startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 2 | |
| - name: Fetch release tags | |
| if: github.event_name == 'push' | |
| run: git fetch --force --tags --depth=2 origin | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22' | |
| - name: Parse tag (or simulate failure on workflow_dispatch) | |
| id: parse | |
| env: | |
| GITHUB_EVENT_NAME: ${{ github.event_name }} | |
| SIMULATE_FAILURE: ${{ inputs.simulate_failure }} | |
| run: node scripts/prepare-release-verification.mjs | |
| - name: Run verify-release.mjs | |
| if: github.event_name == 'push' | |
| env: | |
| NAME: ${{ steps.parse.outputs.name }} | |
| VERSION: ${{ steps.parse.outputs.version }} | |
| run: node scripts/verify-release.mjs "${NAME}" "${VERSION}" | |
| slack-on-failure: | |
| needs: verify-release | |
| if: ${{ failure() && (startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch') }} | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check webhook secret presence | |
| id: secret | |
| env: | |
| SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} | |
| run: | | |
| if [ -z "${SLACK_WEBHOOK}" ]; then | |
| echo "present=false" >> "$GITHUB_OUTPUT" | |
| echo "::warning::SLACK_WEBHOOK not set; skipping Slack notification." | |
| else | |
| echo "present=true" >> "$GITHUB_OUTPUT" | |
| fi | |
| # renovate: datasource=github-tags depName=rtCamp/action-slack-notify | |
| - name: Send Slack alert | |
| if: ${{ steps.secret.outputs.present == 'true' }} | |
| uses: rtCamp/action-slack-notify@e31e87e03dd19038e411e38ae27cbad084a90661 # v2.3.3 | |
| env: | |
| SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} | |
| SLACK_TITLE: "skyux-skills release verification failed" | |
| SLACK_MESSAGE: "Tag/ref: ${{ github.ref }}\nCommit: ${{ github.sha }}\nWorkflow: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}\n\nFix forward — do NOT retag. Bump to the next version and push the new tag." | |
| SLACK_COLOR: danger | |
| SLACK_ICON: https://github.com/blackbaud.png?size=48 | |
| SLACK_USERNAME: SKY UX | |
| # slack: #cor-skyux-notifications | |
| SLACK_CHANNEL: C01GY7ZP4HM |