winreg: fix reged argument order causing core dump #57
Workflow file for this run
This file contains hidden or 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: CI | |
| on: | |
| push: | |
| branches: [master] | |
| pull_request: | |
| jobs: | |
| test: | |
| name: Test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version: '1.25.5' | |
| cache-dependency-path: go.sum | |
| - name: Run tests with coverage | |
| run: go test -coverprofile=coverage.out -covermode=atomic ./... | |
| - name: Generate coverage summary | |
| run: | | |
| { | |
| echo "## Test Coverage Report" | |
| echo "" | |
| } >> "$GITHUB_STEP_SUMMARY" | |
| # Get overall coverage | |
| COVERAGE=$(go tool cover -func=coverage.out | \ | |
| grep total | \ | |
| awk '{print $3}' \ | |
| ) | |
| { | |
| echo "**Overall Coverage:** $COVERAGE" | |
| echo "" | |
| echo "### Coverage by Package" | |
| echo "" | |
| echo "| Package | Coverage |" | |
| echo "|---------|----------|" | |
| go tool cover -func=coverage.out | \ | |
| grep -v "total:" | \ | |
| awk '{print "| " $1 " " $2 " | " $3 " |"}' | |
| } >> "$GITHUB_STEP_SUMMARY" | |
| - name: Upload coverage to artifacts | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: coverage-report | |
| path: coverage.out | |
| vet: | |
| name: Vet | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version: '1.25.5' | |
| cache-dependency-path: go.sum | |
| - name: Run go vet | |
| run: go vet ./... | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version: '1.25.5' | |
| cache-dependency-path: go.sum | |
| - name: Install golangci-lint | |
| uses: golangci/golangci-lint-action@v9 | |
| with: | |
| version: v2.7.2 | |
| - name: Run golangci-lint | |
| run: golangci-lint run ./... | |
| gomod: | |
| name: Go Mod Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version: '1.25.5' | |
| cache-dependency-path: go.sum | |
| - name: Run go mod tidy | |
| run: go mod tidy | |
| - name: Check for changes | |
| run: | | |
| git diff --exit-code go.mod go.sum || ( | |
| echo "go.mod or go.sum has uncommitted changes after 'go mod tidy'" | |
| exit 1 | |
| ) | |
| build: | |
| name: Build Binary | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Build binary target | |
| run: | | |
| docker buildx build . \ | |
| --target binary \ | |
| --output type=local,dest=build \ | |
| --cache-from type=gha \ | |
| --cache-to type=gha,mode=max | |
| passed: | |
| name: CI passed | |
| needs: [test, vet, lint, gomod, build] | |
| runs-on: ubuntu-latest | |
| if: always() | |
| steps: | |
| - name: Check all jobs succeeded | |
| run: | | |
| if [ "${{ needs.test.result }}" != "success" ] || \ | |
| [ "${{ needs.vet.result }}" != "success" ] || \ | |
| [ "${{ needs.lint.result }}" != "success" ] || \ | |
| [ "${{ needs.gomod.result }}" != "success" ] || \ | |
| [ "${{ needs.build.result }}" != "success" ]; then | |
| echo "❌ One or more CI jobs failed" | |
| exit 1 | |
| fi | |
| echo "✅ CI passed" |