Skip to content

Commit f5d1299

Browse files
authored
Merge pull request #10178 from IQSS/develop
Merge v6.1 into master
2 parents 5f2413b + 1f9e10c commit f5d1299

File tree

343 files changed

+19132
-8287
lines changed

Some content is hidden

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

343 files changed

+19132
-8287
lines changed

.gitattributes

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# https://www.git-scm.com/docs/gitattributes
2+
3+
# This set mandatory LF line endings for .sh files preventing from windows users to having to change the value of their git config --global core.autocrlf to 'false' or 'input'
4+
*.sh text eol=lf

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: Bug report
33
about: Did you encounter something unexpected or incorrect in the Dataverse software?
44
We'd like to hear about it!
55
title: ''
6-
labels: ''
6+
labels: 'Type: Bug'
77
assignees: ''
88

99
---

.github/ISSUE_TEMPLATE/feature_request.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name: Feature request
33
about: Suggest an idea or new feature for the Dataverse software!
44
title: 'Feature Request/Idea:'
5-
labels: ''
5+
labels: 'Type: Feature'
66
assignees: ''
77

88
---

.github/workflows/deploy_beta_testing.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ jobs:
2121
working-directory: src/main/resources/META-INF
2222
run: echo -e "dataverse.feature.api-session-auth=true" >> microprofile-config.properties
2323

24+
- name: Set build number
25+
run: scripts/installer/custom-build-number
26+
2427
- name: Build application war
2528
run: mvn package
2629

.github/workflows/maven_unit_test.yml

Lines changed: 101 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Maven Unit Tests
1+
name: Maven Tests
22

33
on:
44
push:
@@ -28,6 +28,7 @@ jobs:
2828
continue-on-error: ${{ matrix.experimental }}
2929
runs-on: ubuntu-latest
3030
steps:
31+
# Basic setup chores
3132
- uses: actions/checkout@v3
3233
- name: Set up JDK ${{ matrix.jdk }}
3334
uses: actions/setup-java@v3
@@ -37,16 +38,110 @@ jobs:
3738
cache: maven
3839

