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 SVN, DuraSpace's 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.
When a build 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
- Trunk build reports
- DSpace Services build reports
- DSpace Discover build reports
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 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
- Bamboo polls several locations in DSpace SVN
- 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
- Build reports send emails to 'dspace-changelog' listserv on each failure, and on the first successful build after a failure.