Skip to content

Commit f2ded5c

Browse files
Merge branch 'main' into fix/eperson-create-form-hangs-app
2 parents f0b1dcb + aadea29 commit f2ded5c

File tree

129 files changed

+17975
-420
lines changed

Some content is hidden

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

129 files changed

+17975
-420
lines changed

.github/workflows/codescan.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ on:
2525
jobs:
2626
analyze:
2727
name: Analyze Code
28-
runs-on: ubuntu-latest
28+
runs-on: ubuntu-slim
2929
# Limit permissions of this GitHub action. Can only write to security-events
3030
permissions:
3131
actions: read

.github/workflows/docker.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,6 @@ jobs:
7474
DSPACE_REST_HOST: 127.0.0.1
7575
# Override default dspace.ui.url to also use 127.0.0.1.
7676
dspace__P__ui__P__url: http://127.0.0.1:4000
77-
# Docker Registry to use for Docker compose scripts below.
78-
# If this is a PR, then we need to use docker.io (as the registry must be public),
79-
# Otherwise we default to ghcr.io to avoid aggressive rate limits at DockerHub.
80-
DOCKER_REGISTRY: ${{ github.event_name == 'pull_request' && 'docker.io' || 'ghcr.io' }}
8177
steps:
8278
# Checkout our codebase (to get access to Docker Compose scripts)
8379
- name: Checkout codebase
@@ -98,6 +94,11 @@ jobs:
9894
docker image ls -a
9995
# Start backend using our compose script in the codebase.
10096
- name: Start backend in Docker
97+
# MUST use docker.io as we don't have a copy of this backend image in our GitHub Action,
98+
# and docker.io is the only public image. If we ever hit aggressive rate limits at DockerHub,
99+
# we may need to consider making the 'ghcr.io' images public & switch this to 'ghcr.io'
100+
env:
101+
DOCKER_REGISTRY: docker.io
101102
run: |
102103
docker compose -f docker/docker-compose-rest.yml up -d
103104
sleep 10

.github/workflows/issue_opened.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88
permissions: {}
99
jobs:
1010
automation:
11-
runs-on: ubuntu-latest
11+
runs-on: ubuntu-slim
1212
steps:
1313
# Add the new issue to a project board, if it needs triage
1414
# See https://github.com/actions/add-to-project

.github/workflows/label_merge_conflicts.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
triage:
1919
# Ensure this job never runs on forked repos. It's only executed for 'dspace/dspace-angular'
2020
if: github.repository == 'dspace/dspace-angular'
21-
runs-on: ubuntu-latest
21+
runs-on: ubuntu-slim
2222
permissions:
2323
pull-requests: write
2424
steps:
@@ -36,4 +36,4 @@ jobs:
3636
conflict_comment: |
3737
Hi @${author},
3838
Conflicts have been detected against the base branch.
39-
Please [resolve these conflicts](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/about-merge-conflicts) as soon as you can. Thanks!
39+
Please [resolve these conflicts](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/about-merge-conflicts) as soon as you can. Thanks!

.github/workflows/port_merged_pull_request.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ permissions:
1818

1919
jobs:
2020
port_pr:
21-
runs-on: ubuntu-latest
21+
runs-on: ubuntu-slim
2222
# Don't run on closed *unmerged* pull requests
2323
if: github.event.pull_request.merged
2424
steps:
@@ -43,4 +43,4 @@ jobs:
4343
merge_commits: 'skip'
4444
# Use a personal access token (PAT) to create PR as 'dspace-bot' user.
4545
# A PAT is required in order for the new PR to trigger its own actions (for CI checks)
46-
github_token: ${{ secrets.PR_PORT_TOKEN }}
46+
github_token: ${{ secrets.PR_PORT_TOKEN }}

.github/workflows/pull_request_opened.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ permissions:
1616

1717
jobs:
1818
automation:
19-
runs-on: ubuntu-latest
19+
runs-on: ubuntu-slim
2020
steps:
2121
# Assign the PR to whomever created it. This is useful for visualizing assignments on project boards
2222
# See https://github.com/toshimaru/auto-author-assign

