Page History
...
Definition of Continuous Integration (CI): Martin Fowler
Currently Johns Hopkins uses Bamboo , a CI product from Atlassian, makers of Jira and Confluence. The support JHU provides for this service is "best effort".DSpace uses GitHub Actions for all Continuous Integration
How it is done
The DSpace Sourceforge Subversion repository is polled each hour for changes (commits). If the repository has changed, Bamboo will check out the project and attempt to build it, logging the success or failure of the build. If the build succeeds, the build artifacts (jar files, war files) will be saved for a period of time.
The build reports are available on the web as a traditional website or as RSS feeds:
DSpace 1.x
- Browse all DSpace 1.x builds
- Trunk build reports (feed)
- 1.5.x branch build reports (feed)
- Language Pack (feed)
- Language Pack (XMLUI) (feed)
- Contrib RDF (feed)
- Contrib RDF (XMLUI) (feed)
- Contrib Embargo API & DSpace Impl (feed)
DSpace 2
Configuration
DSpace 1.x
- Bamboo polls trunk and the 1.5.x branch
- Maven 2.0.8 is used to build the projects
- The Maven command used is
Code Block mvn clean test compile package -Pdistributions,all
- Sun Java 1.5.0_13 is used
- Build reports could be emailed to dspace-devel if we so choose. Right now they go to my inbox.
DSpace 2
- Bamboo polls DSpace 2 trunk
- Maven 2.0.9 is used to build the projects
- The Maven command used is
Code Block mvn clean test
- Sun Java 1.5.0_16 is used
- Failed builds (followed by the first successful build) are emailed to dspace-architecture.
- Build artifacts are not being saved currently.
Future Work
...
For every PR & on every commit, a DSpace GitHub "build" Action runs, both on the frontend & backend
- Backend CI Build/Test: https://github.com/DSpace/DSpace/blob/main/.github/workflows/build.yml
- Frontend CI Build/Test: https://github.com/DSpace/dspace-angular/blob/main/.github/workflows/build.yml
Failures are reported in the PR's status checks in GitHub.
If failures occur, artifacts of logs/screenshots are created & attached to the failed task. These can be useful for debugging odd failures
Browse Builds
- Browse all recent backend builds: https://github.com/DSpace/DSpace/actions/workflows/build.yml
- Browse all recent frontend builds: https://github.com/DSpace/dspace-angular/actions/workflows/build.yml