Skip to content

Commit d973851

Browse files
committed
Update macOS Docs
The shell is now always a login shell, so we remove the instructions to add --login on the 'testing on ios' page. We also need to make this clear on the config references page. Add docs for Xcode 11.1 and update the 11.0 docs to remove the "GM" designation, since GM 2 _was_ the final release.
1 parent 0bf7a33 commit d973851

File tree

2 files changed

+20
-24
lines changed

2 files changed

+20
-24
lines changed

jekyll/_cci2/configuration-reference.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -519,7 +519,13 @@ Each `run` declaration represents a new shell. It's possible to specify a multi-
519519

520520
###### _Default shell options_
521521

522-
The default value of shell option is `/bin/bash -eo pipefail` if `/bin/bash` is present in the build container. Otherwise it is `/bin/sh -eo pipefail`. The default shell is not a login shell (`--login` or `-l` are not specified by default). Hence, the default shell will **not** source your `~/.bash_profile`, `~/.bash_login`, `~/.profile` files. Descriptions of the `-eo pipefail` options are provided below.
522+
For jobs that run on **Linux**, the default value of the `shell` option is `/bin/bash -eo pipefail` if `/bin/bash` is present in the build container. Otherwise it is `/bin/sh -eo pipefail`. The default shell is not a login shell (`--login` or `-l` are not specified). Hence, the shell will **not** source your `~/.bash_profile`, `~/.bash_login`, `~/.profile` files.
523+
524+
For jobs that run on **macOS**, the default shell is `/bin/bash --login -eo pipefail`. The shell is a non-interactive login shell. The shell will execute `/etc/profile/` followed by `~/.bash_profile` before every step.
525+
526+
For more information about which files are executed when bash is invocated, [see the `INVOCATION` section of the `bash` manpage](https://linux.die.net/man/1/bash).
527+
528+
Descriptions of the `-eo pipefail` options are provided below.
523529

524530
`-e`
525531

@@ -840,7 +846,7 @@ In general `deploy` step behaves just like `run` with two exceptions:
840846

841847
- In a job with `parallelism`, the `deploy` step will only be executed by node #0 and only if all nodes succeed. Nodes other than #0 will skip this step.
842848
- In a job that runs with SSH, the `deploy` step will not execute, and the following action will show instead:
843-
> **skipping deploy**
849+
> **skipping deploy**
844850
> Running in SSH mode. Avoid deploying.
845851

846852
###### Example

jekyll/_cci2/testing-ios.md

Lines changed: 12 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ We announce the availability of new macOS containers in the [annoucements sectio
2929

3030
The currently available Xcode versions are:
3131

32-
* `11.0.0`: Xcode 11.0 (GM Seed 1) (Build 11A419c) [installed software](https://circle-macos-docs.s3.amazonaws.com/image-manifest/v1136/index.html)
32+
* `11.1.0`: Xcode 11.1 (GM Seed) (Build 11A1027) [installed software](https://circle-macos-docs.s3.amazonaws.com/image-manifest/v1226/index.html)
33+
* `11.0.0`: Xcode 11.0 (Build 11A420a) [installed software](https://circle-macos-docs.s3.amazonaws.com/image-manifest/v1136/index.html)
3334
* `10.3.0`: Xcode 10.3 (Build 10G8) [installed software](https://circle-macos-docs.s3.amazonaws.com/image-manifest/build-903/index.html)
3435
* `10.2.1`: Xcode 10.2.1 (Build 10E1001) [installed software]( https://circle-macos-docs.s3.amazonaws.com/image-manifest/build-594/index.html)
3536
* `10.1.0`: Xcode 10.1 (Build 10B61) [installed software](https://circle-macos-docs.s3.amazonaws.com/image-manifest/build-474/index.html)
@@ -240,7 +241,6 @@ jobs:
240241
environment:
241242
FL_OUTPUT_DIR: output
242243
FASTLANE_LANE: test
243-
shell: /bin/bash --login -o pipefail
244244
steps:
245245
- checkout
246246
- run: bundle install
@@ -258,7 +258,6 @@ jobs:
258258
environment:
259259
FL_OUTPUT_DIR: output
260260
FASTLANE_LANE: adhoc
261-
shell: /bin/bash --login -o pipefail
262261
steps:
263262
- checkout
264263
- run: bundle install
@@ -281,7 +280,7 @@ workflows:
281280
- build-and-test
282281
```
283282

284-
The environment variable `FL_OUTPUT_DIR` is the artifact directory where FastLane logs should be stored. Use this to set the path in the `store_artifacts` step to automatically save logs such as Gym and Scan.
283+
The environment variable `FL_OUTPUT_DIR` is the artifact directory where FastLane logs should be stored. Use this to set the path in the `store_artifacts` step to automatically save logs such as Gym and Scan.
285284

286285
### Reducing Testing Time
287286

@@ -371,20 +370,11 @@ It is also possible to use the `sudo` command if necessary to perform customizat
371370
### Using Custom Ruby Versions
372371
{:.no_toc}
373372

374-
Our macOS containers contain multiple versions of Ruby. The default version is the system-installed Ruby. The containers also include the latest stable versions of Ruby at the time that the container is built. We determine the stable versions of Ruby using the [Ruby-Lang.org downloads page](https://www.ruby-lang.org/en/downloads/). The version of Ruby that are installed in each image are listed in the [software manifests of each container](#supported-xcode-versions).
373+
Our macOS containers contain multiple versions of Ruby. The default version is the system-installed Ruby. The containers also include the latest stable versions of Ruby at the time that the container is built. We determine the stable versions of Ruby using the [Ruby-Lang.org downloads page](https://www.ruby-lang.org/en/downloads/). The version of Ruby that are installed in each image are listed in the [software manifests of each container](#supported-xcode-versions).
375374

376-
If you want to run steps with a version of Ruby that is listed as "available to chruby" in the manifest, then you can use [`chruby`](https://github.com/postmodern/chruby) to do so. To activate `chruby`, you **must** change the `shell` parameter of your job to be a login shell (adding `--login`).
375+
If you want to run steps with a version of Ruby that is listed as "available to chruby" in the manifest, then you can use [`chruby`](https://github.com/postmodern/chruby) to do so.
377376

378-
```yaml
379-
version: 2
380-
jobs:
381-
build:
382-
macos:
383-
xcode: "10.2.0"
384-
shell: /bin/bash --login -eo pipefail
385-
```
386-
387-
To specify a version of Ruby to use, there are two options. You can [create a file named `.ruby-version` and commit it to your repository, as documented by `chruby`](https://github.com/postmodern/chruby#auto-switching). If you do not want to commit a `.ruby-version` file to source control, then you can create the file from a job step:
377+
To specify a version of Ruby to use, there are two options. You can [create a file named `.ruby-version` and commit it to your repository, as documented by `chruby`](https://github.com/postmodern/chruby#auto-switching). If you do not want to commit a `.ruby-version` file to source control, then you can create the file from a job step:
388378

389379
```yaml
390380
run:
@@ -445,19 +435,19 @@ the app is easy with one of the following:
445435
446436
Then you should set up environment variables for your service of choice:
447437
448-
### Hockey App
438+
### Hockey App
449439
{:.no_toc}
450440
451441
1. Log in to Hockey app and create a new API token on the [Tokens page](
452442
https://rink.hockeyapp.net/manage/auth_tokens). Your token will need at
453-
least upload permission to upload new builds to Hockey App.
443+
least upload permission to upload new builds to Hockey App.
454444
455445
2. Give your
456446
new API token a name specific to CircleCI such as "CircleCI
457-
Distribution".
447+
Distribution".
458448
459449
3. Copy the token, and log into CircleCI and go to the
460-
Project Settings page for your app.
450+
Project Settings page for your app.
461451
462452
4. Create a new Environment Variable with
463453
the name `HOCKEY_APP_TOKEN` and paste the token as the value. You can now
@@ -469,7 +459,7 @@ access this token in any job.
469459
1. Log in to Fabric.io and visit your organization's settings page.
470460
![Fabric.io loging image]( {{ site.baseurl }}/assets/img/docs/fabric-org-settings-page.png)
471461
472-
2. Click your organization (CircleCI in the image above), and click
462+
2. Click your organization (CircleCI in the image above), and click
473463
the API key and Build Secret links to reveal the items.
474464
![Fabric.io org image]( {{ site.baseurl }}/assets/img/docs/fabric-api-creds-page.png)
475465
@@ -533,7 +523,7 @@ projects. Here are the most frequent of those:
533523

534524
* **Xcode version is not available.** We install
535525
a few different versions of Xcode in each build
536-
image and keep those updated with the latest point releases. For version `10.0.0`,
526+
image and keep those updated with the latest point releases. For version `10.0.0`,
537527
you must specify the full version, down to the point release number. However,
538528
to use the latest Xcode 8.3, for example, which is `8.3.3`, it is
539529
sufficient to specify `8.3` in your `config.yml`. If a newer point

0 commit comments

Comments
 (0)