|
1 | 1 | # Compilation, tests, and code style
|
2 | 2 |
|
3 | 3 | - jobName: windows installer and portable version
|
| 4 | + workflowName: 'Source Code Tests' |
4 | 5 | message: >
|
5 | 6 | Your code does not compile.
|
6 | 7 | Please ensure your changes compile successfully before pushing changes.
|
|
9 | 10 | To verify compilation locally, run `./gradlew build` or try running JabRef.
|
10 | 11 |
|
11 | 12 | - jobName: 'Unit tests – jablib'
|
| 13 | + workflowName: 'Source Code Tests' |
12 | 14 | message: >
|
13 | 15 | JUnit tests of `jablib` are failing.
|
14 | 16 | You can see which checks are failing by locating the box "Some checks were not successful" on the pull request page.
|
|
18 | 20 | You can then run these tests in IntelliJ to reproduce the failing tests locally.
|
19 | 21 | We offer a quick test running howto in the section [Final build system checks](https://devdocs.jabref.org/getting-into-the-code/guidelines-for-setting-up-a-local-workspace/intellij-12-build.html#final-build-system-checks) in our setup guide.
|
20 | 22 | - jobName: 'Unit tests – jabkit'
|
| 23 | + workflowName: 'Source Code Tests' |
21 | 24 | message: >
|
22 | 25 | JUnit tests of `jabkit` are failing.
|
23 | 26 | You can see which checks are failing by locating the box "Some checks were not successful" on the pull request page.
|
|
27 | 30 | You can then run these tests in IntelliJ to reproduce the failing tests locally.
|
28 | 31 | We offer a quick test running howto in the section [Final build system checks](https://devdocs.jabref.org/getting-into-the-code/guidelines-for-setting-up-a-local-workspace/intellij-12-build.html#final-build-system-checks) in our setup guide.
|
29 | 32 | - jobName: 'Unit tests – jabsrv'
|
| 33 | + workflowName: 'Source Code Tests' |
30 | 34 | message: >
|
31 | 35 | JUnit tests of `jabsrv` are failing.
|
32 | 36 | You can see which checks are failing by locating the box "Some checks were not successful" on the pull request page.
|
|
36 | 40 | You can then run these tests in IntelliJ to reproduce the failing tests locally.
|
37 | 41 | We offer a quick test running howto in the section [Final build system checks](https://devdocs.jabref.org/getting-into-the-code/guidelines-for-setting-up-a-local-workspace/intellij-12-build.html#final-build-system-checks) in our setup guide.
|
38 | 42 | - jobName: Checkstyle
|
| 43 | + workflowName: 'Source Code Tests' |
39 | 44 | message: >
|
40 | 45 | Your code currently does not meet [JabRef's code guidelines](https://devdocs.jabref.org/getting-into-the-code/guidelines-for-setting-up-a-local-workspace/intellij-13-code-style.html).
|
41 | 46 | We use [Checkstyle](https://checkstyle.sourceforge.io/) to identify issues.
|
|
50 | 55 | Please carefully follow [the setup guide for the codestyle](https://devdocs.jabref.org/getting-into-the-code/guidelines-for-setting-up-a-local-workspace/intellij-13-code-style.html).
|
51 | 56 | Afterwards, please [run checkstyle locally](https://devdocs.jabref.org/getting-into-the-code/guidelines-for-setting-up-a-local-workspace/intellij-13-code-style.html#run-checkstyle) and fix the issues, commit, and push.
|
52 | 57 | - jobName: OpenRewrite
|
| 58 | + workflowName: 'Source Code Tests' |
53 | 59 | message: >
|
54 | 60 | Your code currently does not meet JabRef's code guidelines.
|
55 | 61 | We use [OpenRewrite](https://docs.openrewrite.org/) to ensure "modern" Java coding practices.
|
|
60 | 66 | The issues found can be **automatically fixed**.
|
61 | 67 | Please execute the gradle task *`rewriteRun`* from the [`rewrite` group of the Gradle Tool window](https://devdocs.jabref.org/code-howtos/faq.html#failing-openrewrite-tests) in IntelliJ, then check the results, commit, and push.
|
62 | 68 | - jobName: Modernizer
|
| 69 | + workflowName: 'Source Code Tests' |
63 | 70 | message: >
|
64 | 71 | Your code currently does not meet JabRef's code guidelines.
|
65 | 72 | We use [Gradle Modernizer Plugin](https://github.com/andygoossens/gradle-modernizer-plugin#gradle-modernizer-plugin) to ensure "modern" Java coding practices.
|
|
72 | 79 | # CHANGELOG.md and *.md
|
73 | 80 |
|
74 | 81 | - jobName: 'CHANGELOG.md needs to be modified'
|
| 82 | + workflowName: 'PR Tests' |
75 | 83 | message: >
|
76 | 84 | You ticked that you modified `CHANGELOG.md`, but no new entry was found there.
|
77 | 85 |
|
|
80 | 88 | If you did not, please replace the cross (`[x]`) by a slash (`[/]`) to indicate that no `CHANGELOG.md` entry is necessary.
|
81 | 89 | More details can be found in our [Developer Documentation about the changelog](https://devdocs.jabref.org/decisions/0007-human-readable-changelog.html).
|
82 | 90 | - jobName: 'CHANGELOG.md - only unreleased touched'
|
| 91 | + workflowName: 'Source Code Tests' |
83 | 92 | message: >
|
84 | 93 | While the PR was in progress, a new version of JabRef has been released.
|
85 | 94 |
|
86 | 95 |
|
87 | 96 | You have to merge `upstream/main` and move your entry in `CHANGELOG.md` up to the section `## [Unreleased]`.
|
88 | 97 | - jobName: CHANGELOG.md
|
| 98 | + workflowName: 'Source Code Tests' |
89 | 99 | message: >
|
90 | 100 | You modified `CHANGELOG.md` and did not meet JabRef's rules for consistently formatted Markdown files.
|
91 | 101 | To ensure consistent styling, we have [markdown-lint](https://github.com/DavidAnson/markdownlint) in place.
|
|
94 | 104 |
|
95 | 105 | You can check the detailed error output by navigating to your pull request, selecting the tab "Checks", section "Tests" (on the left), subsection "CHANGELOG.md".
|
96 | 106 | - jobName: Markdown
|
| 107 | + workflowName: 'Source Code Tests' |
97 | 108 | message: >
|
98 | 109 | You modified Markdown (`*.md`) files and did not meet JabRef's rules for consistently formatted Markdown files.
|
99 | 110 | To ensure consistent styling, we have [markdown-lint](https://github.com/DavidAnson/markdownlint) in place.
|
|
106 | 117 | # Submodules and branches
|
107 | 118 |
|
108 | 119 | - jobName: 'Submodules not modified'
|
| 120 | + workflowName: 'PR Tests' |
109 | 121 | message: >
|
110 | 122 | Your pull request modified git submodules.
|
111 | 123 |
|
112 | 124 |
|
113 | 125 | Please follow our [FAQ on submodules](https://devdocs.jabref.org/code-howtos/faq.html#submodules) to fix.
|
114 | 126 | - jobName: no-force-push
|
| 127 | + workflowName: 'PR Tests' |
115 | 128 | always: true
|
116 | 129 | message: >
|
117 | 130 | Hey, we noticed that you **force-pushed** your changes.
|
|
122 | 135 |
|
123 | 136 | In future, **please avoid that**. For now, you can continue working.
|
124 | 137 | - jobName: 'Conflicts with target branch'
|
| 138 | + workflowName: 'On PR opened/updated' |
125 | 139 | message: >
|
126 | 140 | Your pull request conflicts with the target branch.
|
127 | 141 |
|
128 | 142 |
|
129 | 143 | Please [merge `upstream/main`](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork#syncing-a-fork-branch-from-the-command-line) with your code.
|
130 | 144 | For a step-by-step guide to resolve merge conflicts, see <https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line>.
|
131 | 145 | - jobName: 'Source branch is other than "main"'
|
| 146 | + workflowName: 'PR Tests' |
132 | 147 | message: >
|
133 | 148 | You committed your code on the `main` brach of your fork. This is a bad practice.
|
134 | 149 | The right way is to branch out from `main`, work on your patch/feature in that new branch, and then get that branch merged via the pull request (see [GitHub flow](https://docs.github.com/en/get-started/using-github/github-flow)).
|
|
141 | 156 |
|
142 | 157 | # PR text
|
143 | 158 |
|
| 159 | +- jobName: 'PR title must not start with "Fix for issue <number>"' |
| 160 | + workflowName: 'PR Tests' |
| 161 | + always: true |
| 162 | + message: > |
| 163 | + The title of the pull request must not start with "Fix for issue xyz". |
| 164 | + Please use a concise one-line summary that explains what the fix or change actually does. |
| 165 | + Example of a good title: "Prevent crash when importing malformed BibTeX entries". |
144 | 166 | - jobName: 'Mandatory Checks present'
|
| 167 | + workflowName: 'PR Tests' |
145 | 168 | always: true
|
146 | 169 | message: >
|
147 | 170 | You have removed the "Mandatory Checks" section from your pull request description. Please adhere to our [pull request template](https://github.com/JabRef/jabref/blob/main/.github/PULL_REQUEST_TEMPLATE.md?plain=1#L10).
|
148 | 171 | - jobName: 'PR checklist OK'
|
| 172 | + workflowName: 'PR Tests' |
149 | 173 | always: true
|
150 | 174 | message: >
|
151 | 175 | Note that your PR will not be reviewed/accepted until you have gone through the mandatory checks in the description and marked each of them them exactly in the format of `[x]` (done), `[ ]` (not done yet) or `[/]` (not applicable).
|
152 | 176 | - jobName: 'Determine issue number'
|
| 177 | + workflowName: 'PR Tests' |
153 | 178 | always: true
|
154 | 179 | message: |
|
155 | 180 | Your pull request needs to link an issue correctly.
|
|
0 commit comments