docs: update CONTRIBUTING.md with guidelines-bot details and review expectations #983
Workflow file for this run
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: Build | |
| on: | |
| push: | |
| tags: | |
| - "*.*.*" | |
| branches: | |
| - "main" | |
| # this fires for the temporary branch the merge queue creates | |
| merge_group: | |
| pull_request: | |
| branches: | |
| - "main" | |
| # workflow_call trigger to make this workflow reusable | |
| workflow_call: | |
| jobs: | |
| # Check Rust examples compile before building docs | |
| check_rust_examples: | |
| uses: ./.github/workflows/check-rust-examples.yml | |
| build: | |
| needs: check_rust_examples | |
| # Always run so that 'build' (the required status check) explicitly fails | |
| # when check_rust_examples fails, rather than being skipped. | |
| # Skipped jobs don't block merge queue, but failed jobs do. | |
| if: always() | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Fail if example checks failed | |
| if: needs.check_rust_examples.result != 'success' | |
| run: | | |
| echo "::error::check_rust_examples workflow failed with result: ${{ needs.check_rust_examples.result }}" | |
| echo "One or more Rust example checks did not pass. See the check_rust_examples job for details." | |
| exit 1 | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v6 | |
| - name: Build documentation | |
| run: | | |
| mkdir -p build | |
| ./make.py 2>&1 | tee build/build.log | |
| # Check for a wide range of error indicators in the log | |
| if grep -q -E "Traceback" build/build.log; then | |
| echo "::error::Build errors detected in log" | |
| # Extract error contexts and annotate them in the GitHub Actions UI | |
| echo "=== ERROR DETAILS ===" | |
| # Check for the Sphinx temp error file reference and extract it if present | |
| TEMP_ERROR_FILE=$(grep -o '/tmp/sphinx-err-[^ ]*\.log' build/build.log | head -1) | |
| if [ ! -z "$TEMP_ERROR_FILE" ] && [ -f "$TEMP_ERROR_FILE" ]; then | |
| # Save this traceback for artifacts | |
| echo "=== TRACEBACK ===" | |
| echo "Saving traceback to build/sphinx_traceback.log" | |
| cp "$TEMP_ERROR_FILE" build/sphinx_traceback.log | |
| fi | |
| # Check for FLS differences file reference and extract it if present | |
| FLS_DIFF_FILE=$(grep -o '/tmp/fls_diff_[^ ]*\.txt' build/build.log | head -1) | |
| if [ ! -z "$FLS_DIFF_FILE" ] && [ -f "$FLS_DIFF_FILE" ]; then | |
| # Save this differences file for artifacts | |
| echo "=== SPEC LOCK FILE DIFFERENCES ===" | |
| echo "Saving spec lock file differences to to build/spec_lock_file_differences.log" | |
| cp "$FLS_DIFF_FILE" build/spec_lock_file_differences.txt | |
| fi | |
| exit 1 | |
| else | |
| # Even if there's no error, still check for FLS differences file | |
| FLS_DIFF_FILE=$(grep -o '/tmp/fls_diff_[^ ]*\.txt' build/build.log | head -1) | |
| if [ ! -z "$FLS_DIFF_FILE" ] && [ -f "$FLS_DIFF_FILE" ]; then | |
| echo "=== SPEC LOCK FILE DIFFERENCES, NO BUILD ERROR ===" | |
| echo "Saving spec lock file differences to to build/spec_lock_file_differences.log" | |
| cp "$FLS_DIFF_FILE" build/spec_lock_file_differences.txt | |
| fi | |
| fi | |
| - name: Archive build artifacts | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: build-artifacts | |
| path: build | |
| retention-days: 7 | |
| compression-level: 6 # Default compression level for a good balance of speed and size | |
| check_typos: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Check for typos | |
| uses: crate-ci/[email protected] |