Update the github action workflow to run the integration tests #907
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Windows Tests | |
on: [push, pull_request] | |
jobs: | |
setup_powershell: | |
strategy: | |
matrix: | |
go: ['1.22'] | |
platform: [windows-latest] | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- name: Run Windows Integration Tests | |
shell: powershell | |
run: | | |
# required for running Volume and Disk tests | |
Install-WindowsFeature -name Hyper-V-PowerShell | |
$PSVersionTable | |
# required for SMB test | |
# Get-PSRepository | |
# Set-PSRepository PSGallery -InstallationPolicy Trusted | |
Install-Module -Name SecMgmt -AllowClobber | |
$secured='random text'|ConvertTo-SecureString -AsPlainText -Force;$secured; | |
integration_tests: | |
strategy: | |
matrix: | |
go: ['1.22'] | |
platform: [windows-latest] | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- name: Install Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: ${{ matrix.go-version }} | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Build | |
shell: powershell | |
run: | | |
go build -v -a -o ./bin/csi-proxy.exe ./cmd/csi-proxy | |
go build -v -a -o ./bin/csi-proxy-api-gen.exe ./cmd/csi-proxy-api-gen | |
- name: Run Windows Integration Tests | |
shell: powershell | |
run: | | |
# required for running Volume and Disk tests | |
Install-WindowsFeature -name Hyper-V-PowerShell | |
# copy the binary from the user directory | |
New-Item -ItemType Directory -Path C:\etc\kubernetes\node\bin -Force | |
Copy-Item -Path .\bin\csi-proxy.exe -Destination "C:\etc\kubernetes\node\bin\csi-proxy.exe" | |
# restart the csiproxy service | |
$flags = "-v=5 -windows-service -log_file=C:\etc\kubernetes\logs\csi-proxy.log -logtostderr=false" | |
sc.exe create csiproxy start= "auto" binPath= "C:\etc\kubernetes\node\bin\csi-proxy.exe $flags" | |
sc.exe failure csiproxy reset= 0 actions= restart/10000 | |
sc.exe start csiproxy | |
Start-Sleep -Seconds 5; | |
Write-Output "Checking the status of csi-proxy" | |
sc.exe query csiproxy | |
[System.IO.Directory]::GetFiles("\\.\\pipe\\") | |
Write-Output "Get CSI Proxy logs" | |
Get-Content C:\etc\kubernetes\logs\csi-proxy.log -Tail 20 | |
$env:CSI_PROXY_GH_ACTIONS="TRUE" | |
go test -timeout 20m -v -race ./integrationtests/... -run "Smb" | |
unit_tests: | |
strategy: | |
matrix: | |
go: ['1.22'] | |
platform: [windows-latest] | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- name: Install Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: ${{ matrix.go }} | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Run Windows Unit Tests | |
run: | | |
make all | |
go test -v -race ./pkg/... | |
bump_version_test: | |
strategy: | |
matrix: | |
go: ['1.22'] | |
platform: [ubuntu-latest] | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- name: Install Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: ${{ matrix.go }} | |
- name: Install Tools | |
run: | | |
echo "${HOME}/.local/bin" >> $GITHUB_PATH | |
echo "/home/runner/work/csi-proxy/csi-proxy/go/bin" >> $GITHUB_PATH | |
PB_REL="https://github.com/protocolbuffers/protobuf/releases" | |
curl -LO $PB_REL/download/v3.15.8/protoc-3.15.8-linux-x86_64.zip | |
unzip protoc-3.15.8-linux-x86_64.zip -d $HOME/.local | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
path: go/src/github.com/kubernetes-csi/csi-proxy | |
- name: Run bump version script | |
env: | |
GOPATH: /home/runner/work/csi-proxy/csi-proxy/go | |
GOBIN: /home/runner/work/csi-proxy/csi-proxy/go/bin | |
run: | | |
go install github.com/golang/protobuf/protoc-gen-go@v1.5.3 | |
protoc --version | |
cd /home/runner/work/csi-proxy/csi-proxy/go/src/github.com/kubernetes-csi/csi-proxy | |
API_GROUP=filesystem OLD_API_VERSION=v1beta2 NEW_API_VERSION=v99 scripts/bump-version.sh |