Skip to content

Commit de4f873

Browse files
authored
Update README with instructions on loopinstall with private plugins (#17790)
1 parent 908acb2 commit de4f873

File tree

1 file changed

+26
-3
lines changed

1 file changed

+26
-3
lines changed

README.md

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,25 @@ regarding Chainlink social accounts, news, and networking.
4444

4545
For the latest information on setting up a development environment, see the [Development Setup Guide](https://github.com/smartcontractkit/chainlink/wiki/Development-Setup-Guide).
4646

47+
### Build Plugins
48+
49+
Plugins are defined in yaml files within the `plugins/` directory. Each plugin file is a yaml file and has a `plugins.` prefix name. Plugins are installed with [loopinstall](https://github.com/smartcontractkit/chainlink-common/tree/main/pkg/loop/cmd/loopinstall).
50+
51+
Some plugins (such as those in `plugins/plugins.private.yaml`) reference private GitHub repositories. To build these plugins, you must have a GITHUB_TOKEN env var set, or preferably use the [gh](https://cli.github.com/manual/gh) GitHub CLI tool to use the [GitHub CLI credential helper](https://cli.github.com/manual/gh_auth_setup-git) like:
52+
53+
```shell
54+
# Sets up a credential helper.
55+
gh auth setup-git
56+
```
57+
58+
Then you can build the plugins with:
59+
60+
```shell
61+
make install-loopinstall # install loopinstall
62+
make install-plugins-public # install public plugins
63+
make install-plugins-private # install private plugins
64+
```
65+
4766
### Apple Silicon - ARM64
4867

4968
Native builds on the Apple Silicon should work out of the box, but the Docker image requires more consideration.
@@ -184,19 +203,20 @@ This script will save the `CL_DATABASE_URL` in `.dbenv`
184203

185204
Changes to database require migrations to be run. Similarly, `pull`'ing the repo may require migrations to run.
186205
After the one-time setup above:
206+
187207
```
188208
source .dbenv
189209
make testdb
190210
```
191211

192212
If you encounter the error `database accessed by other users (SQLSTATE 55006) exit status 1`
193213
and you want force the database creation then use
214+
194215
```
195216
source .dbenv
196217
make testdb-force
197218
```
198219

199-
200220
7. Run tests:
201221

202222
```bash
@@ -249,9 +269,11 @@ flowchart RL
249269
github.com/smartcontractkit/chainlink/core/scripts --> github.com/smartcontractkit/chainlink/v2
250270
251271
```
272+
252273
The `integration-tests` and `core/scripts` modules import the root module using a relative replace in their `go.mod` files,
253274
so dependency changes in the root `go.mod` often require changes in those modules as well. After making a change, `go mod tidy`
254275
can be run on all three modules using:
276+
255277
```
256278
make gomodtidy
257279
```
@@ -300,8 +322,9 @@ We use [changesets](https://github.com/changesets/changesets) to manage versioni
300322
Every PR that modifies any configuration or code, should most likely accompanied by a changeset file.
301323

302324
To install `changesets`:
303-
1. Install `pnpm` if it is not already installed - [docs](https://pnpm.io/installation).
304-
2. Run `pnpm install`.
325+
326+
1. Install `pnpm` if it is not already installed - [docs](https://pnpm.io/installation).
327+
2. Run `pnpm install`.
305328

306329
Either after or before you create a commit, run the `pnpm changeset` command to create an accompanying changeset entry which will reflect on the CHANGELOG for the next release.
307330

0 commit comments

Comments
 (0)