Skip to content

Commit 9f81a8e

Browse files
authored
Merge branch 'main' into restore-auto-rename-feature-2
2 parents c93e2b4 + 6590ae1 commit 9f81a8e

File tree

78 files changed

+701
-200
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+701
-200
lines changed

.github/PULL_REQUEST_TEMPLATE.md

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
YOU HAVE TO MODIFY THIS TEXT TO FIT YOUR PR. OTHERWISE, YOUR PR WILL BE CLOSED WITHOUT FURTHER COMMENT.
1+
<!-- YOU HAVE TO MODIFY THIS TEXT TO FIT YOUR PR. OTHERWISE, YOUR PR WILL BE CLOSED WITHOUT FURTHER COMMENT. -->
2+
23
Describe the changes you have made here: what, why, ...
3-
Link the issue that will be closed. Example: "Closes #333".
4+
5+
<!-- LINK THE ISSUE WITH THE "Closes" KEYWORD -->
6+
<!-- Example: Closes (link) OR Closes #xyz -->
47

58
### Mandatory checks
69

7-
<!--
10+
<!--
811
- Go through the list below. Please don't remove any items.
912
- [x] done; [ ] not done / not applicable
1013
-->

.github/ghprcomment.yml

+32
Original file line numberDiff line numberDiff line change
@@ -49,3 +49,35 @@
4949
Commits will be lost, comments on commits will loose their context.
5050
This makes it harder to review.
5151
In the end, all commits will be [squashed](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges#squash-and-merge-your-commits) either way before being merged into the `main`` branch.
52+
- jobName: move_issue
53+
message: |
54+
Your pull request needs to link an issue.
55+
56+
To ease organizational workflows, please link this pull-request to the issue with syntax as described in <https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue>:
57+
58+
> <h2 id="linking-a-pull-request-to-an-issue-using-a-keyword">Linking a pull request to an issue using a keyword</h2>
59+
> <p>You can link a pull request to an issue by using a supported keyword
60+
> in the pull request's description or in a commit message. The pull
61+
> request <strong>must be</strong> on the default branch.</p>
62+
> <ul>
63+
> <li>close</li>
64+
> <li>closes</li>
65+
> <li>closed</li>
66+
> <li>fix</li>
67+
> <li>fixes</li>
68+
> <li>fixed</li>
69+
> <li>resolve</li>
70+
> <li>resolves</li>
71+
> <li>resolved</li>
72+
> </ul>
73+
> <p>If you use a keyword to reference a pull request comment in another
74+
> pull request, the pull requests will be linked. Merging the referencing
75+
> pull request also closes the referenced pull request.</p>
76+
> <p>The syntax for closing keywords depends on whether the issue is in the same repository as the pull request.</p>
77+
78+
### Examples
79+
80+
- ✅ `Fixes #xyz` links pull-request to issue. Merging the PR will close the issue.
81+
- ✅ `Fixes https://github.com/JabRef/jabref/issues/xyz` links pull-request to issue. Merging the PR will close the issue.
82+
- ✅ `Fixes https://github.com/Koppor/jabref/issues/xyz` links pull-request to issue. Merging the PR will close the issue.
83+
- ❌ `Fixes [#xyz](https://github.com/JabRef/jabref/issues/xyz)` links pull-request to issue. Merging the PR will **NOT** close the issue.

.github/workflows/check-links.yml

+9-16
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
name: Check external href links in the documentation
22

33
on:
4-
push:
4+
pull_request:
55
paths:
66
- '.github/workflows/check-links.yml'
7-
- '.lycheeignore'
8-
- 'lychee.toml'
7+
- '.linkspector.yml'
98
- '**/*.md'
109
schedule:
1110
# Run on the first of each month at 9:00 AM (See https://pubs.opengroup.org/onlinepubs/9699919799/utilities/crontab.html#tag_20_25_07)
@@ -17,22 +16,16 @@ concurrency:
1716
cancel-in-progress: true
1817

1918
jobs:
20-
lychee:
21-
if: github.repository_owner == 'JabRef'
19+
check-links:
20+
if: github.repository == 'JabRef/jabref'
2221
runs-on: ubuntu-latest
2322
steps:
2423
- uses: actions/checkout@v4
2524
with:
2625
show-progress: 'false'
27-
- name: Restore lychee cache
28-
uses: actions/cache@v4
26+
- name: Run linkspector
27+
uses: umbrelladocs/action-linkspector@v1
2928
with:
30-
path: .lycheecache
31-
key: cache-lychee-${{ github.sha }}
32-
restore-keys: cache-lychee-
33-
- name: Link Checker
34-
id: lychee
35-
uses: lycheeverse/[email protected]
36-
with:
37-
fail: true
38-
args: --accept '200,201,202,203,204,403,429,500' --max-concurrency 1 --cache --no-progress --exclude-all-private './**/*.md'
29+
github_token: ${{ secrets.github_token }}
30+
reporter: github-pr-review
31+
fail_level: any

.github/workflows/cleanup-pr.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
BUILDJABREFPRIVATEKEY: ${{ secrets.buildJabRefPrivateKey }}
3030
- name: Delete folder on builds.jabref.org
3131
if: steps.checksecrets.outputs.secretspresent == 'YES'
32-
uses: appleboy/[email protected].1
32+
uses: appleboy/[email protected].2
3333
with:
3434
script: rm -rf /var/www/builds.jabref.org/www/pull/${{ github.event.pull_request.number }} || true
3535
host: build-upload.jabref.org
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: Delete old workflow runs (automatically)
2+
on:
3+
schedule:
4+
- cron: '0 0 1 * *'
5+
jobs:
6+
del_runs:
7+
runs-on: ubuntu-latest
8+
permissions:
9+
actions: write
10+
contents: read
11+
steps:
12+
- name: Delete workflow runs
13+
uses: Mattraks/delete-workflow-runs@v2
14+
with:
15+
token: ${{ github.token }}
16+
repository: ${{ github.repository }}
17+
retain_days: 30
18+
keep_minimum_runs: 6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
name: Delete old workflow runs (manually)
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
days:
6+
description: 'Days-worth of runs to keep for each workflow'
7+
required: true
8+
default: '30'
9+
minimum_runs:
10+
description: 'Minimum runs to keep for each workflow'
11+
required: true
12+
default: '6'
13+
delete_workflow_pattern:
14+
description: 'Name or filename of the workflow (if not set, all workflows are targeted)'
15+
required: false
16+
delete_workflow_by_state_pattern:
17+
description: 'Filter workflows by state: active, deleted, disabled_fork, disabled_inactivity, disabled_manually'
18+
required: true
19+
default: "ALL"
20+
type: choice
21+
options:
22+
- "ALL"
23+
- active
24+
- deleted
25+
- disabled_inactivity
26+
- disabled_manually
27+
delete_run_by_conclusion_pattern:
28+
description: 'Remove runs based on conclusion: action_required, cancelled, failure, skipped, success'
29+
required: true
30+
default: "ALL"
31+
type: choice
32+
options:
33+
- "ALL"
34+
- "Unsuccessful: action_required,cancelled,failure,skipped"
35+
- action_required
36+
- cancelled
37+
- failure
38+
- skipped
39+
- success
40+
dry_run:
41+
description: 'Logs simulated changes, no deletions are performed'
42+
required: false
43+
44+
jobs:
45+
del_runs:
46+
runs-on: ubuntu-latest
47+
permissions:
48+
actions: write
49+
contents: read
50+
steps:
51+
- name: Delete workflow runs
52+
uses: Mattraks/delete-workflow-runs@v2
53+
with:
54+
token: ${{ github.token }}
55+
repository: ${{ github.repository }}
56+
retain_days: ${{ github.event.inputs.days }}
57+
keep_minimum_runs: ${{ github.event.inputs.minimum_runs }}
58+
delete_workflow_pattern: ${{ github.event.inputs.delete_workflow_pattern }}
59+
delete_workflow_by_state_pattern: ${{ github.event.inputs.delete_workflow_by_state_pattern }}
60+
delete_run_by_conclusion_pattern: >-
61+
${{
62+
startsWith(github.event.inputs.delete_run_by_conclusion_pattern, 'Unsuccessful:')
63+
&& 'action_required,cancelled,failure,skipped'
64+
|| github.event.inputs.delete_run_by_conclusion_pattern
65+
}}
66+
dry_run: ${{ github.event.inputs.dry_run }}

.github/workflows/deployment-arm64.yml

-2
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,6 @@ jobs:
100100
keychain-password: jabref
101101
- name: Setup Gradle
102102
uses: gradle/actions/setup-gradle@v4
103-
with:
104-
gradle-home-cache-cleanup: true
105103
- name: Prepare merged jars and modules dir (macOS)
106104
run: ./gradlew -i -PprojVersion="${{ steps.gitversion.outputs.AssemblySemVer }}" -PprojVersionInfo="${{ steps.gitversion.outputs.InformationalVersion }}" prepareModulesDir
107105
- name: Build dmg (macOS)

.github/workflows/deployment-jdk-ea.yml

-2
Original file line numberDiff line numberDiff line change
@@ -193,8 +193,6 @@ jobs:
193193
distribution: 'temurin'
194194
- name: Set up Gradle
195195
uses: gradle/actions/setup-gradle@v4
196-
with:
197-
gradle-home-cache-cleanup: true
198196
- name: Prepare merged jars and modules dir
199197
# prepareModulesDir is executing a build, which should run through even if no upload to builds.jabref.org is made
200198
if: (steps.checksecrets.outputs.secretspresent == 'NO')

.github/workflows/deployment.yml

-2
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,6 @@ jobs:
9494
distribution: 'temurin'
9595
- name: Setup Gradle
9696
uses: gradle/actions/setup-gradle@v4
97-
with:
98-
gradle-home-cache-cleanup: true
9997
- name: Prepare merged jars and modules dir (macOS)
10098
# prepareModulesDir is executing a build, which should run through even if no upload to builds.jabref.org is made
10199
if: (matrix.os == 'macos-13') || (steps.checksecrets.outputs.secretspresent == 'NO')

.github/workflows/gource.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ concurrency:
1515

1616
jobs:
1717
action:
18-
if: github.repository_owner == 'JabRef'
18+
if: github.repository == 'JabRef/jabref'
1919
runs-on: ubuntu-latest
2020
steps:
2121
- name: 'Checkout'

.github/workflows/assign-issue.yml .github/workflows/on-issue-comment.yml

+14-14
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,19 @@
1-
name: Assign Issue
1+
name: On isuse comment
22

33
on:
4-
schedule:
5-
- cron: 4 12 * * *
64
issue_comment:
75
types: [created]
8-
workflow_dispatch:
96

107
jobs:
118
assign:
12-
if: github.repository_owner == 'JabRef'
9+
if: github.repository == 'JabRef/jabref'
1310
runs-on: ubuntu-latest
1411
permissions:
1512
issues: write
1613
steps:
1714
- name: Assign the user or unassign stale assignments
1815
id: assign
19-
uses: takanome-dev/assign-issue-action@beta
16+
uses: takanome-dev/assign-issue-action@edge
2017
with:
2118
github_token: '${{ secrets.GITHUB_TOKEN }}'
2219
days_until_unassign: 45
@@ -32,11 +29,14 @@ jobs:
3229
3330
Happy coding! 🚀
3431
35-
⏳ Please note, you will be automatically unassigned if the issue isn't closed within **{{ total_days }} days** (by **{{ unassigned_date }}**). A maintainer can also add the "**{{ pin_label }}**"" label to prevent automatic unassignment.
36-
- name: Move Issue to "Assigned" Column in "Candidates for University Projects"
37-
uses: m7kvqbe1/github-action-move-issues@feat/skip-if-not-in-project-flag
38-
# Action currently works for issues only - pre-condition: https://github.com/takanome-dev/assign-issue-action/issues/269 fixed
39-
if: github.event_name == 'issue_comment'
32+
⏳ Please note, you will be automatically unassigned if the issue isn't closed within **{{ total_days }} days** (by **{{ unassigned_date }}**). A maintainer can also add the "**{{ pin_label }}**" label to prevent automatic unassignment.
33+
assignment_suggestion_comment: >
34+
👋 Hey @{{ handle }}, looks like you’re eager to work on this issue—great! 🎉
35+
It also looks like you skipped reading our [CONTRIBUTING.md](https://github.com/JabRef/jabref/blob/main/CONTRIBUTING.md), which explains exactly how to participate. No worries, it happens to the best of us.
36+
Give it a read, and you’ll discover the ancient wisdom of assigning issues to yourself. Trust me, it’s worth it. 🚀
37+
- name: Move issue corresponding column in "Candidates for University Projects"
38+
uses: m7kvqbe1/github-action-move-issues@main
39+
if: ${{ steps.assign.outputs.assigned == 'yes' || steps.assign.outputs.unassigned == 'yes' }}
4040
with:
4141
github-token: ${{ secrets.GH_TOKEN_ACTION_MOVE_ISSUE }}
4242
project-url: "https://github.com/orgs/JabRef/projects/3"
@@ -45,9 +45,9 @@ jobs:
4545
ignored-columns: ""
4646
default-column: "Free to take"
4747
skip-if-not-in-project: true
48-
- name: Move Issue to "Assigned" Column in "Good First Issues"
49-
uses: m7kvqbe1/github-action-move-issues@feat/skip-if-not-in-project-flag
50-
if: github.event_name == 'issue_comment'
48+
- name: Move issue corresponding column in "Good First Issues"
49+
uses: m7kvqbe1/github-action-move-issues@main
50+
if: ${{ steps.assign.outputs.assigned == 'yes' || steps.assign.outputs.unassigned == 'yes' }}
5151
with:
5252
github-token: ${{ secrets.GH_TOKEN_ACTION_MOVE_ISSUE }}
5353
project-url: "https://github.com/orgs/JabRef/projects/5"

.github/workflows/on-issue-labeled.yml

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: On labeled issue
1+
name: On issue labeled
22

33
on:
44
issues:
@@ -15,7 +15,7 @@ jobs:
1515
issues: write
1616
steps:
1717
- name: Move Issue to "Assigned" Column in "Candidates for University Projects"
18-
uses: m7kvqbe1/github-action-move-issues@feat/skip-if-not-in-project-flag
18+
uses: m7kvqbe1/github-action-move-issues@main
1919
with:
2020
github-token: ${{ secrets.GH_TOKEN_ACTION_MOVE_ISSUE }}
2121
project-url: "https://github.com/orgs/JabRef/projects/3"
@@ -25,7 +25,7 @@ jobs:
2525
default-column: "Free to take"
2626
skip-if-not-in-project: true
2727
- name: Move Issue to "Assigned" Column in "Good First Issues"
28-
uses: m7kvqbe1/github-action-move-issues@feat/skip-if-not-in-project-flag
28+
uses: m7kvqbe1/github-action-move-issues@main
2929
with:
3030
github-token: ${{ secrets.GH_TOKEN_ACTION_MOVE_ISSUE }}
3131
project-url: "https://github.com/orgs/JabRef/projects/5"
@@ -59,7 +59,7 @@ jobs:
5959
6060
Happy coding! 🚀
6161
- name: Move Issue to "Assigned" Column in "Candidates for University Projects"
62-
uses: m7kvqbe1/github-action-move-issues@feat/skip-if-not-in-project-flag
62+
uses: m7kvqbe1/github-action-move-issues@main
6363
with:
6464
github-token: ${{ secrets.GH_TOKEN_ACTION_MOVE_ISSUE }}
6565
project-url: "https://github.com/orgs/JabRef/projects/3"
@@ -69,7 +69,7 @@ jobs:
6969
default-column: "Free to take"
7070
skip-if-not-in-project: true
7171
- name: Move Issue to "Assigned" Column in "Good First Issues"
72-
uses: m7kvqbe1/github-action-move-issues@feat/skip-if-not-in-project-flag
72+
uses: m7kvqbe1/github-action-move-issues@main
7373
with:
7474
github-token: ${{ secrets.GH_TOKEN_ACTION_MOVE_ISSUE }}
7575
project-url: "https://github.com/orgs/JabRef/projects/5"
+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: On issue unassigned
2+
3+
on:
4+
issues:
5+
types:
6+
- unassigned
7+
8+
jobs:
9+
ensure_column:
10+
if: ${{ github.repository_owner == 'JabRef' }}
11+
runs-on: ubuntu-latest
12+
permissions:
13+
issues: write
14+
steps:
15+
- name: Move Issue to "Free to take" Column in "Candidates for University Projects"
16+
uses: m7kvqbe1/github-action-move-issues@main
17+
with:
18+
github-token: ${{ secrets.GH_TOKEN_ACTION_MOVE_ISSUE }}
19+
project-url: "https://github.com/orgs/JabRef/projects/3"
20+
target-labels: ""
21+
target-column: "Free to take"
22+
ignored-columns: ""
23+
default-column: "Free to take"
24+
skip-if-not-in-project: true
25+
- name: Move Issue to "Free to take" Column in "Good First Issues"
26+
uses: m7kvqbe1/github-action-move-issues@main
27+
with:
28+
github-token: ${{ secrets.GH_TOKEN_ACTION_MOVE_ISSUE }}
29+
project-url: "https://github.com/orgs/JabRef/projects/5"
30+
target-labels: ""
31+
target-column: "Free to take"
32+
ignored-columns: ""
33+
default-column: "Free to take"
34+
skip-if-not-in-project: true
35+
remove_labels:
36+
if: ${{ github.repository_owner == 'JabRef' }}
37+
runs-on: ubuntu-latest
38+
permissions:
39+
issues: write
40+
contents: read
41+
steps:
42+
- uses: actions/checkout@v4
43+
- name: Remove assigned label
44+
run: gh issue edit ${{ github.event.issue.number }} --remove-label "📍 Assigned"
45+
env:
46+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
47+
- name: Remove FirstTimeCodeContribution label
48+
run: gh issue edit ${{ github.event.issue.number }} --remove-label "FirstTimeCodeContribution"
49+
env:
50+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)