I haven’t run my build locally in a while and I’m thus not sure when this happened. I’ve tried clearing out my machine’s tmp file and uninstalling/reinstalling different ways snap->script->snap, but this didn’t seem to effect the error. I’m not sure if there is some other temp file that exists outside my user profile or the /tmp directory, but I’ve not been able to find it.
$ circleci version
0.1.6949+d951526
$ circleci build
Docker image digest: sha256:9ed852a5b7a9a4b38a4c1a59d3a4c3c3138eeae23f60bc9b02510b574d29b1d3
Error: failed to start event processor: failed to compute task config: failed to read config file: read /tmp/local_build_config.yml: is a directory
Edit: for additional information, here is my config.yml
version: 2
jobs:
build:
working_directory: ~/App
parallelism: 2
shell: /bin/bash --login
environment:
RAILS_ENV: test
RACK_ENV: test
docker:
- image: circleci/ruby:2.5.1-browsers
environment:
RAILS_ENV: test
DB_HOST: localhost
REDIS_HOST: 127.0.0.1
- image: circleci/mysql:5.6.37-ram
command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci --innodb-large-prefix=true --innodb-file-format=Barracuda --sort-buffer-size=67108864
- image: redis
steps:
# Machine Setup
# If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each
# The following `checkout` command checks out your code to your working directory. In 1.0 we did this implicitly. In 2.0 you can choose where in the course of a job your code should be checked out.
- checkout
# Restore the dependency cache
- restore_cache:
keys:
# This branch if available
- v1-dep-{{ .Branch }}-
# Default branch if not
- v1-dep-master-
# Any branch if there are none on the default branch - this should be unnecessary if you have your default branch configured correctly
- v1-dep-
- run:
name: Bundle Install
command: |-
bundle check --path=vendor/bundle || bundle install --path=vendor/bundle --jobs=4 --retry=3
# The following line was run implicitly in your 1.0 builds based on what CircleCI inferred about the structure of your project. In 2.0 you need to be explicit about which commands should be run. In some cases you can discard inferred commands if they are not relevant to your project.
# Save dependency cache
- save_cache:
key: v1-dep-{{ .Branch }}-{{ epoch }}
paths:
- vendor/bundle
- ~/.bundle
- ~/.cache/bower
- run:
name: Generate config/database.yml
command: |-
mkdir -p config && echo 'test:
adapter: mysql2
database: circle_test
username: root
host: 127.0.0.1
encoding: utf8mb4
collation: utf8mb4_general_ci
' > config/database.yml
- run:
name: Generate config/secrets.yml
command: |-
echo "test:
Things go here
" > config/secrets.yml
- run:
name: Create / Migrate Database
command: |-
bundle exec rake db:create db:migrate --trace
# GPG version 1 is needed because version 2 no longer really allows for passing the password to encrypt on the command line.
- run: sudo apt-get update
# TEST_FILES is broken out into it's own variable because of random bash parsing issues which case "bundler: failed to load command: rspec"
- run:
name: Rspec Unit Tests
no_output_timeout: "20m"
command: |-
bundle exec rspec --require spec_helper --format RspecJunitFormatter --out /tmp/circle-tests/rspec/rspec.xml --format progress $(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)
# Teardown
# If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each
# Save test results
- store_test_results:
path: /tmp/circle-tests
# Save artifacts - these are viewable in the Artifacts tab of the CircleCI interface after a build is complete
- store_artifacts:
path: /tmp/circle-tests