Skip to content

Add context7.json

Add context7.json #13

Workflow file for this run

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