File: CONTRIBUTING.md

package info (click to toggle)
napari 0.6.6-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 12,036 kB
  • sloc: python: 112,264; xml: 72; makefile: 44; sh: 5
file content (50 lines) | stat: -rw-r--r-- 2,311 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# Contributing to GitHub workflows and actions

*Created: 2024-11-11; Updated:*

See the napari website for more detailed contributor information:
- [deployment](https://napari.org/stable/developers/contributing/documentation/docs_deployment.html)
- [contributing guide](https://napari.org/stable/developers/contributing/index.html)
- [core developer guide](https://napari.org/stable/developers/coredev/core_dev_guide.html)

## Workflows and actions

There are over 20 GitHub workflows found in `.github/workflows`.
The team creates a workflow to automate manual actions and steps.
This results in improved accuracy and quality. Some key workflows:
- `actionlint.yml` does static testing of GitHub action workflows
- benchmarks
- `reusable_run_tox_test.yml` uses our constraint files to install the
  compatible dependencies for each test environment which may differ
  by OS and qt versions. It is called from `test_pull_request.yml` and `test_comprehensive.yml`, not directly. 
- `upgrade_test_constraints.yml` automates upgrading dependencies for
  our test environments. It also has extensive commenting on what the
  upgrade process entails.

If adding a workflow, please take a moment to explain its purpose at the
top of its file.

## Templates

Used to provide a consistent user experience when submitting an issue or PR.
napari uses the following:
- `PULL_REQUEST_TEMPLATE.md`
- `ISSUE_TEMPLATE` directory containing:
   - `config.yml` to add the menu selector when "New Issue" button is pressed
   - `design_related.md`
   - `documentation.md`
   - `feature_request.md`
   - `bug_report.yml` config file to provide text areas for users to complete for bug reports.
- `FUNDING.yml`: redirect GitHub to napari NumFOCUS account
- Testing and bots
   - `missing_translations.md`: used if an action detects a missing language translation
   - `dependabot.yml`: opens a PR to notify maintainers of updates to dependencies
   - `labeler.yml` is a labels config file for labeler action
   - `BOT_REPO_UPDATE_FAIL_TEMPLATE.md` is an bot failure notification template
   - `TEST_FAIL_TEMPLATE.md` is a test failure notification template

## CODEOWNERS

This `CODEOWNERS` file identifies which individuals are notified if a
particular file or directory is found in a PR. Core team members can
update if desired.