diff --git a/.github/workflows/contributor-check.yml b/.gitea/workflows/contributor-check.yml similarity index 100% rename from .github/workflows/contributor-check.yml rename to .gitea/workflows/contributor-check.yml diff --git a/.github/workflows/deploy-site.yml b/.gitea/workflows/deploy-site.yml similarity index 100% rename from .github/workflows/deploy-site.yml rename to .gitea/workflows/deploy-site.yml diff --git a/.github/workflows/docker-publish.yml b/.gitea/workflows/docker-publish.yml similarity index 100% rename from .github/workflows/docker-publish.yml rename to .gitea/workflows/docker-publish.yml diff --git a/.gitea/workflows/docs-site-checks.yml b/.gitea/workflows/docs-site-checks.yml new file mode 100644 index 00000000..b4aa387c --- /dev/null +++ b/.gitea/workflows/docs-site-checks.yml @@ -0,0 +1,79 @@ +name: Docs Site Checks + +on: + pull_request: + workflow_dispatch: + +permissions: + contents: read + +jobs: + docs-site-checks: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + with: + fetch-depth: 0 + + - name: Detect docs-site changes + id: changes + shell: bash + run: | + set -euo pipefail + if [ "${{ github.event_name }}" = "pull_request" ]; then + base="${{ github.event.pull_request.base.sha }}" + head="${{ github.event.pull_request.head.sha }}" + else + echo "run=true" >> "$GITHUB_OUTPUT" + exit 0 + fi + changed="$(git diff --name-only "$base" "$head")" + printf '%s\n' "$changed" + if printf '%s\n' "$changed" | grep -Eq '^website/'; then + echo "run=true" >> "$GITHUB_OUTPUT" + else + echo "run=false" >> "$GITHUB_OUTPUT" + fi + + - name: Skip docs checks when diff is not docs-site relevant + if: steps.changes.outputs.run != 'true' + run: echo "No website changes; docs-site context satisfied." + + - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 + if: steps.changes.outputs.run == 'true' + with: + node-version: 20 + cache: npm + cache-dependency-path: website/package-lock.json + + - name: Install website dependencies + if: steps.changes.outputs.run == 'true' + run: npm ci + working-directory: website + + - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 + if: steps.changes.outputs.run == 'true' + with: + python-version: '3.11' + + - name: Install ascii-guard + if: steps.changes.outputs.run == 'true' + run: python -m pip install ascii-guard==2.3.0 pyyaml==6.0.3 + + - name: Extract skill metadata for dashboard + if: steps.changes.outputs.run == 'true' + run: python3 website/scripts/extract-skills.py + + - name: Regenerate per-skill docs pages + catalogs + if: steps.changes.outputs.run == 'true' + run: python3 website/scripts/generate-skill-docs.py + + - name: Lint docs diagrams + if: steps.changes.outputs.run == 'true' + run: npm run lint:diagrams + working-directory: website + + - name: Build Docusaurus + if: steps.changes.outputs.run == 'true' + run: npm run build + working-directory: website diff --git a/.github/workflows/nix-lockfile-fix.yml b/.gitea/workflows/nix-lockfile-fix.yml similarity index 100% rename from .github/workflows/nix-lockfile-fix.yml rename to .gitea/workflows/nix-lockfile-fix.yml diff --git a/.github/workflows/nix.yml b/.gitea/workflows/nix.yml similarity index 100% rename from .github/workflows/nix.yml rename to .gitea/workflows/nix.yml diff --git a/.github/workflows/skills-index.yml b/.gitea/workflows/skills-index.yml similarity index 100% rename from .github/workflows/skills-index.yml rename to .gitea/workflows/skills-index.yml diff --git a/.github/workflows/supply-chain-audit.yml b/.gitea/workflows/supply-chain-audit.yml similarity index 100% rename from .github/workflows/supply-chain-audit.yml rename to .gitea/workflows/supply-chain-audit.yml diff --git a/.github/workflows/tests.yml b/.gitea/workflows/tests.yml similarity index 100% rename from .github/workflows/tests.yml rename to .gitea/workflows/tests.yml diff --git a/.github/workflows/docs-site-checks.yml b/.github/workflows/docs-site-checks.yml deleted file mode 100644 index 80fe9ea9..00000000 --- a/.github/workflows/docs-site-checks.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: Docs Site Checks - -on: - pull_request: - paths: - - 'website/**' - - '.github/workflows/docs-site-checks.yml' - workflow_dispatch: - -permissions: - contents: read - -jobs: - docs-site-checks: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 - - - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 - with: - node-version: 20 - cache: npm - cache-dependency-path: website/package-lock.json - - - name: Install website dependencies - run: npm ci - working-directory: website - - - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 - with: - python-version: '3.11' - - - name: Install ascii-guard - run: python -m pip install ascii-guard==2.3.0 pyyaml==6.0.3 - - - name: Extract skill metadata for dashboard - run: python3 website/scripts/extract-skills.py - - - name: Regenerate per-skill docs pages + catalogs - run: python3 website/scripts/generate-skill-docs.py - - - name: Lint docs diagrams - run: npm run lint:diagrams - working-directory: website - - - name: Build Docusaurus - run: npm run build - working-directory: website