diff --git a/.github/workflows/ci-run-test.yml b/.github/workflows/ci-run-test.yml index f882ef78d56c..05ca346097df 100644 --- a/.github/workflows/ci-run-test.yml +++ b/.github/workflows/ci-run-test.yml @@ -50,6 +50,11 @@ on: "nodejs": "14.x", "python": "3.9.x" } + continue-on-error: + description: "Whether to continue running the job if the step fails" + required: false + default: false + type: boolean defaults: @@ -83,6 +88,8 @@ jobs: runs-on: ${{ inputs.platform }} + timeout-minutes: 60 + continue-on-error: ${{ inputs.continue-on-error }} steps: - name: "Windows cache workaround" # https://github.com/actions/cache/issues/752#issuecomment-1222415717 @@ -125,14 +132,6 @@ jobs: if: ${{ inputs.enable-coverage && runner.os != 'Windows' }} run: | echo "PULUMI_TEST_COVERAGE_PATH=$(pwd)/coverage" >> "$GITHUB_ENV" - # See: https://github.com/actions/virtual-environments/issues/2642#issuecomment-774988591 - - name: Configure Windows pagefile - uses: aaronfriel/action-configure-pagefile@v2.0-beta.1 - if: ${{ runner.os == 'Windows' }} - with: - minimum-size: 4GB - maximum-size: 4GB - disk-root: "D:" - name: Configure Go Cache Key env: CACHE_KEY: "${{ fromJson(inputs.version-set).go }}-${{ runner.os }}-${{ runner.arch }}" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4914670397b7..68530abe8e14 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -293,6 +293,7 @@ jobs: name: Smoke Test${{ matrix.platform && '' }} needs: [matrix, build-binaries, build-sdks] if: ${{ needs.matrix.outputs.smoke-test-matrix != '{}' }} + # alow jobs to fail if the platform contains windows strategy: fail-fast: ${{ contains(needs.matrix.outputs.smoke-test-matrix, 'macos') }} matrix: ${{ fromJson(needs.matrix.outputs.smoke-test-matrix) }} @@ -309,6 +310,7 @@ jobs: # require-build: false # TODO, remove ${{ matrix.require-build || false }} version-set: ${{ toJson(matrix.version-set) }} + continue-on-error: ${{ contains(matrix.platform, 'windows') }} secrets: inherit test-collect-reports: diff --git a/scripts/get-job-matrix.py b/scripts/get-job-matrix.py index b955505ee8c6..c56411c2beec 100755 --- a/scripts/get-job-matrix.py +++ b/scripts/get-job-matrix.py @@ -391,6 +391,9 @@ def get_matrix( test_suites += run_gotestsum_ci_matrix_single_package(item, pkg_tests, tags) + if kind == JobKind.SMOKE_TEST: + platforms = list(map(lambda p: "windows-8core-2022" if p == "windows-latest" else p, platforms)) + return { "test-suite": test_suites, "platform": platforms,