Page History
...
- New Developers Hub - Draft docs for new developers started by Hardy Pottinger
- Pull Request "Trading" (discussed/approved in 2023-08-24 DSpace Developers Meeting)
- Developers are encouraged to ask other developer(s) to review/test their PR in exchange for reviewing/testing a PR created by the other developer. This allows both developers to get more immediate feedback!
- Tim Donohue will also take part in this PR "trading" but in a more general fashion.
- If you review or test any two similar-sized PRs (of your choice), I (Tim) will promise to review one of your PRs as soon as possible (Your PR go to the top of my "to do" list.)
- PRs you review or test can be any PR on one of our boards (7.6.1 Board or 8.0 Board), provided they are similar-size to your own PR.
- PRs you review or test must be from a developer at a different institution from your own.
- You must submit useful feedback on the PR you've reviewed/tested (via a comment on the PR or similar). It can be positive or negative feedback (if you test it and it doesn't work for you, that still counts).
- If I (Tim) don't notice your two reviews, please message me (privately is fine) via Slack or email & let me know which of your PRs you want me to review as soon as possible.
- You can also "trade" to support someone else's PR. Review any two PRs and then ask me (Tim) to review someone else's similar-sized PR.
- If you review or test any two similar-sized PRs (of your choice), I (Tim) will promise to review one of your PRs as soon as possible (Your PR go to the top of my "to do" list.)
Resources for making Code Reviews / Testing easier
...
- Testing DSpace 7 Pull Requests - How to use existing Docker scripts to spin up PRs more easily locally, in order to test them or review them.
- Spin up code in virtual environment (quickly) for easier reviews/testing
- GitHub CodeSpaces: https://docs.github.com/en/codespaces/overview
- Tim Donohue has played with this, and it's possible to spin up DSpace 7 in CodeSpaces. However, you need to use a 4 Core / 8GB RAM machine type (otherwise, the UI will often fail to build with an "error 137" (- meaning it ran out of memory during the build process). Connecting the UI to a running Backend is also not super-easy right now, as codespaces assigns a random URL. We'd need to likely provide a Codespaces configuration for DSpace to make this easier.
- May be a way to use our Docker scripts in CodeSpaces, but it's not easy yet. See https://notes.alexkehayias.com/running-docker-compose-in-codespaces/ and https://github.com/orgs/community/discussions/34090
- GitPod: https://www.gitpod.io/for/opensource
- GitHub CodeSpaces: https://docs.github.com/en/codespaces/overview
- Automated Code Reviewing resources. Tools/resources exist which can do some automatic checking/verification of code quality in Pull Requests. Some examples include:
- Code Scanning in GitHub. We already do some of this, but currently we only scan for security-oriented code issues.
- Free & integrated into GitHub. Interface is a bit clunky at times though.
- Highly Configurable (e.g. see query types)
- Could configure this to also check PR code quality against coding best practices (currently we only scan for major bugs / security issues). See these settings
- SonarCloud.io - This is a hosted version of SonarQube.
- Free for open source projects. Integrates with GitHub & supports both Java and TypeScript. Can run on every new PR.
- Example projects: https://sonarcloud.io/explore/projects
- Test analysis run by Tim on DSpace backend/frontend: https://sonarcloud.io/organizations/tdonohue/projects (Keep in mind, there are definitely false positives listed here. These are just raw reports)
- Pros: Highly Configurable Used by other major OS projects like Apache. Good documentation/resources on how to fix any issues that are found. SonarQube is open source itself.
- DeepSource
- Free for open source projects. Integrates with GitHub & supports both Java and TypeScript. Can run on every new PR.
- Test analysis run by Tim on DSpace backend/frontend (Keep in mind, there are definitely false positives listed in both. These are just raw reports)
- Not as configurable, but able to turn off individual rules if they are too "noisy" or not useful.
- Pros: Some "autofix" options. Good documentation/resources on how to fix any issues that are found.
- Code Scanning in GitHub. We already do some of this, but currently we only scan for security-oriented code issues.
Resources for acknowledging code reviewers / testers
...
- All Contributors: https://github.com/all-contributors/all-contributors
- Great resource for acknowledging all types of contribution. However, it'd be nice if we could find a way to do this per release (i.e. in Release Notes) rather than just in general README.
- "Top Contributors" https://github.com/tdonohue/top-contributors
- Old (unmaintained) project from Tim Donohue to try to highlight/acknowledge top reviewers/code contributors per month using data from GitHub's API.
- Old demo at https://tdonohue.github.io/top-contributors/
- Maybe look at whether it's possible to adapt this to give similar stats per release?
- Gamification dashboard / leaderboard like this: https://github.com/PicnicSupermarket/pr-leaderboard
- Code is outdated (no updates in 4 years) but the concept is interesting
Overview
Content Tools