diff --git a/.circleci/config.yml b/.circleci/config.yml index 29f048d..6be443e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,19 +1,15 @@ version: 2 defaults: &defaults - docker: - - image: cimg/python:3.11.0-browsers + docker: + - image: cimg/python:3.12.1-browsers install_dependency: &install_dependency name: Installation of build and deployment dependencies. command: | - sudo apt update - sudo apt install jq - sudo apt install python3-pip - sudo pip3 install awscli --upgrade - sudo pip3 install docker-compose + pip3 install awscli --upgrade install_deploysuite: &install_deploysuite name: Installation of install_deploysuite. command: | - git clone --branch v1.4.15 https://github.com/topcoder-platform/tc-deploy-scripts ../buildscript + git clone --branch v1.4.17 https://github.com/topcoder-platform/tc-deploy-scripts ../buildscript cp ./../buildscript/master_deploy.sh . cp ./../buildscript/buildenv.sh . cp ./../buildscript/awsconfiguration.sh . @@ -23,60 +19,61 @@ restore_cache_settings_for_build: &restore_cache_settings_for_build save_cache_settings: &save_cache_settings key: docker-node-modules-{{ checksum "yarn.lock" }} paths: - - node_modules + - node_modules builddeploy_steps: &builddeploy_steps - - checkout - - setup_remote_docker - - run: *install_dependency - - run: *install_deploysuite - - restore_cache: *restore_cache_settings_for_build - - run: ./build.sh ${APPNAME} - - save_cache: *save_cache_settings - - deploy: - name: Running MasterScript. - command: | - ./awsconfiguration.sh $DEPLOY_ENV - source awsenvconf - ./buildenv.sh -e $DEPLOY_ENV -b ${LOGICAL_ENV}-${APPNAME}-deployvar - source buildenvvar - ./master_deploy.sh -d ECS -e $DEPLOY_ENV -t latest -s ${LOGICAL_ENV}-global-appvar,${LOGICAL_ENV}-${APPNAME}-appvar -i ${APPNAME} +- checkout +- setup_remote_docker +- run: *install_dependency +- run: *install_deploysuite +- restore_cache: *restore_cache_settings_for_build +- run: ./build.sh ${APPNAME} +- save_cache: *save_cache_settings +- deploy: + name: Running MasterScript. + command: | + ./awsconfiguration.sh $DEPLOY_ENV + source awsenvconf + ./buildenv.sh -e $DEPLOY_ENV -b ${LOGICAL_ENV}-${APPNAME}-deployvar + source buildenvvar + ./master_deploy.sh -d ECS -e $DEPLOY_ENV -t latest -s ${LOGICAL_ENV}-global-appvar,${LOGICAL_ENV}-${APPNAME}-appvar -i ${APPNAME} jobs: # Build & Deploy against development backend "build-dev": - <<: *defaults + !!merge <<: *defaults environment: DEPLOY_ENV: "DEV" LOGICAL_ENV: "dev" - APPNAME: "challenge-processor-es" + APPNAME: "challenge-processor-es" steps: *builddeploy_steps "build-prod": - <<: *defaults + !!merge <<: *defaults environment: DEPLOY_ENV: "PROD" - LOGICAL_ENV: "prod" - APPNAME: "challenge-processor-es" + LOGICAL_ENV: "prod" + APPNAME: "challenge-processor-es" steps: *builddeploy_steps workflows: version: 2 build: jobs: - # Development builds are executed on "develop" branch only. - - "build-dev": - context : org-global - filters: - branches: - only: - - develop + # Development builds are executed on "develop" branch only. + - "build-dev": + context: org-global + filters: + branches: + only: + - develop + - TI-94 - # Production builds are exectuted only on tagged commits to the - # master branch. - - "build-prod": - context : org-global - filters: - branches: - only: master + # Production builds are exectuted only on tagged commits to the + # master branch. + - "build-prod": + context: org-global + filters: + branches: + only: master diff --git a/config/default.js b/config/default.js index 7826660..985f07a 100755 --- a/config/default.js +++ b/config/default.js @@ -35,6 +35,7 @@ module.exports = { RESOURCES_API_URL: process.env.RESOURCES_API_URL || 'http://localhost:4000/v5/resources', CHALLENGE_API_URL: process.env.CHALLENGE_API_URL || 'http://localhost:4000/v5/challenges', CONTEST_SUBMISSION_TYPE: process.env.CONTEST_SUBMISSION_TYPE || 'Contest Submission', + CHALLENGE_SUBMISSION_TYPE: process.env.CHALLENGE_SUBMISSION_TYPE || 'challengesubmission', CHECKPOINT_SUBMISSION_TYPE: process.env.CHECKPOINT_SUBMISSION_TYPE || 'Checkpoint Submission', // superagent request timeout in milliseconds diff --git a/src/services/ProcessorService.js b/src/services/ProcessorService.js index 97c0304..2317309 100755 --- a/src/services/ProcessorService.js +++ b/src/services/ProcessorService.js @@ -247,16 +247,21 @@ removeResource.schema = createResource.schema * @param {String} challengeId the challenge id */ async function updateSubmissionsData (challengeId, type) { + logger.debug(`Update Submissions Data Challenge ID ${challengeId} and Submission Type ${type}`); + await new Promise(resolve => setTimeout(resolve, 2000)) + const v5challengeId = await helper.getV5ChallengeId(challengeId) logger.debug(`Update Submissions Data Challenge UUID ${v5challengeId}`) const submissionCount = await helper.getData(`${config.SUBMISSIONS_API_URL}/${v5challengeId}/count`) + logger.debug(`Update Submissions Data Submission Count ${JSON.stringify(submissionCount)}`) - let numOfSubmissions = _.get(submissionCount, config.CONTEST_SUBMISSION_TYPE, 0) - + let numOfSubmissions = submissionCount[type] || 0 let numOfCheckpointSubmissions = _.get(submissionCount, config.CHECKPOINT_SUBMISSION_TYPE, 0) - if (type && _.get(submissionCount, type, 0) === 0) { - if (type === config.CONTEST_SUBMISSION_TYPE) { + logger.debug(`Update Submissions Data Submission Count ${numOfSubmissions} and Checkpoint Submission Count ${numOfCheckpointSubmissions}`) + + if (type && numOfSubmissions === 0 && numOfCheckpointSubmissions === 0) { + if (type === config.CONTEST_SUBMISSION_TYPE || type === config.CHALLENGE_SUBMISSION_TYPE) { numOfSubmissions = 1 } else if (type === config.CHECKPOINT_SUBMISSION_TYPE) { numOfCheckpointSubmissions = 1