diff --git a/.github/workflows/branch-markdown.yml b/.github/workflows/branch-markdown.yml index 9a9230a4f0..65f35d90ed 100644 --- a/.github/workflows/branch-markdown.yml +++ b/.github/workflows/branch-markdown.yml @@ -1,94 +1,94 @@ -name: Markdown - -on: pull_request - -# Allow this job to clone the repo -permissions: - contents: read - id-token: write - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - lint: - runs-on: ubuntu-latest - strategy: - fail-fast: true - - steps: - - name: Checkout - uses: actions/checkout@v6 - with: - fetch-depth: 0 # Fetch all history for comparison - - - name: Load versions - run: cat .github/versions.env >> "$GITHUB_ENV" - - - name: Get changed markdown files - id: changed-files - run: | - # Fetch the base branch - git fetch origin ${{ github.base_ref }} - - # Get changed .md and .mdx files - CHANGED_FILES=$(git diff --name-only --diff-filter=ACMRT origin/${{ github.base_ref }}...HEAD | grep -E '\.(md|mdx)$' || true) - - # Store the files - echo "files<> $GITHUB_OUTPUT - echo "$CHANGED_FILES" >> $GITHUB_OUTPUT - echo "EOF" >> $GITHUB_OUTPUT - - # Count files - if [ -z "$CHANGED_FILES" ]; then - echo "count=0" >> $GITHUB_OUTPUT - else - echo "count=$(echo "$CHANGED_FILES" | wc -l)" >> $GITHUB_OUTPUT - fi - - - name: Install pnpm - if: steps.changed-files.outputs.count > 0 - uses: pnpm/action-setup@v6 - with: - version: ${{ env.PNPM_VERSION }} - run_install: false - - - name: Setup Node - if: steps.changed-files.outputs.count > 0 - uses: actions/setup-node@v6 - with: - node-version: ${{ env.NODE_VERSION }} - cache: 'pnpm' - cache-dependency-path: 'pnpm-lock.yaml' - - - name: Get pnpm store directory - if: steps.changed-files.outputs.count > 0 - shell: bash - run: | - echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV - - - uses: actions/cache@v3 - if: steps.changed-files.outputs.count > 0 - name: Setup pnpm cache - with: - path: ${{ env.STORE_PATH }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store- - - - name: PNPM install - if: steps.changed-files.outputs.count > 0 - run: | - echo; echo "cd to workspace" - cd $GITHUB_WORKSPACE - echo; echo "listing" - ls - echo; echo "PNPM install" - pnpm install - - - uses: DavidAnson/markdownlint-cli2-action@v23 - if: steps.changed-files.outputs.count > 0 - with: - config: '.markdownlint.json' +name: Markdown + +on: pull_request + +# Allow this job to clone the repo +permissions: + contents: read + id-token: write + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + lint: + runs-on: ubuntu-latest + strategy: + fail-fast: true + + steps: + - name: Checkout + uses: actions/checkout@v6 + with: + fetch-depth: 0 # Fetch all history for comparison + + - name: Load versions + run: cat .github/versions.env >> "$GITHUB_ENV" + + - name: Get changed markdown files + id: changed-files + run: | + # Fetch the base branch + git fetch origin ${{ github.base_ref }} + + # Get changed .md and .mdx files + CHANGED_FILES=$(git diff --name-only --diff-filter=ACMRT origin/${{ github.base_ref }}...HEAD | grep -E '\.(md|mdx)$' || true) + + # Store the files + echo "files<> $GITHUB_OUTPUT + echo "$CHANGED_FILES" >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT + + # Count files + if [ -z "$CHANGED_FILES" ]; then + echo "count=0" >> $GITHUB_OUTPUT + else + echo "count=$(echo "$CHANGED_FILES" | wc -l)" >> $GITHUB_OUTPUT + fi + + - name: Install pnpm + if: steps.changed-files.outputs.count > 0 + uses: pnpm/action-setup@v6 + with: + version: ${{ env.PNPM_VERSION }} + run_install: false + + - name: Setup Node + if: steps.changed-files.outputs.count > 0 + uses: actions/setup-node@v6 + with: + node-version: ${{ env.NODE_VERSION }} + cache: 'pnpm' + cache-dependency-path: 'pnpm-lock.yaml' + + - name: Get pnpm store directory + if: steps.changed-files.outputs.count > 0 + shell: bash + run: | + echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV + + - uses: actions/cache@v5 + if: steps.changed-files.outputs.count > 0 + name: Setup pnpm cache + with: + path: ${{ env.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + + - name: PNPM install + if: steps.changed-files.outputs.count > 0 + run: | + echo; echo "cd to workspace" + cd $GITHUB_WORKSPACE + echo; echo "listing" + ls + echo; echo "PNPM install" + pnpm install + + - uses: DavidAnson/markdownlint-cli2-action@v23 + if: steps.changed-files.outputs.count > 0 + with: + config: '.markdownlint.json' globs: ${{ steps.changed-files.outputs.files }} \ No newline at end of file diff --git a/.github/workflows/branch-spellcheck.yml b/.github/workflows/branch-spellcheck.yml index 05f4542256..cbd0344b09 100644 --- a/.github/workflows/branch-spellcheck.yml +++ b/.github/workflows/branch-spellcheck.yml @@ -1,64 +1,64 @@ -name: Spellcheck - -on: pull_request - -# Allow this job to clone the repo -permissions: - contents: read - id-token: write - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - spellcheck: - runs-on: ubuntu-latest - strategy: - fail-fast: true - - steps: - - name: Checkout - uses: actions/checkout@v6 - - - name: Load versions - run: cat .github/versions.env >> "$GITHUB_ENV" - - - name: Install pnpm - uses: pnpm/action-setup@v6 - with: - version: ${{ env.PNPM_VERSION }} - run_install: false - - - name: Setup Node - uses: actions/setup-node@v6 - with: - node-version: ${{ env.NODE_VERSION }} - cache: 'pnpm' - cache-dependency-path: 'pnpm-lock.yaml' - - - name: Get pnpm store directory - shell: bash - run: | - echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV - - - uses: actions/cache@v4 - name: Setup pnpm cache - with: - path: ${{ env.STORE_PATH }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store- - - - name: PNPM install - run: | - echo; echo "cd to workspace" - cd $GITHUB_WORKSPACE - echo; echo "listing" - ls - echo; echo "PNPM install" - pnpm install - - - name: Check spellings - run: | - pnpm spellcheck +name: Spellcheck + +on: pull_request + +# Allow this job to clone the repo +permissions: + contents: read + id-token: write + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + spellcheck: + runs-on: ubuntu-latest + strategy: + fail-fast: true + + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Load versions + run: cat .github/versions.env >> "$GITHUB_ENV" + + - name: Install pnpm + uses: pnpm/action-setup@v6 + with: + version: ${{ env.PNPM_VERSION }} + run_install: false + + - name: Setup Node + uses: actions/setup-node@v6 + with: + node-version: ${{ env.NODE_VERSION }} + cache: 'pnpm' + cache-dependency-path: 'pnpm-lock.yaml' + + - name: Get pnpm store directory + shell: bash + run: | + echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV + + - uses: actions/cache@v5 + name: Setup pnpm cache + with: + path: ${{ env.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + + - name: PNPM install + run: | + echo; echo "cd to workspace" + cd $GITHUB_WORKSPACE + echo; echo "listing" + ls + echo; echo "PNPM install" + pnpm install + + - name: Check spellings + run: | + pnpm spellcheck