Skip to content

Run tests on all platforms#134

Draft
peterjan wants to merge 7 commits intomasterfrom
pj/test-platforms
Draft

Run tests on all platforms#134
peterjan wants to merge 7 commits intomasterfrom
pj/test-platforms

Conversation

@peterjan
Copy link
Copy Markdown
Member

Closes #130

@peterjan peterjan self-assigned this Apr 21, 2026
@github-project-automation github-project-automation Bot moved this to In Progress in Sia Apr 21, 2026
Comment thread sia/upload_test.go Outdated
@peterjan peterjan force-pushed the pj/test-platforms branch from 6b60ed9 to 39502e1 Compare April 21, 2026 13:34
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates CI and some filesystem handling to enable running the Go test suite across platforms (Windows/macOS/Linux), addressing platform-specific file deletion semantics and test resource cleanup.

Changes:

  • Switch CI to a shared reusable Go test workflow (intended to run on multiple OSes) and enable CGO for sqlite.
  • Add OS-specific openFileAllowDelete to allow reading files while they may be deleted on Windows; update upload reads to use it.
  • Improve sqlite test/benchmark cleanup by closing the database store; remove multipart parent-directory sync calls.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
sia/persist/sqlite/objects_test.go Adds Cleanup hooks to close sqlite store after tests/benchmarks.
sia/open_file_windows.go Windows-specific file open allowing delete sharing via CreateFile.
sia/open_file_nonwindows.go Non-Windows implementation using os.Open.
sia/objects.go Uses openFileAllowDelete when reading an upload file.
sia/multipart.go Removes parent-directory sync step after writing multipart parts.
.github/workflows/go-test.yml Replaces in-repo steps with a reusable workflow call; adds push trigger and sets CGO_ENABLED.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread sia/multipart.go
Comment thread sia/multipart.go
Comment thread .github/workflows/go-test.yml
Comment thread sia/persist/sqlite/objects_test.go
Comment thread sia/persist/sqlite/objects_test.go
Comment thread sia/persist/sqlite/objects_test.go
Comment thread sia/persist/sqlite/objects_test.go
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

Run tests for windows and Mac OS as well

3 participants