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
+31-4
Original file line number
Diff line number
Diff line change
@@ -150,6 +150,27 @@ wsl --update
150
150
wsl --install Ubuntu
151
151
```
152
152
153
+
#### Linux
154
+
155
+
Please note that this section does not have exhaustive instructions for every single Linux distribution and package manager, but it does have a "generic" installation method. More distribution specific contributions are welcome.
1. Install go [following instructions here](https://go.dev/doc/install)
170
+
1. Install the latest [nerdctl-full bundle from GitHub](https://github.com/containerd/nerdctl/releases)
171
+
1. If building SOCI, [follow the instructions here](https://github.com/awslabs/soci-snapshotter/blob/main/docs/build.md) to setup the dependencies
172
+
1. Create the expected directory structure by inspecting the [finch.spec file](./contrib/packaging/rpm/finch.spec)
173
+
153
174
### Build
154
175
155
176
Clone the repo and make sure to include the submodules by adding `--recurse-submodules`. For example:
@@ -183,8 +204,14 @@ Then run `make` to build the binary. The binary in `_output` can be directly use
183
204
./_output/bin/finch version
184
205
```
185
206
207
+
#### macOS/Windows
208
+
186
209
You can run `make install` to make finch binary globally accessible.
187
210
211
+
#### Amazon Linux
212
+
213
+
You can run `./contrib/packaging/rpm/build.sh --local` to install Finch globally.
214
+
188
215
NOTE: If your build environment experiences issues with downloading dependencies from the Go proxy servers, then you may want to set the environment variable `export GOPROXY=direct`
189
216
190
217
### Unit Testing
@@ -197,17 +224,17 @@ To check unit test coverage, run `make coverage` under root finch-cli root direc
197
224
198
225
### E2E Testing
199
226
200
-
Run these steps at the first time of running e2e tests
227
+
To run e2e tests locally, please run `make test-e2e`. Make sure to run the e2e tests or add new e2e tests before pushing changes.
228
+
229
+
#### macOS/Windows
201
230
202
-
VM instance is not expected to exist before running e2e tests, please make sure to remove it before going into next step:
231
+
The VM instance is not expected to exist before running e2e tests, please make sure to remove it before going into next step:
203
232
204
233
```sh
205
234
./_output/bin/finch vm stop
206
235
./_output/bin/finch vm remove
207
236
```
208
237
209
-
To run e2e test locally, please run `make test-e2e`. Please make sure to run the e2e tests or add new e2e tests before pushing the changes.
INFO[0067] Finch virtual machine started successfully
63
63
```
64
64
65
+
#### Linux
66
+
67
+
To get started with Finch on Linux, the prerequisites are:
68
+
69
+
* Linux system capable of running containerd 1.7.x (generally, this means at least Linux kernel 4.x)
70
+
71
+
Currently, Finch installers are packaged and distributed on Amazon Linux. If you are not using Amazon Linux, you can download the binary from the GitHub releases page and install/configure the dependencies, following the convention in the [finch.spec file](./contrib/packaging/rpm/finch.spec). Detailed instructions are available on [runfinch.com](https://runfinch.com/docs/managing-finch/linux/installation/#generic).
72
+
65
73
### Running containers and building images
66
74
67
75
You can now run a test container. If you're familiar with container development, you can use the `run` command as you'd expect.
0 commit comments