Update the github action workflow to run the integration tests #903
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 | |
# start the CSI Proxy before running tests on windows | |
$flags = "-windows-service -log_file=.\csi-proxy.log -logtostderr=false" | |
& sc.exe create csiproxy binPath= ".\bin\csi-proxy.exe $flags" | |
& sc.exe failure csiproxy reset= 0 actions= restart/10000 | |
& sc.exe start csiproxy | |
Write-VerboseServiceInfoToConsole -Service 'csiproxy' -Delay 1 | |
Start-Sleep -Seconds 10; | |
Write-Output "getting named pipes" | |
[System.IO.Directory]::GetFiles("\\.\\pipe\\") | |
cat .\csi-proxy.log | |
$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/[email protected] | |
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 |