👨💻 Coding Challenges
- Added cheat detection for coding challenges (based on solving speed in relation to code snippet length and selectable fix options)
- Added accuracy calculation for coding challenges (based on number of failed solving attempts)
- Added Prometheus metrics
juiceshop_coding_challenges_progress
andjuiceshop_coding_challenges_accuracy
- Added panels for new coding challenge metrics to Grafana dashboard template
⚙️ DevOps Automation
- #1685: Refactored CI/CD to work on repository forks without guaranteed failures or unnecessary credit consumption
- Turned off GitHub action steps that would fail on forks such as Docker, CodeClimate, Heroku and Slack (kudos to @commjoen)
- Limit matrix build
test
stage to only Node 14.x on Ubuntu for forks
- #1687: Pin GitHub action plugins to current commit hash to reduce risk for supply chain attacks (kudos to @commjoen)
🛍️ Product Inventory
- The product 20th Anniversary Celebration Ticket is no longer available
🐛 Bugfixes
- #1691: Improved fix options for "NoSQL Manipulation" coding challenge (kudos to @denkerszaf)