version: 0.2 env: variables: AWS_TOOLKIT_TEST_NO_COLOR: '1' phases: install: runtime-versions: nodejs: 16 commands: - | if(-Not($Env:CODE_COV_TOKEN -eq $null)) { choco install -y --no-progress codecov } pre_build: commands: # If present, log into CodeArtifact. Provides a nice safety net in case NPM is down. # Should only affect tests run through IDEs team-hosted CodeBuild. # UNCOMMENT THE FOLLOWING WHEN VS CODE CAN BUILD IN WIN_SERVER_CORE_2019_BASE: https://github.com/microsoft/vscode/issues/77499 # - | # if ($Env:TOOLKITS_CODEARTIFACT_DOMAIN -and $Env:TOOLKITS_CODEARTIFACT_REPO -and $Env:TOOLKITS_ACCOUNT_ID) { # aws codeartifact login --tool npm --domain "$TOOLKITS_CODEARTIFACT_DOMAIN" --domain-owner "$TOOLKITS_ACCOUNT_ID" --repository "$TOOLKITS_CODEARTIFACT_REPO" # if ($?) { # echo "Connected to CodeArtifact" # } else { # echo "CodeArtifact connection failed. Falling back to npm" # } # } - npm ci build: commands: - npm run testCompile - npm run lint - $env:TEST_REPORT_DIR="$env:CODEBUILD_SRC_DIR/.test_reports"; npm run test - | if(-Not($Env:CODEBUILD_BUILD_SUCCEEDING -eq "0" -Or $Env:CODE_COV_TOKEN -eq $null)) { $env:VCS_COMMIT_ID=$Env:CODEBUILD_RESOLVED_SOURCE_VERSION; $env:CI_BUILD_URL=[uri]::EscapeUriString($Env:CODEBUILD_BUILD_URL); $env:CI_BUILD_ID=$Env:CODEBUILD_BUILD_ID; codecov -t $Env:CODE_COV_TOKEN ` --flag unittest ` -f "build/reports/jacoco/coverageReport/coverageReport.xml" ` -c $Env:CODEBUILD_RESOLVED_SOURCE_VERSION } reports: unit-test: files: - '**/*' base-directory: '$env:CODEBUILD_SRC_DIR/.test_reports'