Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ONPREM-1829] [HACKWEEK] Add initial support for Windows containers #96

Open
wants to merge 11 commits into
base: main
Choose a base branch
from
Prev Previous commit
Next Next commit
Add comments
  • Loading branch information
christian-stephen committed Feb 21, 2025
commit d0c2ffc8c4edde98ecd8888d4ed55802e391b221
2 changes: 1 addition & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -129,7 +129,7 @@ jobs:
equal: [ << parameters.os >>, "windows" ]
steps:
- run:
name: "Install GCC"
name: "Install GCC, since we need cgo for the race detector"
command: |
choco install mingw -y
echo 'export PATH="$PATH:/c/ProgramData/mingw64/mingw64/bin"' >> ~/.bash_profile
2 changes: 1 addition & 1 deletion cmd/orchestrator/help_test.go
Original file line number Diff line number Diff line change
@@ -13,7 +13,7 @@ import (

func TestHelp(t *testing.T) {
if runtime.GOOS == "windows" {
t.Skip()
t.Skip("Can't be bothered to add golden files for Windows")
}

cli := &cli{}
6 changes: 4 additions & 2 deletions init/init_windows.go
Original file line number Diff line number Diff line change
@@ -13,7 +13,7 @@ const (
binCircleci = "circleci.exe"
)

// Run function performs the copying of specific files and symlink creation
// Run function performs the copying of the orchestrator and task-agent binaries
func Run(srcDir, destDir string) error {
// Copy the orchestrator binary
orchestratorSrc := filepath.Join(srcDir, binOrchestrator)
@@ -22,7 +22,9 @@ func Run(srcDir, destDir string) error {
return err
}

// Copy the task agent binaries
// Copy the task agent binaries. We copy the binaries instead of creating a symlink
// to `circleci` as we do on Linux, since we do not have the necessary privileges
// to create symlinks to the shared volume on Windows.
agentSrc := filepath.Join(srcDir, binCircleciAgent)
agentDests := []string{filepath.Join(destDir, binCircleciAgent), filepath.Join(destDir, binCircleci)}
for _, dest := range agentDests {