Default: ~/project (where project is a literal string, not the name of your specific project).
Processes run during the job can use the $CIRCLE_WORKING_DIRECTORY environment variable to
refer to this directory.
Note: Paths written in your YAML configuration file will not be expanded; if your
store_test_results.path is $CIRCLE_WORKING_DIRECTORY/tests, then CircleCI will attempt to
store the test subdirectory of the directory literally named $CIRCLE_WORKING_DIRECTORY,
dollar sign $ and all. working_directory will be created automatically if it doesn’t exist.
The resource_class feature allows you to configure CPU and RAM resources for each job.
Resource classes are available for each execution environment, as described in the tables below.
We implement soft concurrency limits for each resource class to ensure our system remains
stable for all customers.
If you are on a Performance or custom plan and experience queuing for certain resource
classes, it is possible you are hitting these limits.
Contact CircleCI support to request a
raise on these limits for your account.
If you do not specify a resource class, CircleCI will use a default value that is subject
to change.
It is best practice to specify a resource class as opposed to relying on a default.
CircleCI supports running jobs on macOS, to allow you to build, test, and deploy apps for
macOS, iOS, tvOS and watchOS.
To run a job in a macOS virtual machine, add the macos key to the top-level configuration
for your job and specify the version of Xcode you would like to use.
Shell to use for execution command in all steps.