You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+53-5Lines changed: 53 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -60,23 +60,71 @@ system.
60
60
61
61
#### macOS Specific Issues
62
62
63
-
On macOS, the default `make` utility might be outdated, leading to issues with some `Makefile` targets. To resolve this, it's recommended to install a newer version of `make` using Homebrew and ensure it's prioritized in your system's `$PATH`.
63
+
On macOS, the default `make` utility might be outdated, leading to issues with some `Makefile` targets. To resolve this, it's recommended to install a newer version of `make` using Homebrew and ensure it's prioritized in your system's `$PATH`. Some scripts also require GNU `coreutils`.
64
64
65
65
> Note: `make` version `4.4.1` has been tested and confirmed to resolve these issues.
66
66
67
-
1. Install Homebrew `make`:
67
+
1. Install Homebrew `make` and `coreutils`:
68
68
69
69
```bash
70
-
brew install make
70
+
brew install coreutils make
71
71
```
72
72
73
-
2. Add the Homebrew `make` executable to your `$PATH` by adding the following line to your shell configuration file (e.g., `~/.zshrc`, `~/.bash_profile`):
73
+
2. Add the Homebrew `make` and `coreutils` executables to your `$PATH`. Open a new terminal session and check if they are in your path:
74
+
75
+
```bash
76
+
which make split
77
+
```
78
+
79
+
If the output shows paths inside `/opt/homebrew/`, you are all set. Otherwise, add the following lines to your shell configuration file (e.g., `~/.zshrc`, `~/.bash_profile`):
After adding, reload your shell configuration (e.g., `source ~/.zshrc` or `source ~/.bash_profile`) or open a new terminal session.
86
+
After adding, reload your shell configuration (e.g., `source ~/.zshrc` or `source ~/.bash_profile`) or open a new terminal session.
87
+
88
+
#### Multi-Architecture Builds
89
+
90
+
The DevWorkspace Operator supports building images for both amd64 and arm64 architectures. The build system automatically creates multi-architecture manifest lists that work on both platform types.
91
+
92
+
**Standard multi-arch workflow:**
93
+
94
+
```bash
95
+
make docker-build # Builds both amd64 and arm64 images and creates a manifest list
96
+
make docker-push # Pushes both images and the manifest list to the registry
The build system automatically detects and uses either Docker or Podman, whichever is available. You can also explicitly choose the container tool:
112
+
113
+
**Using Docker:**
114
+
115
+
```bash
116
+
export DOCKER=docker
117
+
make docker-build
118
+
```
119
+
120
+
**Using Podman:**
121
+
122
+
```bash
123
+
export DOCKER=podman
124
+
make docker-build
125
+
```
126
+
127
+
**Note**: Docker with buildx extension provides the fastest multi-arch builds, while Podman builds architectures sequentially and combines them into manifest lists.
0 commit comments