@apollo/rover 0.39.1-rc.3 → 0.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -12
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -171,7 +171,7 @@ This repo is organized as a [`cargo` workspace], containing several related proj
|
|
|
171
171
|
|
|
172
172
|
## Installation Methods
|
|
173
173
|
|
|
174
|
-
As of Rover
|
|
174
|
+
As of Rover v0.39.1, all the platforms listed below enforce immutable release tags. This means that you can reference a GitHub release, Docker image, or NPM release version directly by SemVer and be
|
|
175
175
|
guaranteed that the artifact will not change. Note that the `curl | sh` method, while ultimately referencing immutable GitHub release binaries, still first downloads a shell script from a webservice
|
|
176
176
|
that does not provide that same guarantee of immutability. Security conscious installers should verify the downloaded shell script matches
|
|
177
177
|
[the pinned artifact for its respective Rover version](https://github.com/apollographql-gh-actions/install-rover) or use one of the immutable installation methods described below.
|
|
@@ -186,7 +186,7 @@ curl -sSL https://rover.apollo.dev/nix/latest | sh
|
|
|
186
186
|
|
|
187
187
|
To install a specific version of Rover (note the `v` prefixing the version number):
|
|
188
188
|
|
|
189
|
-
> Note: If you're installing Rover in a CI environment,
|
|
189
|
+
> Note: If you're installing Rover in a CI environment, Apollo highly recommends using an [immutable Docker image of Rover](#docker-images)). As an alternative for GitHub Actions users, Apollo vends a [GitHub Action](https://github.com/marketplace/actions/install-apollo-rover-cli) which pins an immutable instance of the download script and installs the native binary.
|
|
190
190
|
|
|
191
191
|
```bash
|
|
192
192
|
curl -sSL https://rover.apollo.dev/nix/v0.10.0 | sh
|
|
@@ -204,7 +204,7 @@ iwr 'https://rover.apollo.dev/win/latest' | iex
|
|
|
204
204
|
|
|
205
205
|
To install a specific version of Rover (note the `v` prefixing the version number):
|
|
206
206
|
|
|
207
|
-
> Note: If you are installing Rover in a Windows CI environment, you need to put Docker into Linux mode to use the [recommended immutable Docker images](#docker-images)). As an alternative for GitHub Actions users,
|
|
207
|
+
> Note: If you are installing Rover in a Windows CI environment, you need to put Docker into Linux mode to use the [recommended immutable Docker images](#docker-images)). As an alternative for GitHub Actions users, Apollo vends a [GitHub Action](https://github.com/marketplace/actions/install-apollo-rover-cli) to do so which pins an immutable instance of the download script and installs the native binary.
|
|
208
208
|
|
|
209
209
|
|
|
210
210
|
```bash
|
|
@@ -213,22 +213,22 @@ iwr 'https://rover.apollo.dev/win/v0.10.0' | iex
|
|
|
213
213
|
|
|
214
214
|
#### Docker images
|
|
215
215
|
|
|
216
|
-
Starting with version 0.39.
|
|
216
|
+
Starting with version 0.39.1, Rover vends immutable Linux Docker images that pre-build Rover as an entry point for consumption in CI environments
|
|
217
217
|
or to run Rover on platforms that Rover does not build natively for. Each release verison tag is enforced as immutable at the platform level for
|
|
218
218
|
your convenience so that you can pin to the Rover version you want without needing to deal with the indirection of SHA pinning.
|
|
219
219
|
|
|
220
220
|
Install directly from Dockerhub:
|
|
221
221
|
|
|
222
222
|
```bash
|
|
223
|
-
docker pull apollograph/rover:0.39.
|
|
224
|
-
docker run apollograph/rover:0.39.
|
|
223
|
+
docker pull apollograph/rover:0.39.1
|
|
224
|
+
docker run apollograph/rover:0.39.1 <<args>>
|
|
225
225
|
```
|
|
226
226
|
|
|
227
227
|
or via ghcr.io:
|
|
228
228
|
|
|
229
229
|
```bash
|
|
230
|
-
docker pull ghcr.io/apollographql/rover:0.39.
|
|
231
|
-
docker run ghcr.io/apollographql/rover:0.39.
|
|
230
|
+
docker pull ghcr.io/apollographql/rover:0.39.1
|
|
231
|
+
docker run ghcr.io/apollographql/rover:0.39.1 <<args>>
|
|
232
232
|
```
|
|
233
233
|
|
|
234
234
|
All CI platforms that support referencing images from those respective image repositories can do so directly as well.
|
|
@@ -238,7 +238,7 @@ All CI platforms that support referencing images from those respective image rep
|
|
|
238
238
|
Rover vends a number of GitHub actions for convenient invocation of common Rover commands in your CI pipeline. They can be found on
|
|
239
239
|
[GitHub's actions marketplace](https://github.com/marketplace?query=apollographql-gh-actions+Rover&type=actions).
|
|
240
240
|
|
|
241
|
-
As of Rover
|
|
241
|
+
As of Rover v0.39.1, each Rover release corresponds to an immutable action tag of `<action>@rover-<version>`. This allows you to specify
|
|
242
242
|
the exact version of Rover for your CI actions without needing to rely on SHA pinning to guarantee action immutability. These actions
|
|
243
243
|
leverage Rover's Docker image under the hood to sandbox the Rover invocation and only expose it to the `APOLLO_*` environment variable
|
|
244
244
|
surface.
|
|
@@ -251,8 +251,8 @@ Their source code is mastered in this repository under the `actions` directory.
|
|
|
251
251
|
#### npm installer
|
|
252
252
|
|
|
253
253
|
Rover is distributed on npm for easy integration with your JavaScript projects. Rover's Node dependency will follow LTS versions where possible unless security concerns justify an earlier upgrade.
|
|
254
|
-
While this installation method is provided for convenience in projects that are already in the Node ecosystem,
|
|
255
|
-
installation to NPM's surface area of potential supply-chain attacks.
|
|
254
|
+
While this installation method is provided for convenience in projects that are already in the Node ecosystem, Apollo does not recommend it as an installation method otherwise as it exposes your
|
|
255
|
+
installation to NPM's surface area of potential supply-chain attacks. Apollo has attempted to minimize the dependency surface of Rover's NPM installation script, but it still represents nonzero risk.
|
|
256
256
|
|
|
257
257
|
##### devDependency install
|
|
258
258
|
|
|
@@ -262,7 +262,7 @@ Note that installing rover directly via `npx install` bypasses lockfiles (includ
|
|
|
262
262
|
|
|
263
263
|
#### Homebrew
|
|
264
264
|
|
|
265
|
-
While
|
|
265
|
+
While Apollo recommends using one of the other installation methods above, we do have a homebrew recipe `brew install rover`. The code for this recipe is in the [homebrew-core repo](https://github.com/Homebrew/homebrew-core/blob/master/Formula/r/rover.rb).
|
|
266
266
|
|
|
267
267
|
#### Manual binary download
|
|
268
268
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@apollo/rover",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.40.0",
|
|
4
4
|
"description": "The new Apollo CLI",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"detect-libc": "2.1.2",
|
|
40
40
|
"tar": "^7.0.0",
|
|
41
|
-
"undici": "^
|
|
41
|
+
"undici": "^8.0.0"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"jest": "30.4.2",
|