# This is used by the action https://github.com/dorny/paths-filter (which we have forked to https://github.com/getsentry/paths-filter) # TODO: There are some meta files that we potentially could ignore for both front/backend, # as well as some configuration files that should trigger both frontend_components_lintable: &frontend_components_lintable - '**/*.[tj]{s,sx}' frontend_lintable: &frontend_lintable - *frontend_components_lintable - '**/tsconfig*.json' - '{package,now,vercel}.json' yarn_lockfile: &yarn_lockfile - 'yarn.lock' eslint_config: &eslint_config - '.eslint*' frontend: &frontend - *yarn_lockfile - *frontend_lintable - *eslint_config - '**/*.less' - 'docs-ui/**' - 'static/**' - 'tests/js/**' - '.github/workflows/frontend.yml' frontend_modified_lintable: - added|modified: *frontend_lintable frontend_components_modified_lintable: - added|modified: *frontend_components_lintable backend_lintable: &backend_lintable - '**/*.py' - 'requirements-base.txt' - 'requirements-dev-only-frozen.txt' # Currently used in `getsentry-dispatch.yml` to dispatch backend tests on getsentry backend_dependencies: &backend_dependencies - 'requirements-*.txt' backend_build_changes: &backend_build_changes # If you change this line make sure that workflows using this action (e.g. acceptance, api_docs) # *and* file-filters would be updated as well - '.github/actions/setup-sentry/action.yml' - '.github/workflows/backend.yml' - '.pre-commit-config.yaml' - 'Makefile' - 'pyproject.toml' backend: &backend - *backend_build_changes - *backend_dependencies - *backend_lintable - '**/*.sh' - '**/*.pysnap' - 'src/sentry/!(static)/**' - 'migrations_lockfile.txt' - 'config/**/*' # This is the ultimate controller for acceptance.yml acceptance: &acceptance - *backend - *frontend # This is verbose because backend_build_changes includes it, however, - '.github/actions/setup-sentry/action.yml' - '.github/workflows/acceptance.yml' plugins: &plugins - *backend - 'src/sentry_plugins/**/*.html' api_docs: &api_docs - *backend - 'api-docs/**' - 'tests/apidocs/**' # This is the ultimate controller for backend.yml backend_any_type: &backend_any_type - *backend - *api_docs - *plugins migrations_added: - added: 'src/sentry/migrations/*' migrations_modified: - modified: 'src/sentry/migrations/*' # These files will trigger our wokrflow to check if lockfile # updates are needed migration_lockfile: - *backend_dependencies - *backend_lintable - .github/workflows/check-if-migration-is-required.yml - .github/workflows/scripts/migration-check.sh