3940
# The reason why we use "install" here is that we want the submodules to be available in the next step.
40-
# Also, we can cache them this way for jobs triggered by this one.
41-
- name: Build with Maven
41+
# Also, we can cache them this way for jobs triggered by this one. We need to skip ITs here, as we run
42+
# them in the next job - but install usually runs through verify phase.
43+
- name: Build with Maven and run unit tests
4244
run: >
4345
mvn -B -f modules/dataverse-parent
4446
-Dtarget.java.version=${{ matrix.jdk }}
4547
-DcompilerArgument=-Xlint:unchecked -P all-unit-tests
48+
-DskipIntegrationTests
4649
-pl edu.harvard.iq:dataverse -am
4750
install
4851
49-
- name: Maven Code Coverage
52+
# We don't want to cache the WAR file, so delete it
53+
- run: rm -rf ~/.m2/repository/edu/harvard/iq/dataverse
54+
55+
# Upload the built war file. For download, it will be wrapped in a ZIP by GitHub.
56+
# See also https://github.com/actions/upload-artifact#zipped-artifact-downloads
57+
- uses: actions/upload-artifact@v3
58+
with:
59+
name: dataverse-java${{ matrix.jdk }}.war
60+
path: target/dataverse*.war
61+
retention-days: 7
62+
63+
# Store the build for the next step (integration test) to avoid recompilation and to transfer coverage reports
64+
- run: |
65+
tar -cvf java-builddir.tar target
66+
tar -cvf java-m2-selection.tar ~/.m2/repository/io/gdcc/dataverse-*
67+
- uses: actions/upload-artifact@v3
68+
with:
69+
name: java-artifacts
70+
path: |
71+
java-builddir.tar
72+
java-m2-selection.tar
73+
retention-days: 3
74+
75+
integration-test:
76+
runs-on: ubuntu-latest
77+
needs: unittest
78+
name: (${{ matrix.status}} / JDK ${{ matrix.jdk }}) Integration Tests
79+
strategy:
80+
fail-fast: false
81+
matrix:
82+
jdk: [ '17' ]
83+
experimental: [ false ]
84+
status: [ "Stable" ]
85+
#
86+
# JDK 17 builds disabled due to non-essential fails marking CI jobs as completely failed within
87+
# Github Projects, PR lists etc. This was consensus on Slack #dv-tech. See issue #8094
88+
# (This is a limitation of how Github is currently handling these things.)
89+
#
90+
#include:
91+
# - jdk: '17'
92+
# experimental: true
93+
# status: "Experimental"
94+
continue-on-error: ${{ matrix.experimental }}
95+
steps:
96+
# Basic setup chores
97+
- uses: actions/checkout@v3
98+
- name: Set up JDK ${{ matrix.jdk }}
99+
uses: actions/setup-java@v3
100+
with:
101+
java-version: ${{ matrix.jdk }}
102+
distribution: temurin
103+
cache: maven
104+
105+
# Get the build output from the unit test job
106+
- uses: actions/download-artifact@v3
107+
with:
108+
name: java-artifacts
109+
- run: |
110+
tar -xvf java-builddir.tar
111+
tar -xvf java-m2-selection.tar -C /
112+
113+
# Run integration tests (but not unit tests again)
114+
- run: mvn -DskipUnitTests -Dtarget.java.version=${{ matrix.jdk }} verify
115+
116+
# Wrap up and send to coverage job
117+
- run: tar -cvf java-reportdir.tar target/site
118+
- uses: actions/upload-artifact@v3
119+
with:
120+
name: java-reportdir
121+
path: java-reportdir.tar
122+
retention-days: 3
123+
124+
coverage-report:
125+
runs-on: ubuntu-latest
126+
needs: integration-test
127+
name: Coverage Report Submission
128+
steps:
129+
# Basic setup chores
130+
- uses: actions/checkout@v3
131+
- uses: actions/setup-java@v3
132+
with:
133+
java-version: '17'
134+
distribution: temurin
135+
cache: maven
136+
137+
# Get the build output from the integration test job
138+
- uses: actions/download-artifact@v3
139+
with:
140+
name: java-reportdir
141+
- run: tar -xvf java-reportdir.tar
142+
143+
# Deposit Code Coverage
144+
- name: Deposit Code Coverage
50145
env:
51146
CI_NAME: github
52147
COVERALLS_SECRET: ${{ secrets.GITHUB_TOKEN }}
@@ -57,22 +152,14 @@ jobs:
57152
-DrepoToken=${COVERALLS_SECRET} -DpullRequest=${{ github.event.number }}
58153
jacoco:report coveralls:report
59154
60-
# We don't want to cache the WAR file, so delete it
61-
- run: rm -rf ~/.m2/repository/edu/harvard/iq/dataverse
155+
# NOTE: this may be extended with adding a report to the build output, leave a comment, send to Sonarcloud, ...
62156

63-
# Upload the built war file. For download, it will be wrapped in a ZIP by GitHub.
64-
# See also https://github.com/actions/upload-artifact#zipped-artifact-downloads
65-
- uses: actions/upload-artifact@v3
66-
with:
67-
name: dataverse-java${{ matrix.jdk }}.war
68-
path: target/dataverse*.war
69-
retention-days: 7
70157
push-app-img:
71158
name: Publish App Image
72159
permissions:
73160
contents: read
74161
packages: write
75162
pull-requests: write
76-
needs: unittest
163+
needs: integration-test
77164
uses: ./.github/workflows/container_app_push.yml
78165
secrets: inherit

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Dataverse®
22
===============
33

