Page History
...
Definition of Continuous Integration (CI): Martin Fowler
Currently DuraSpace uses Bamboo, a CI product from Atlassian, makers of Jira and Confluence. DSpace uses GitHub Actions for all Continuous Integration
How it is done
Whenever a new checkin occurs to DSpace GitHub, DuraSpace's Bamboo will attempt to build and unit test the entire project and log whether it succeeded or failed. If it succeeds, the build artifacts (jar files, war files) will be saved for a period of time.
When a build or unit test fails, an email is automatically sent to the 'dspace-changelog' listserv to notify the developers & committers. Once the problem is fixed, a 'build successful' email will be sent to the same listserv.
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: https://bamboo.duraspace.org/browse/DST
- Trunk build reports: https://bamboo.duraspace.org/browse/DST-TRUNK
- DSpace Services build reports: https://bamboo.duraspace.org/browse/DST-SERVICES
- DSpace Discover build reports: https://bamboo.duraspace.org/browse/DST-DISCOVERY
DSpace 2
- Currently not configured in DuraSpace Bamboo.
Configuration
DSpace 1.x
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 buildsBamboo polls the main DSpace/DSpace GitHub project: https://github.com/DSpace/DSpace
- Maven 2.2.1 is used to build the projects
- The Maven command used is
Code Block clean test -Paddons
- Java 1.6 is used
- /actions/workflows/build.yml
- Browse all recent frontend builds: https://github.com/DSpace/dspace-angular/actions/workflows/build.ymlBuild reports send emails to 'dspace-changelog' listserv on each failure, and on the first successful build after a failure.