.github/workflows/stale.yml

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# DSpace rules for flagging untouched issues and PRs as stale using 'stale':
2+
# https://github.com/actions/stale
3+
name: 'Mark issues and PRs as stale'
4+
on:
5+
# Schedule to run weekly on Sunday at 3:03am UTC
6+
# NOTE: This time is purposefully different from the "stale" bot settings in "DSpace/DSpace" to help
7+
# ensure we don't hit GitHub's rate limits.
8+
schedule:
9+
- cron: '3 3 * * 0'
10+
11+
permissions:
12+
issues: write
13+
pull-requests: write
14+
15+
jobs:
16+
stale:
17+
runs-on: ubuntu-slim
18+
steps:
19+
- uses: actions/stale@v10
20+
with:
21+
# Number of GitHub API calls to allow in a single run (to avoid hitting GitHub's rate limit)
22+
# Default is 30. But, we've found that only results in processing ~7 issues or PRs. So, we've increased it.
23+
operations-per-run: 60
24+
# Issues will be marked stale after 3 years of no activity
25+
days-before-issue-stale: 1095
26+
# Issues marked stale will be closed after one additional week of no activity
27+
days-before-issue-close: 7
28+
# High priority issues are never marked stale
29+
exempt-issue-labels: 'high priority'
30+
# When an issue is marked stale, this label and comment will be added to the issue.
31+
stale-issue-label: stale
32+
stale-issue-message: |
33+
This issue has been automatically marked as stale because it has not had
34+
activity in 3 years. It will be closed in 7 days if no further activity occurs.
35+
36+
Allowing issues to close as stale helps us filter out issues which can wait
37+
for future development time. All issues closed by this bot will continue to act
38+
like normal issues; they can be searched for, commented on or reopened at any point.
39+
40+
To extend the lifetime of an issue please comment below. This will help us to see
41+
that this issue is still affecting you with current versions of DSpace, and encourage
42+
us to re-prioritize this issue.
43+
# When an issue is closed, this comment will be added to the issue.
44+
close-issue-message: |
45+
This issue has been closed automatically as "stale". If this still affects you please
46+
request to re-open this issue via a comment, providing us with details on how this still
47+
impacts your usage of DSpace.
48+
# PRs will be marked stale after 1 year of no activity
49+
days-before-pr-stale: 365
50+
# PRs marked stale will be closed after two additional weeks of no activity
51+
days-before-pr-close: 14
52+
# High priority PRs are never marked stale
53+
exempt-pr-labels: 'high priority'
54+
# When a PR is marked stale, this label and comment will be added to the issue.
55+
stale-pr-label: stale
56+
stale-pr-message: |
57+
This pull request has been automatically marked as stale because it has not had
58+
activity in one year. It will be closed in 14 days if no further activity occurs.
59+
60+
Allowing pull requests to close as stale helps us filter out old work that is no longer
61+
relevant and helps developers focus on reviewing current work.
62+
63+
All pull requests closed by this bot act like normal pull requests;
64+
they can be searched for, commented on or reopened at any point.
65+
66+
If these changes are still relevant then please comment and/or rebase your PR based on the
67+
latest DSpace code. This will remove the stale status and notify us to assign a reviewer
68+
for your PR.
69+
close-pr-message: |
70+
This pull request has been closed automatically. If these changes are still relevant
71+
then please re-open this pull request with a comment and rebase your PR based on the latest
72+
DSpace code. This will notify us to assign a reviewer to your PR.

Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ FROM docker.io/node:22-alpine
55

66
# Ensure Python and other build tools are available
77
# These are needed to install some node modules, especially on linux/arm64
8-
RUN apk add --update python3 make g++ && rm -rf /var/cache/apk/*
8+
RUN apk --no-cache add python3 make g++
99

1010
WORKDIR /app
1111

@@ -31,4 +31,4 @@ EXPOSE 4000
3131
ENTRYPOINT [ "npm", "run", "serve" ]
3232
# By default set host to 0.0.0.0 to listen/accept connections from all IP addresses.
3333
# Poll for changes every 5 seconds (if any detected, app will rebuild/restart)
34-
CMD ["--", "--host 0.0.0.0", "--poll 5000"]
34+
CMD ["--", "--host 0.0.0.0", "--poll 5000"]

Dockerfile.dist

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ FROM docker.io/node:22-alpine AS build
99

1010
# Ensure Python and other build tools are available
1111
# These are needed to install some node modules, especially on linux/arm64
12-
RUN apk add --update python3 make g++ && rm -rf /var/cache/apk/*
12+
RUN apk --no-cache add python3 make g++
1313

1414
WORKDIR /app
1515
# Copy over package files first, so this layer will only be rebuilt if those files change.
@@ -46,4 +46,4 @@ EXPOSE 4000
4646
# On startup, run start the DSpace UI in PM2
4747
ENTRYPOINT [ "pm2-runtime", "start", "dspace-ui.json" ]
4848
# By default, pass param that specifies to use JSON format logs.
49-
CMD ["--json"]
49+
CMD ["--json"]

config/config.example.yml

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,13 @@ ui:
1010
port: 4000
1111
# NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript
1212
nameSpace: /
13-
# The rateLimiter settings limit each IP to a 'max' of 500 requests per 'windowMs' (1 minute).
13+
# The rateLimiter settings limit each IP to a 'limit' of 500 requests per 'windowMs' (1 minute).
1414
rateLimiter:
1515
windowMs: 60000 # 1 minute
16-
max: 500 # limit each IP to 500 requests per windowMs
16+
limit: 500 # limit each IP to 500 requests per windowMs
17+
# IPv6 subnet mask applied to IPv6 addresses.
18+
# See: https://express-rate-limit.mintlify.app/reference/configuration#ipv6subnet
19+
ipv6Subnet: 56
1720
# Trust X-FORWARDED-* headers from proxies (default = true)
1821
useProxies: true
1922

@@ -295,12 +298,18 @@ languages:
295298
- code: lv
296299
label: Latviešu
297300
active: true
301+
- code: ml
302+
label: മലയാളം
303+
active: true
298304
- code: mr
299305
label: मराठी
300306
active: true
301307
- code: nl
302308
label: Nederlands
303309
active: true
310+
- code: od
311+
label: ଓଡିଆ
312+
active: true
304313
- code: pl
305314
label: Polski
306315
active: true
@@ -322,6 +331,9 @@ languages:
322331
- code: sv
323332
label: Svenska
324333
active: true
334+
- code: te
335+
label: తెలుగు
336+
active: true
325337
- code: ta
326338
label: தமிழ்
327339
active: true

0 commit comments

Comments
 (0)