4-
Dataverse is an [open source][] software platform for sharing, finding, citing, and preserving research data (developed by the [Data Science and Products team](http://www.iq.harvard.edu/people/people/data-science-products) at the [Institute for Quantitative Social Science](http://iq.harvard.edu/) and the [Dataverse community][]).
4+
Dataverse is an [open source][] software platform for sharing, finding, citing, and preserving research data (developed by the [Dataverse team](https://dataverse.org/about) at the [Institute for Quantitative Social Science](https://iq.harvard.edu/) and the [Dataverse community][]).
55

66
[dataverse.org][] is our home on the web and shows a map of Dataverse installations around the world, a list of [features][], [integrations][] that have been made possible through [REST APIs][], our development [roadmap][], and more.
77

@@ -15,7 +15,7 @@ We love contributors! Please see our [Contributing Guide][] for ways you can hel
1515

1616
Dataverse is a trademark of President and Fellows of Harvard College and is registered in the United States.
1717

18-
[![Dataverse Project logo](src/main/webapp/resources/images/dataverseproject_logo.jpg?raw=true "Dataverse Project")](http://dataverse.org)
18+
[![Dataverse Project logo](src/main/webapp/resources/images/dataverseproject_logo.jpg "Dataverse Project")](http://dataverse.org)
1919

2020
[![API Test Status](https://jenkins.dataverse.org/buildStatus/icon?job=IQSS-dataverse-develop&subject=API%20Test%20Status)](https://jenkins.dataverse.org/job/IQSS-dataverse-develop/)
2121
[![API Test Coverage](https://img.shields.io/jenkins/coverage/jacoco?jobUrl=https%3A%2F%2Fjenkins.dataverse.org%2Fjob%2FIQSS-dataverse-develop&label=API%20Test%20Coverage)](https://jenkins.dataverse.org/job/IQSS-dataverse-develop/ws/target/coverage-it/index.html)
@@ -26,15 +26,15 @@ Dataverse is a trademark of President and Fellows of Harvard College and is regi
2626
[dataverse.org]: https://dataverse.org
2727
[demo.dataverse.org]: https://demo.dataverse.org
2828
[Dataverse community]: https://dataverse.org/developers
29-
[Installation Guide]: http://guides.dataverse.org/en/latest/installation/index.html
29+
[Installation Guide]: https://guides.dataverse.org/en/latest/installation/index.html
3030
[latest release]: https://github.com/IQSS/dataverse/releases
3131
[features]: https://dataverse.org/software-features
3232
[roadmap]: https://www.iq.harvard.edu/roadmap-dataverse-project
3333
[integrations]: https://dataverse.org/integrations
34-
[REST APIs]: http://guides.dataverse.org/en/latest/api/index.html
34+
[REST APIs]: https://guides.dataverse.org/en/latest/api/index.html
3535
[Contributing Guide]: CONTRIBUTING.md
3636
[mailing list]: https://groups.google.com/group/dataverse-community
3737
[community call]: https://dataverse.org/community-calls
38-
[chat.dataverse.org]: http://chat.dataverse.org
38+
[chat.dataverse.org]: https://chat.dataverse.org
3939
[Dataverse Community Meeting]: https://dataverse.org/events
4040
[open source]: LICENSE.md

conf/keycloak/docker-compose.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,15 @@ version: "3.9"
33
services:
44

55
keycloak:
6-
image: 'jboss/keycloak:16.1.1'
6+
image: 'quay.io/keycloak/keycloak:21.0'
7+
command:
8+
- "start-dev"
9+
- "--import-realm"
710
environment:
8-
- KEYCLOAK_USER=kcadmin
9-
- KEYCLOAK_PASSWORD=kcpassword
10-
- KEYCLOAK_IMPORT=/tmp/oidc-realm.json
11+
- KEYCLOAK_ADMIN=kcadmin
12+
- KEYCLOAK_ADMIN_PASSWORD=kcpassword
1113
- KEYCLOAK_LOGLEVEL=DEBUG
1214
ports:
1315
- "8090:8080"
1416
volumes:
15-
- './oidc-realm.json:/tmp/oidc-realm.json'
17+
- './test-realm.json:/opt/keycloak/data/import/test-realm.json'

conf/keycloak/oidc-keycloak-auth-provider.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33
"factoryAlias": "oidc",
44
"title": "OIDC-Keycloak",
55
"subtitle": "OIDC-Keycloak",
6-
"factoryData": "type: oidc | issuer: http://keycloak.mydomain.com:8090/realms/oidc-realm | clientId: oidc-client | clientSecret: ss6gE8mODCDfqesQaSG3gwUwZqZt547E",
6+
"factoryData": "type: oidc | issuer: http://keycloak.mydomain.com:8090/realms/test | clientId: test | clientSecret: 94XHrfNRwXsjqTqApRrwWmhDLDHpIYV8",
77
"enabled": true
88
}

0 commit comments

Comments
 (0)