name: test-windows on: pull_request: branches: - main - release/** paths-ignore: - 'README.md' - 'CHANGELOG.md' - '.changelog/**' - '.tours/**' - 'contributing/**' - 'demo/**' - 'dev/**' - 'e2e/**' - 'integrations/**' - 'pkg/**' - 'scripts/**' - 'terraform/**' - 'ui/**' - 'website/**' push: branches: - main - release/** paths-ignore: - 'README.md' - 'CHANGELOG.md' - '.changelog/**' - '.tours/**' - 'contributing/**' - 'demo/**' - 'dev/**' - 'e2e/**' - 'integrations/**' - 'pkg/**' - 'scripts/**' - 'terraform/**' - 'ui/**' - 'website/**' env: VAULT_VERSION: 1.4.1 jobs: test-windows: runs-on: 'windows-2022-16core' env: GOTESTSUM_PATH: c:\tmp\test-reports steps: - name: Docker Info run: docker version - run: git config --global core.autocrlf false - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Setup go uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0 with: go-version-file: ".go-version" - name: Show installed Go version shell: bash run: |- export PATH=/c/go/bin:/c/gopath/bin:$PATH go version - uses: "./.github/actions/install-vault" with: version: "$VAULT_VERSION" - run: vault version - run: choco install make - name: Install golang dependencies shell: bash run: |- make deps - name: Pre-download docker test image shell: bash run: |- docker pull docker.mirror.hashicorp.services/hashicorpdev/busybox-windows:ltsc2022 - name: Build nomad shell: bash run: |- go install . - name: Run tests with gotestsum shell: bash env: BUSYBOX_IMAGE: docker.mirror.hashicorp.services/hashicorpdev/busybox-windows:ltsc2022 run: |- # Only test docker driver tests for now export PATH=/c/go/bin:/c/gopath/bin:$PATH gotestsum --format=short-verbose \ --junitfile results.xml \ github.com/hashicorp/nomad/drivers/docker \ github.com/hashicorp/nomad/drivers/rawexec \ github.com/hashicorp/nomad/drivers/shared/executor \ github.com/hashicorp/nomad/client/lib/fifo \ github.com/hashicorp/nomad/client/logmon \ github.com/hashicorp/nomad/client/allocrunner/taskrunner/template \ github.com/hashicorp/nomad/client/allocdir \ github.com/hashicorp/nomad/plugins/base - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1 with: name: results.xml path: results.xml handle-failure: permissions: contents: read id-token: write needs: - test-windows if: always() && github.event_name == 'push' && contains(needs.*.result, 'failure') uses: ./.github/workflows/test-failure-notification.yml secrets: inherit with: actor: ${{ github.triggering_actor }} git-branch: ${{ github.ref_name }} workflow-run-id: ${{ github.run_id }} workflow-name: ${{ github.workflow }} permissions: contents: read