Job doesnt' run

I upgraded a project of mine a few months ago from PHP 8.2 to PHP 8.3
So, I changed my configuration accordingly, replacing the cimg/php:8.2 image with cimg/php:8.3. The rest of the config was untouched.

Since then, all my jobs have failed before even starting, with this laconic message:

“We encountered an unexpected error when running this job. Please try again later.”

and I noticed an “Infrastructure Fail” red label.

What can I do?

Can you post your config.yml file or a simplified version that still generates the same results?

The CircleCI support team are active on these forums and they are the only people who can look into an “Infrastructure Fail” error, so the simpler the config.yml that causes the issue the easier the discovery will be when they look for the issue.

Here’s my full .circleci/config.yml file

version: 2
jobs:
  build:
    docker:
      - image: cimg/php:8.3
        environment:
          - APP_ENV=test
          - APP_MAILER_URL=null://127.0.0.1
          - APP_SECRET=not_really_needed_here
          - APP_RECAPTCHA_SECRET=dummy
          - APP_RECAPTCHA_SITE_KEY=dummy
          - APP_DENY_LIST_FILE/tm/deny_list
          - XDEBUG_MODE=coverage

    working_directory: ~/app
    steps:
      - checkout

      - run:
          name: install system packages
          command: sudo apt update && sudo apt install -qqy --no-install-recommends libzip-dev libicu-dev libonig-dev

      - run:
          name: install xdebug
          command: sudo pecl install xdebug

      - restore_cache:
          keys:
            - v1-dependencies-{{ checksum "composer.json" }}
            # fallback to using the latest cache if no exact match is found
            - v1-dependencies-
      - run:
          name: install project dependencies
          command: composer install -n --no-progress

      - save_cache:
          paths:
            - ./vendor
          key: v1-dependencies-{{ checksum "composer.json" }}

      - run:
          name: create empty manifest file
          command: mkdir -p public/build && echo '{}' > public/build/manifest.json

      - run:
            name: create deny list
            command: touch var/deny_list && echo 'blocked@example.org' > var/deny_list

      - run:
          name: run tests
          command: bin/phpunit -d memory_limit=-1 --coverage-html coverage --log-junit phpunit_logs/junit.xml

      - store_test_results:
          path: phpunit_logs

      - store_artifacts:
          path: phpunit_logs

      - store_artifacts:
          path: coverage

The indentation for your environment: line is wrong as currently, you currently have it as part of the docker definition which is not valid.

Are you sure?
I have other projects with the exact same indentation, perfectly working.

So, while taking a deeper look, I found a copy/paste disaster in one of the env vars (APP_DENY_LIST_FILE)

Thanks for the help anyway, I fixed that line and now it works :slight_smile:

Good to hear that you spotted the error (I missed it totally).

Yes, my mistake about the placing of the environment line - I think it comes from the fact that there are limitations for expressing values that way which always impacts what I’ve tried to do, so I forget that it could be done.