|
@@ -0,0 +1,411 @@
|
|
|
|
+name: windows
|
|
|
|
+
|
|
|
|
+on:
|
|
|
|
+ workflow_dispatch:
|
|
|
|
+ push:
|
|
|
|
+ branches:
|
|
|
|
+ - 'master'
|
|
|
|
+ - '[0-9]+.[0-9]{2}'
|
|
|
|
+ tags:
|
|
|
|
+ - 'v*'
|
|
|
|
+ pull_request:
|
|
|
|
+
|
|
|
|
+env:
|
|
|
|
+ GO_VERSION: 1.18.2
|
|
|
|
+ WINDOWS_BASE_IMAGE: mcr.microsoft.com/windows/servercore
|
|
|
|
+ WINDOWS_BASE_TAG_2019: ltsc2019
|
|
|
|
+ WINDOWS_BASE_TAG_2022: ltsc2022
|
|
|
|
+ TEST_IMAGE_NAME: moby:test
|
|
|
|
+ TEST_CTN_NAME: moby
|
|
|
|
+ DOCKER_BUILDKIT: 0
|
|
|
|
+
|
|
|
|
+jobs:
|
|
|
|
+ build:
|
|
|
|
+ runs-on: ${{ matrix.os }}
|
|
|
|
+ strategy:
|
|
|
|
+ fail-fast: false
|
|
|
|
+ matrix:
|
|
|
|
+ os:
|
|
|
|
+ - windows-2019
|
|
|
|
+ - windows-2022
|
|
|
|
+ env:
|
|
|
|
+ GOPATH: ${{ github.workspace }}\go
|
|
|
|
+ GOBIN: ${{ github.workspace }}\go\bin
|
|
|
|
+ BIN_OUT: ${{ github.workspace }}\out
|
|
|
|
+ defaults:
|
|
|
|
+ run:
|
|
|
|
+ working-directory: ${{ env.GOPATH }}/src/github.com/docker/docker
|
|
|
|
+ steps:
|
|
|
|
+ -
|
|
|
|
+ name: Checkout
|
|
|
|
+ uses: actions/checkout@v3
|
|
|
|
+ with:
|
|
|
|
+ path: ${{ env.GOPATH }}/src/github.com/docker/docker
|
|
|
|
+ -
|
|
|
|
+ name: Env
|
|
|
|
+ run: |
|
|
|
|
+ Get-ChildItem Env: | Out-String
|
|
|
|
+ -
|
|
|
|
+ name: Init
|
|
|
|
+ run: |
|
|
|
|
+ New-Item -ItemType "directory" -Path "${{ github.workspace }}\go-build"
|
|
|
|
+ New-Item -ItemType "directory" -Path "${{ github.workspace }}\go\pkg\mod"
|
|
|
|
+ If ("${{ matrix.os }}" -eq "windows-2019") {
|
|
|
|
+ echo "WINDOWS_BASE_IMAGE_TAG=${{ env.WINDOWS_BASE_TAG_2019 }}" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append
|
|
|
|
+ } ElseIf ("${{ matrix.os }}" -eq "windows-2022") {
|
|
|
|
+ echo "WINDOWS_BASE_IMAGE_TAG=${{ env.WINDOWS_BASE_TAG_2022 }}" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append
|
|
|
|
+ }
|
|
|
|
+ -
|
|
|
|
+ name: Cache
|
|
|
|
+ uses: actions/cache@v3
|
|
|
|
+ with:
|
|
|
|
+ path: |
|
|
|
|
+ ~\AppData\Local\go-build
|
|
|
|
+ ~\go\pkg\mod
|
|
|
|
+ ${{ github.workspace }}\go-build
|
|
|
|
+ ${{ env.GOPATH }}\pkg\mod
|
|
|
|
+ key: ${{ matrix.os }}-${{ github.job }}-${{ hashFiles('**/vendor.sum') }}
|
|
|
|
+ restore-keys: |
|
|
|
|
+ ${{ matrix.os }}-${{ github.job }}-
|
|
|
|
+ -
|
|
|
|
+ name: Docker info
|
|
|
|
+ run: |
|
|
|
|
+ docker info
|
|
|
|
+ -
|
|
|
|
+ name: Build base image
|
|
|
|
+ run: |
|
|
|
|
+ docker pull ${{ env.WINDOWS_BASE_IMAGE }}:${{ env.WINDOWS_BASE_IMAGE_TAG }}
|
|
|
|
+ docker tag ${{ env.WINDOWS_BASE_IMAGE }}:${{ env.WINDOWS_BASE_IMAGE_TAG }} microsoft/windowsservercore
|
|
|
|
+ docker build --build-arg GO_VERSION -t ${{ env.TEST_IMAGE_NAME }} -f Dockerfile.windows .
|
|
|
|
+ -
|
|
|
|
+ name: Build binaries
|
|
|
|
+ run: |
|
|
|
|
+ & docker run --name ${{ env.TEST_CTN_NAME }} -e "DOCKER_GITCOMMIT=${{ github.sha }}" `
|
|
|
|
+ -v "${{ github.workspace }}\go-build:C:\Users\ContainerAdministrator\AppData\Local\go-build" `
|
|
|
|
+ -v "${{ github.workspace }}\go\pkg\mod:C:\gopath\pkg\mod" `
|
|
|
|
+ ${{ env.TEST_IMAGE_NAME }} hack\make.ps1 -Daemon -Client
|
|
|
|
+ -
|
|
|
|
+ name: Copy artifacts
|
|
|
|
+ run: |
|
|
|
|
+ New-Item -ItemType "directory" -Path "${{ env.BIN_OUT }}"
|
|
|
|
+ docker cp "${{ env.TEST_CTN_NAME }}`:c`:\gopath\src\github.com\docker\docker\bundles\docker.exe" ${{ env.BIN_OUT }}\
|
|
|
|
+ docker cp "${{ env.TEST_CTN_NAME }}`:c`:\gopath\src\github.com\docker\docker\bundles\dockerd.exe" ${{ env.BIN_OUT }}\
|
|
|
|
+ docker cp "${{ env.TEST_CTN_NAME }}`:c`:\gopath\bin\gotestsum.exe" ${{ env.BIN_OUT }}\
|
|
|
|
+ docker cp "${{ env.TEST_CTN_NAME }}`:c`:\containerd\bin\containerd.exe" ${{ env.BIN_OUT }}\
|
|
|
|
+ docker cp "${{ env.TEST_CTN_NAME }}`:c`:\containerd\bin\containerd-shim-runhcs-v1.exe" ${{ env.BIN_OUT }}\
|
|
|
|
+ -
|
|
|
|
+ name: Upload artifacts
|
|
|
|
+ uses: actions/upload-artifact@v3
|
|
|
|
+ with:
|
|
|
|
+ name: build-${{ matrix.os }}
|
|
|
|
+ path: ${{ env.BIN_OUT }}/*
|
|
|
|
+ if-no-files-found: error
|
|
|
|
+ retention-days: 2
|
|
|
|
+
|
|
|
|
+ unit-test:
|
|
|
|
+ runs-on: ${{ matrix.os }}
|
|
|
|
+ strategy:
|
|
|
|
+ fail-fast: false
|
|
|
|
+ matrix:
|
|
|
|
+ os:
|
|
|
|
+ - windows-2019
|
|
|
|
+ - windows-2022
|
|
|
|
+ env:
|
|
|
|
+ GOPATH: ${{ github.workspace }}\go
|
|
|
|
+ GOBIN: ${{ github.workspace }}\go\bin
|
|
|
|
+ defaults:
|
|
|
|
+ run:
|
|
|
|
+ working-directory: ${{ env.GOPATH }}/src/github.com/docker/docker
|
|
|
|
+ steps:
|
|
|
|
+ -
|
|
|
|
+ name: Checkout
|
|
|
|
+ uses: actions/checkout@v3
|
|
|
|
+ with:
|
|
|
|
+ path: ${{ env.GOPATH }}/src/github.com/docker/docker
|
|
|
|
+ -
|
|
|
|
+ name: Env
|
|
|
|
+ run: |
|
|
|
|
+ Get-ChildItem Env: | Out-String
|
|
|
|
+ -
|
|
|
|
+ name: Init
|
|
|
|
+ run: |
|
|
|
|
+ New-Item -ItemType "directory" -Path "${{ github.workspace }}\go-build"
|
|
|
|
+ New-Item -ItemType "directory" -Path "${{ github.workspace }}\go\pkg\mod"
|
|
|
|
+ New-Item -ItemType "directory" -Path "bundles"
|
|
|
|
+ If ("${{ matrix.os }}" -eq "windows-2019") {
|
|
|
|
+ echo "WINDOWS_BASE_IMAGE_TAG=${{ env.WINDOWS_BASE_TAG_2019 }}" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append
|
|
|
|
+ } ElseIf ("${{ matrix.os }}" -eq "windows-2022") {
|
|
|
|
+ echo "WINDOWS_BASE_IMAGE_TAG=${{ env.WINDOWS_BASE_TAG_2022 }}" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append
|
|
|
|
+ }
|
|
|
|
+ -
|
|
|
|
+ name: Cache
|
|
|
|
+ uses: actions/cache@v3
|
|
|
|
+ with:
|
|
|
|
+ path: |
|
|
|
|
+ ~\AppData\Local\go-build
|
|
|
|
+ ~\go\pkg\mod
|
|
|
|
+ ${{ github.workspace }}\go-build
|
|
|
|
+ ${{ env.GOPATH }}\pkg\mod
|
|
|
|
+ key: ${{ matrix.os }}-${{ github.job }}-${{ hashFiles('**/vendor.sum') }}
|
|
|
|
+ restore-keys: |
|
|
|
|
+ ${{ matrix.os }}-${{ github.job }}-
|
|
|
|
+ -
|
|
|
|
+ name: Docker info
|
|
|
|
+ run: |
|
|
|
|
+ docker info
|
|
|
|
+ -
|
|
|
|
+ name: Build base image
|
|
|
|
+ run: |
|
|
|
|
+ docker pull ${{ env.WINDOWS_BASE_IMAGE }}:${{ env.WINDOWS_BASE_IMAGE_TAG }}
|
|
|
|
+ docker tag ${{ env.WINDOWS_BASE_IMAGE }}:${{ env.WINDOWS_BASE_IMAGE_TAG }} microsoft/windowsservercore
|
|
|
|
+ docker build --build-arg GO_VERSION -t ${{ env.TEST_IMAGE_NAME }} -f Dockerfile.windows .
|
|
|
|
+ -
|
|
|
|
+ name: Test
|
|
|
|
+ run: |
|
|
|
|
+ & docker run --name ${{ env.TEST_CTN_NAME }} -e "DOCKER_GITCOMMIT=${{ github.sha }}" `
|
|
|
|
+ -v "${{ github.workspace }}\go-build:C:\Users\ContainerAdministrator\AppData\Local\go-build" `
|
|
|
|
+ -v "${{ github.workspace }}\go\pkg\mod:C:\gopath\pkg\mod" `
|
|
|
|
+ -v "${{ env.GOPATH }}\src\github.com\docker\docker\bundles:C:\gopath\src\github.com\docker\docker\bundles" `
|
|
|
|
+ ${{ env.TEST_IMAGE_NAME }} hack\make.ps1 -TestUnit
|
|
|
|
+ -
|
|
|
|
+ name: Send to Codecov
|
|
|
|
+ if: matrix.os == 'windows-2022'
|
|
|
|
+ uses: codecov/codecov-action@v3
|
|
|
|
+ with:
|
|
|
|
+ working-directory: ${{ env.GOPATH }}\src\github.com\docker\docker
|
|
|
|
+ directory: bundles
|
|
|
|
+ env_vars: RUNNER_OS
|
|
|
|
+ flags: unit
|
|
|
|
+ -
|
|
|
|
+ name: Upload reports
|
|
|
|
+ if: matrix.os == 'windows-2022'
|
|
|
|
+ uses: actions/upload-artifact@v3
|
|
|
|
+ with:
|
|
|
|
+ name: unit-reports
|
|
|
|
+ path: ${{ env.GOPATH }}\src\github.com\docker\docker\bundles\*
|
|
|
|
+
|
|
|
|
+ integration-test:
|
|
|
|
+ runs-on: ${{ matrix.os }}
|
|
|
|
+ needs:
|
|
|
|
+ - build
|
|
|
|
+ strategy:
|
|
|
|
+ fail-fast: false
|
|
|
|
+ matrix:
|
|
|
|
+ os:
|
|
|
|
+ - windows-2019
|
|
|
|
+ - windows-2022
|
|
|
|
+ runtime:
|
|
|
|
+ - builtin
|
|
|
|
+ - containerd
|
|
|
|
+ env:
|
|
|
|
+ GOPATH: ${{ github.workspace }}\go
|
|
|
|
+ GOBIN: ${{ github.workspace }}\go\bin
|
|
|
|
+ BIN_OUT: ${{ github.workspace }}\out
|
|
|
|
+ defaults:
|
|
|
|
+ run:
|
|
|
|
+ working-directory: ${{ env.GOPATH }}/src/github.com/docker/docker
|
|
|
|
+ steps:
|
|
|
|
+ -
|
|
|
|
+ name: Checkout
|
|
|
|
+ uses: actions/checkout@v3
|
|
|
|
+ with:
|
|
|
|
+ path: ${{ env.GOPATH }}/src/github.com/docker/docker
|
|
|
|
+ -
|
|
|
|
+ name: Env
|
|
|
|
+ run: |
|
|
|
|
+ Get-ChildItem Env: | Out-String
|
|
|
|
+ -
|
|
|
|
+ name: Download artifacts
|
|
|
|
+ uses: actions/download-artifact@v3
|
|
|
|
+ with:
|
|
|
|
+ name: build-${{ matrix.os }}
|
|
|
|
+ path: ${{ env.BIN_OUT }}
|
|
|
|
+ -
|
|
|
|
+ name: Init
|
|
|
|
+ run: |
|
|
|
|
+ If ("${{ matrix.os }}" -eq "windows-2019") {
|
|
|
|
+ echo "WINDOWS_BASE_IMAGE_TAG=${{ env.WINDOWS_BASE_TAG_2019 }}" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append
|
|
|
|
+ } ElseIf ("${{ matrix.os }}" -eq "windows-2022") {
|
|
|
|
+ echo "WINDOWS_BASE_IMAGE_TAG=${{ env.WINDOWS_BASE_TAG_2022 }}" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append
|
|
|
|
+ }
|
|
|
|
+ Write-Output "${{ env.BIN_OUT }}" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
|
|
|
|
+ -
|
|
|
|
+ # removes docker service that is currently installed on the runner. we
|
|
|
|
+ # could use Uninstall-Package but not yet available on Windows runners.
|
|
|
|
+ # more info: https://github.com/actions/virtual-environments/blob/d3a5bad25f3b4326c5666bab0011ac7f1beec95e/images/win/scripts/Installers/Install-Docker.ps1#L11
|
|
|
|
+ name: Removing current daemon
|
|
|
|
+ run: |
|
|
|
|
+ if (Get-Service docker -ErrorAction SilentlyContinue) {
|
|
|
|
+ $dockerVersion = (docker version -f "{{.Server.Version}}")
|
|
|
|
+ Write-Host "Current installed Docker version: $dockerVersion"
|
|
|
|
+ # remove service
|
|
|
|
+ Stop-Service -Force -Name docker
|
|
|
|
+ Remove-Service -Name docker
|
|
|
|
+ # removes event log entry. we could use "Remove-EventLog -LogName -Source docker"
|
|
|
|
+ # but this cmd is only available since windows-2022
|
|
|
|
+ $ErrorActionPreference = "SilentlyContinue"
|
|
|
|
+ & reg delete "HKLM\SYSTEM\CurrentControlSet\Services\EventLog\Application\docker" /f 2>&1 | Out-Null
|
|
|
|
+ $ErrorActionPreference = "Stop"
|
|
|
|
+ Write-Host "Service removed"
|
|
|
|
+ }
|
|
|
|
+ -
|
|
|
|
+ name: Starting containerd
|
|
|
|
+ if: matrix.runtime == 'containerd'
|
|
|
|
+ run: |
|
|
|
|
+ Write-Host "Generating config"
|
|
|
|
+ & "${{ env.BIN_OUT }}\containerd.exe" config default | Out-File "$env:TEMP\ctn.toml" -Encoding ascii
|
|
|
|
+ Write-Host "Creating service"
|
|
|
|
+ New-Item -ItemType Directory "$env:TEMP\ctn-root" -ErrorAction SilentlyContinue | Out-Null
|
|
|
|
+ New-Item -ItemType Directory "$env:TEMP\ctn-state" -ErrorAction SilentlyContinue | Out-Null
|
|
|
|
+ Start-Process -Wait "${{ env.BIN_OUT }}\containerd.exe" `
|
|
|
|
+ -ArgumentList "--log-level=debug", `
|
|
|
|
+ "--config=$env:TEMP\ctn.toml", `
|
|
|
|
+ "--address=\\.\pipe\containerd-containerd", `
|
|
|
|
+ "--root=$env:TEMP\ctn-root", `
|
|
|
|
+ "--state=$env:TEMP\ctn-state", `
|
|
|
|
+ "--log-file=$env:TEMP\ctn.log", `
|
|
|
|
+ "--register-service"
|
|
|
|
+ Write-Host "Starting service"
|
|
|
|
+ Start-Service -Name containerd
|
|
|
|
+ Start-Sleep -Seconds 5
|
|
|
|
+ Write-Host "Service started successfully!"
|
|
|
|
+ -
|
|
|
|
+ name: Starting test daemon
|
|
|
|
+ run: |
|
|
|
|
+ Write-Host "Creating service"
|
|
|
|
+ If ("${{ matrix.runtime }}" -eq "containerd") {
|
|
|
|
+ $runtimeArg="--containerd=\\.\pipe\containerd-containerd"
|
|
|
|
+ echo "DOCKER_WINDOWS_CONTAINERD_RUNTIME=1" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append
|
|
|
|
+ }
|
|
|
|
+ New-Item -ItemType Directory "$env:TEMP\moby-root" -ErrorAction SilentlyContinue | Out-Null
|
|
|
|
+ New-Item -ItemType Directory "$env:TEMP\moby-exec" -ErrorAction SilentlyContinue | Out-Null
|
|
|
|
+ Start-Process -Wait -NoNewWindow "${{ env.BIN_OUT }}\dockerd" `
|
|
|
|
+ -ArgumentList $runtimeArg, "--debug", `
|
|
|
|
+ "--host=npipe:////./pipe/docker_engine", `
|
|
|
|
+ "--data-root=$env:TEMP\moby-root", `
|
|
|
|
+ "--exec-root=$env:TEMP\moby-exec", `
|
|
|
|
+ "--pidfile=$env:TEMP\docker.pid", `
|
|
|
|
+ "--register-service"
|
|
|
|
+ Write-Host "Starting service"
|
|
|
|
+ Start-Service -Name docker
|
|
|
|
+ Write-Host "Service started successfully!"
|
|
|
|
+ -
|
|
|
|
+ name: Waiting for test daemon to start
|
|
|
|
+ run: |
|
|
|
|
+ $tries=20
|
|
|
|
+ Write-Host "Waiting for the test daemon to start..."
|
|
|
|
+ While ($true) {
|
|
|
|
+ $ErrorActionPreference = "SilentlyContinue"
|
|
|
|
+ & "${{ env.BIN_OUT }}\docker" version
|
|
|
|
+ $ErrorActionPreference = "Stop"
|
|
|
|
+ If ($LastExitCode -eq 0) {
|
|
|
|
+ break
|
|
|
|
+ }
|
|
|
|
+ $tries--
|
|
|
|
+ If ($tries -le 0) {
|
|
|
|
+ Throw "Failed to get a response from the daemon"
|
|
|
|
+ }
|
|
|
|
+ Write-Host -NoNewline "."
|
|
|
|
+ Start-Sleep -Seconds 1
|
|
|
|
+ }
|
|
|
|
+ Write-Host "Test daemon started and replied!"
|
|
|
|
+ env:
|
|
|
|
+ DOCKER_HOST: npipe:////./pipe/docker_engine
|
|
|
|
+ -
|
|
|
|
+ name: Docker info
|
|
|
|
+ run: |
|
|
|
|
+ & "${{ env.BIN_OUT }}\docker" info
|
|
|
|
+ env:
|
|
|
|
+ DOCKER_HOST: npipe:////./pipe/docker_engine
|
|
|
|
+ -
|
|
|
|
+ name: Building contrib/busybox
|
|
|
|
+ run: |
|
|
|
|
+ & "${{ env.BIN_OUT }}\docker" build -t busybox `
|
|
|
|
+ --build-arg WINDOWS_BASE_IMAGE `
|
|
|
|
+ --build-arg WINDOWS_BASE_IMAGE_TAG `
|
|
|
|
+ .\contrib\busybox\
|
|
|
|
+ env:
|
|
|
|
+ DOCKER_HOST: npipe:////./pipe/docker_engine
|
|
|
|
+ -
|
|
|
|
+ name: List images
|
|
|
|
+ run: |
|
|
|
|
+ & "${{ env.BIN_OUT }}\docker" images
|
|
|
|
+ env:
|
|
|
|
+ DOCKER_HOST: npipe:////./pipe/docker_engine
|
|
|
|
+ -
|
|
|
|
+ name: Set up Go
|
|
|
|
+ uses: actions/setup-go@v3
|
|
|
|
+ with:
|
|
|
|
+ go-version: ${{ env.GO_VERSION }}
|
|
|
|
+ -
|
|
|
|
+ name: Test API
|
|
|
|
+ run: |
|
|
|
|
+ .\hack\make.ps1 -TestIntegration
|
|
|
|
+ env:
|
|
|
|
+ DOCKER_HOST: npipe:////./pipe/docker_engine
|
|
|
|
+ GO111MODULE: "off"
|
|
|
|
+ TEST_CLIENT_BINARY: ${{ env.BIN_OUT }}\docker
|
|
|
|
+ -
|
|
|
|
+ name: Test CLI
|
|
|
|
+ run: |
|
|
|
|
+ & gotestsum --format=standard-verbose --packages="./integration-cli/..." -- `
|
|
|
|
+ "-coverprofile" "./bundles/coverage-report-int-cli-tests.txt" `
|
|
|
|
+ "-covermode" "atomic" `
|
|
|
|
+ "-tags" "autogen" `
|
|
|
|
+ "-test.timeout" "200m"
|
|
|
|
+ env:
|
|
|
|
+ DOCKER_HOST: npipe:////./pipe/docker_engine
|
|
|
|
+ GO111MODULE: "off"
|
|
|
|
+ TEST_CLIENT_BINARY: ${{ env.BIN_OUT }}\docker
|
|
|
|
+ -
|
|
|
|
+ name: Send to Codecov
|
|
|
|
+ if: matrix.os == 'windows-2022'
|
|
|
|
+ uses: codecov/codecov-action@v3
|
|
|
|
+ with:
|
|
|
|
+ working-directory: ${{ env.GOPATH }}\src\github.com\docker\docker
|
|
|
|
+ directory: bundles
|
|
|
|
+ env_vars: RUNNER_OS
|
|
|
|
+ flags: integration,${{ matrix.runtime }}
|
|
|
|
+ -
|
|
|
|
+ name: Upload reports
|
|
|
|
+ if: matrix.os == 'windows-2022'
|
|
|
|
+ uses: actions/upload-artifact@v3
|
|
|
|
+ with:
|
|
|
|
+ name: integration-reports-${{ matrix.runtime }}
|
|
|
|
+ path: ${{ env.GOPATH }}\src\github.com\docker\docker\bundles\*
|
|
|
|
+ -
|
|
|
|
+ name: Docker info
|
|
|
|
+ run: |
|
|
|
|
+ & "${{ env.BIN_OUT }}\docker" info
|
|
|
|
+ env:
|
|
|
|
+ DOCKER_HOST: npipe:////./pipe/docker_engine
|
|
|
|
+ -
|
|
|
|
+ name: Stop containerd
|
|
|
|
+ if: always() && matrix.runtime == 'containerd'
|
|
|
|
+ run: |
|
|
|
|
+ $ErrorActionPreference = "SilentlyContinue"
|
|
|
|
+ Stop-Service -Force -Name containerd
|
|
|
|
+ $ErrorActionPreference = "Stop"
|
|
|
|
+ -
|
|
|
|
+ name: Containerd logs
|
|
|
|
+ if: always() && matrix.runtime == 'containerd'
|
|
|
|
+ run: |
|
|
|
|
+ Get-Content "$env:TEMP\ctn.log" | Out-Host
|
|
|
|
+ -
|
|
|
|
+ name: Stop daemon
|
|
|
|
+ if: always()
|
|
|
|
+ run: |
|
|
|
|
+ $ErrorActionPreference = "SilentlyContinue"
|
|
|
|
+ Stop-Service -Force -Name docker
|
|
|
|
+ $ErrorActionPreference = "Stop"
|
|
|
|
+ -
|
|
|
|
+ # as the daemon is registered as a service we have to check the event
|
|
|
|
+ # logs against the docker provider.
|
|
|
|
+ name: Daemon event logs
|
|
|
|
+ if: always()
|
|
|
|
+ run: |
|
|
|
|
+ Get-WinEvent -ea SilentlyContinue `
|
|
|
|
+ -FilterHashtable @{ProviderName= "docker"; LogName = "application"} |
|
|
|
|
+ Select-Object -Property TimeCreated, @{N='Detailed Message'; E={$_.Message}} |
|
|
|
|
+ Sort-Object @{Expression="TimeCreated";Descending=$false} |
|
|
|
|
+ Select-Object -ExpandProperty 'Detailed Message'
|