Skip to content

Docs: workaround for typedoc issue #2802 (backport #7470) [release/4.10.x] #8127

Docs: workaround for typedoc issue #2802 (backport #7470) [release/4.10.x]

Docs: workaround for typedoc issue #2802 (backport #7470) [release/4.10.x] #8127

# This config will fake successful status checks for individual CI events in a pull
# request when it detects *only* changes in the files listed below; i.e., the files
# listed under "paths:".
#
# While this config will fake a successful status check, it does *not* forego running the
# real status check. That needs to be handled by each status check events' own config;
# i.e., a Github Action's or Azure Pipeline's .yaml file.
#
# For example, if the extract-api status check is faked, the extract-api.yaml config
# needs to know for what files it should not run. (It will be faked as a successful
# check, so there is no need for it to run.)
#
# Why does this exist?
# The itwinjs-core repo requires certain status checks to be marked successful or
# neutral* to allow a pull request to be merged. Since some changes are limited in scope
# (e.g., a documentation change) or do not affect the application at all (e.g., a
# CODEOWNERS file change), there is no need to wait for or spend resources on every CI
# build to run.
#
# *Note: When Azure Pipeline builds (triggered by Azure DevOps webhooks) skip running due to
# path exclusions, their status checks are set neutral by Azure DevOps. This satisfies
# GitHub's "required" check and thus these status checks do not need to be faked below.
# HOW TO: Add New Files To The Exclusion List
# 1. Add files to *this* config to trigger
# 1. Add the glob of paths to trigger on to the "paths:" list below.
# 2. Add the same paths to the "changed-files-specific" step below.
# IMPORTANT NOTE: The tj-actions/changed-files globs are slightly different than GitHub
# Actions' globs. There are at least two differences to be aware of:
# 1. GitHub Actions globs require quotes if they start with a * character,
# tj-actions globs do not.
# 2. ** matches slightly differently. For example, GitHub actions "**.md" would be
# tj-actions **/*.md.
# 3. For any status check that should potentially be skipped and/or faked, go to the
# status check's config and add the relevant paths to the paths exclusion list.
# ("paths-ignore" for Github Actions and "paths.exclude" for Azure Pipelines.)
name: Skip Check
on:
pull_request:
branches:
- master
- release/*
paths:
- "**.md"
- docs/**
- .github/CODEOWNERS
- common/changes/**/*.json
- "**/CHANGELOG.json"
- "**/CHANGELOG.md"
jobs:
detect-if-skip:
name: Detect If Skip
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
# Check for certain paths having been modified
- name: Get specific changed files
id: changed-files-specific
uses: tj-actions/[email protected] # See https://github.com/marketplace/actions/changed-files
with:
files: |
**/*.md
docs/**
.github/CODEOWNERS
common/changes/**/*.json
**/CHANGELOG.json
**/CHANGELOG.md
# Fake required checks if neccessary
- uses: LouisBrunner/[email protected] # See https://github.com/marketplace/actions/github-checks
if: steps.changed-files-specific.outputs.only_modified == 'true'
with:
token: ${{ secrets.GITHUB_TOKEN }}
name: extract-api
conclusion: success
# Add more status checks below if necessary
# TEMPLATE
# - uses: LouisBrunner/[email protected]
# if: steps.changed-files-specific.outputs.only_modified == 'true'
# with:
# token: ${{ secrets.GITHUB_TOKEN }}
# name: <name-of-any-status-check-to-simulate>
# conclusion: success