| name: pre-commit |
|
|
| on: |
| pull_request: |
| push: |
| branches: |
| - main |
| - develop |
| - 'release/**' |
| workflow_dispatch: |
|
|
| jobs: |
| pre-commit: |
| runs-on: ubuntu-24.04 |
| env: |
| DOTNET_NOLOGO: 1 |
| DOTNET_SKIP_FIRST_TIME_EXPERIENCE: "1" |
| DOTNET_CLI_HOME: "${{ github.workspace }}/.dotnet" |
| NUGET_PACKAGES: "${{ github.workspace }}/.nuget/packages" |
| TMPDIR: "${{ github.workspace }}/.tmp" |
| steps: |
| - uses: actions/checkout@v4 |
| - uses: actions/setup-python@v5 |
| with: |
| python-version: 3.10.x |
| - uses: ruby/setup-ruby@v1 |
| env: |
| ImageOS: ubuntu24 |
| with: |
| ruby-version: '2.7' |
| bundler-cache: true |
| - name: Create writable dirs |
| run: | |
| mkdir -p "$DOTNET_CLI_HOME" "$NUGET_PACKAGES" "$TMPDIR" |
| - uses: actions/setup-dotnet@v4 |
| with: |
| dotnet-version: '8.0.202' |
| - name: Install manual dependencies |
| run: | |
| python -m pip install pre-commit |
| pre-commit install |
| - name: Pre-warm dotnet |
| run: | |
| dotnet --info |
| dotnet restore || true |
| - name: Run pre-commit |
| run: | |
| pre-commit run --all-files |
| markdown-link-check: |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v4 |
| - uses: actions/setup-python@v5 |
| with: |
| python-version: 3.10.x |
| - uses: actions/setup-node@v4 |
| with: |
| node-version: '12' |
| - name: Install manual dependencies |
| |
| run: | |
| sudo npm install -g markdown-link-check@3.8.7 |
| python -m pip install pre-commit |
| pre-commit install |
| - name: Run markdown checker |
| run: | |
| pre-commit run --hook-stage manual markdown-link-check --all-files |
| validate-meta-files: |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v4 |
| - uses: actions/setup-python@v5 |
| with: |
| python-version: 3.10.x |
| - run: python utils/validate_meta_files.py |
|
|