Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
faf476c
PM-5488: Hide challenges without open submissions
jmgasper Jul 30, 2026
527ba4d
Merge pull request #7243 from topcoder-platform/PM-5488-1
jmgasper Jul 30, 2026
8078f9f
PM-5644: Fix final score sorting
jmgasper Jul 30, 2026
27214b8
Merge pull request #7244 from topcoder-platform/PM-5644-1
jmgasper Jul 30, 2026
d9206b6
PM-5778: Show N/A for in-progress scores
jmgasper Jul 30, 2026
af69909
PM-5759: Fix pending submission malware status
jmgasper Jul 30, 2026
c2b745a
PM-5751: Preserve MM test progress metadata
jmgasper Jul 30, 2026
ebdf29a
Merge pull request #7245 from topcoder-platform/PM-5778
jmgasper Jul 31, 2026
6445ee6
Merge pull request #7246 from topcoder-platform/PM-5759
jmgasper Jul 31, 2026
972c90e
Merge pull request #7247 from topcoder-platform/PM-5751
jmgasper Jul 31, 2026
9469ea2
Harden the production container
jmgasper Jul 31, 2026
2f876d4
Eliminate smoke test dependency alerts
jmgasper Jul 31, 2026
040be4b
Remove tracked credential defaults
jmgasper Jul 31, 2026
c819b48
PM-5488: Keep active registered challenges in My Challenges
jmgasper Jul 31, 2026
977487d
fix(security): resolve vulnerability backlog
jmgasper Jul 31, 2026
8e2c3cb
ci: run tests on Node 24
jmgasper Jul 31, 2026
8d9fb2d
Merge pull request #7248 from topcoder-platform/PM-5488-2
jmgasper Jul 31, 2026
cb9b907
fix(security): clear final scan gates
jmgasper Jul 31, 2026
4dbd0a4
fix(ci): use the stable Trivy action default
jmgasper Jul 31, 2026
4a3819d
fix(security): modernize performance test tooling
jmgasper Jul 31, 2026
f729c68
Merge pull request #7249 from topcoder-platform/security_updates_2026
jmgasper Jul 31, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .babelrc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"presets": [
["topcoder-react-utils/config/babel/node-ssr", {
["./config/babel/node", {
"baseAssetsOutputPath": "/community-app-assets"
}]
]
Expand Down
17 changes: 8 additions & 9 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -111,11 +111,11 @@ jobs:
# Jest unit-tests).
test:
docker:
- image: circleci/node:10.24.1
- image: cimg/node:24.18.0@sha256:4a638ad75f8601fec1f193e71df584639e6accb1771cea23f3d9d3857bca480c
steps:
- checkout
- restore_cache:
key: test-node-modules-{{ checksum "package-lock.json" }}
key: test-node24-modules-{{ checksum "package-lock.json" }}
- run:
name: Config Git
command: git config --global url."https://git@".insteadOf git://
Expand All @@ -124,15 +124,14 @@ jobs:
command: npm ci
no_output_timeout: 20m
- save_cache:
key: test-node-modules-{{ checksum "package-lock.json" }}
key: test-node24-modules-{{ checksum "package-lock.json" }}
paths:
- node_modules
- run: npm test
- run: npm run lint && npm run jest:ci

Performance-Testing:
docker:
# specify the version you desire here
- image: circleci/openjdk:8-jdk
- image: cimg/openjdk:17.0.19@sha256:09490c4b3e6e85f8b382c7ce0ef70aa8e940ee3a3567a11d2aede0ed094dc525

# Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images
Expand All @@ -151,16 +150,16 @@ jobs:
# Download and cache dependencies
- restore_cache:
keys:
- v1-dependencies-{{ checksum "pom.xml" }}
- performance-jdk17-maven3-{{ checksum "pom.xml" }}
# fallback to using the latest cache if no exact match is found
- v1-dependencies-
- performance-jdk17-maven3-

- run: mvn dependency:go-offline

- save_cache:
paths:
- ~/.m2
key: v1-dependencies-{{ checksum "pom.xml" }}
key: performance-jdk17-maven3-{{ checksum "pom.xml" }}

- run: mvn verify

Expand Down
43 changes: 40 additions & 3 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,40 @@
__coverage__/
.git/
node_modules/
# Version-control and local editor state
.git
.github
.circleci
.idea
.vscode
*.swp
*.swo

# Local dependencies, generated output, and test artifacts
node_modules
automated-smoke-test
build
.build-info
target
coverage
__coverage__
.nyc_output
*.log
npm-debug.log*

# Local environment and deployment material must never enter the build context
.env
.env.*
!.env.example
*.key
*.pem
awsenvconf
buildvar_env
deployvar_env

# Files that are not needed to install, test, or build the application
docs
README.md
CHANGELOG.md
CONTRIBUTING.md
LICENSE
CODEOWNERS
pom.xml
*.patch
3 changes: 2 additions & 1 deletion .eslintignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
__coverage__
automated-smoke-test/temp
build
node_modules
node_modules
69 changes: 63 additions & 6 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -1,12 +1,69 @@
{
"extends": "./node_modules/topcoder-react-utils/config/eslint/default.json",
"extends": "airbnb",
"parser": "@babel/eslint-parser",
"parserOptions": {
"requireConfigFile": false,
"sourceType": "module",
"babelOptions": {
"babelrc": false,
"configFile": false,
"presets": ["@babel/preset-react"],
"plugins": [
"@babel/plugin-proposal-export-default-from",
"@babel/plugin-transform-class-properties"
]
}
},
"rules": {
"jsx-a11y/anchor-is-valid": false,
"arrow-parens": ["error", "as-needed", { "requireForBlockBody": true }],
"class-methods-use-this": "off",
"default-param-last": "off",
"function-call-argument-newline": "off",
"function-paren-newline": ["error", "consistent"],
"import/no-import-module-exports": "off",
"jsx-a11y/anchor-is-valid": "off",
"jsx-a11y/control-has-associated-label": "off",
"jsx-a11y/href-no-hash": "off",
"max-classes-per-file": "off",
"import/no-cycle": [2, { "maxDepth": 1 }],
"react/forbid-prop-types": false,
"react/no-unknown-property": ["error", { "ignore": ["styleName"] }]
"no-multiple-empty-lines": ["error", { "max": 2, "maxBOF": 2, "maxEOF": 0 }],
"no-promise-executor-return": "off",
"no-redeclare": ["error", { "builtinGlobals": false }],
"prefer-regex-literals": "off",
"react/forbid-prop-types": "off",
"react/function-component-definition": "off",
"react/jsx-curly-brace-presence": "off",
"react/jsx-curly-newline": "off",
"react/jsx-fragments": "off",
"react/jsx-no-useless-fragment": "off",
"react/jsx-one-expression-per-line": "off",
"react/jsx-props-no-spreading": "off",
"react/no-deprecated": "off",
"react/no-invalid-html-attribute": "off",
"react/no-unstable-nested-components": "off",
"react/no-unused-class-component-methods": "off",
"react/no-unknown-property": ["error", { "ignore": ["styleName"] }],
"react/sort-comp": "off"
},
"env": {
"browser": true
}
"browser": true,
"es6": true,
"node": true
},
"settings": {
"import/resolver": {
"node": {
"extensions": [".js", ".jsx"],
"moduleDirectory": ["node_modules", "src/shared", "src"]
}
}
},
"overrides": [
{
"files": ["config/**/*.js", "webpack.config.js"],
"rules": {
"import/no-extraneous-dependencies": ["error", { "devDependencies": true }]
}
}
]
}
6 changes: 5 additions & 1 deletion .github/workflows/commitlint.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
name: Commitlint
on: [pull_request]

permissions:
contents: read
pull-requests: read

jobs:
commit-lint:
runs-on: ubuntu-latest
Expand All @@ -12,4 +16,4 @@ jobs:
fetch-depth: 0
- uses: wagoid/commitlint-github-action@v1.4.0
with:
configFile: './.commitlintrc.yml'
configFile: './.commitlintrc.yml'
5 changes: 3 additions & 2 deletions .github/workflows/trivy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,9 @@ jobs:
ignore-unfixed: true
format: "sarif"
output: "trivy-results.sarif"
severity: "CRITICAL,HIGH,UNKNOWN"
scanners: vuln,secret,misconfig,license
severity: "CRITICAL,HIGH,MEDIUM,LOW,UNKNOWN"
limit-severities-for-sarif: true
scanners: vuln,secret,misconfig
github-pat: ${{ secrets.GITHUB_TOKEN }}

- name: Upload Trivy scan results to GitHub Security tab
Expand Down
2 changes: 2 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
legacy-peer-deps=true
strict-allow-scripts=true
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v10.24.1
v24.18.0
33 changes: 32 additions & 1 deletion .stylelintrc
Original file line number Diff line number Diff line change
@@ -1,11 +1,42 @@
{
"extends": "stylelint-config-standard",
"rules": {
"alpha-value-notation": null,
"annotation-no-unknown": null,
"at-rule-descriptor-value-no-unknown": null,
"at-rule-no-vendor-prefix": null,
"at-rule-no-unknown": [true, {
"ignoreAtRules": ["content", "extend", "for", "include", "mixin"]
}],
"color-function-alias-notation": null,
"color-function-notation": null,
"declaration-block-no-duplicate-properties": [true, {
"ignore": ["consecutive-duplicates-with-different-values"]
}],
"declaration-block-no-redundant-longhand-properties": null,
"declaration-property-value-keyword-no-deprecated": null,
"declaration-property-value-no-unknown": null,
"font-family-name-quotes": null,
"function-url-quotes": null,
"import-notation": null,
"keyframes-name-pattern": null,
"media-feature-range-notation": null,
"media-query-no-invalid": null,
"nesting-selector-no-missing-scoping-root": null,
"no-descending-specificity": null,
"no-invalid-position-at-import-rule": null,
"number-max-precision": null,
"property-no-deprecated": null,
"property-no-vendor-prefix": null,
"selector-attribute-quotes": null,
"selector-class-pattern": null,
"selector-no-vendor-prefix": null,
"selector-not-notation": null,
"selector-pseudo-class-no-unknown": [true, {
"ignorePseudoClasses": ["global"]
}]
}],
"shorthand-property-no-redundant-values": null,
"value-keyword-case": null,
"value-no-vendor-prefix": null
}
}
Loading
Loading