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 and unit test it, logging the success or failure of the build & test. 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
- 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.