Publish Claude Code Binaries / Stage and publish binaries (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-arm64 (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build linux-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build windows-amd64 (push) Canceled after 0s
Sync Tutti Agent Skills / sync (push) Canceled after 0s
Windows Agent Adapters / Test Windows agent adapters (push) Canceled after 0s
Windows Daemon Adapters / Test Windows daemon adapters (push) Canceled after 0s
Publish Tutti App Runtime / Publish runtime catalog (push) Canceled after 0s
26 lines
605 B
Go
26 lines
605 B
Go
package artifact
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
)
|
|
|
|
// Windows does not expose a portable directory fsync operation. Opening and
|
|
// validating the directory preserves error reporting without calling
|
|
// os.File.Sync, which returns ERROR_ACCESS_DENIED for directory handles.
|
|
func syncDirectory(path string) error {
|
|
directory, err := os.Open(path)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
info, statErr := directory.Stat()
|
|
closeErr := directory.Close()
|
|
if statErr != nil {
|
|
return statErr
|
|
}
|
|
if !info.IsDir() {
|
|
return fmt.Errorf("sync connector artifact directory: %s is not a directory", path)
|
|
}
|
|
return closeErr
|
|
}
|