Skip to content

CircleCI schema does not allow a "machine" key in a "job" - disagrees with CircleCI docs #3768

Closed
@jclerman

Description

@jclerman

Area with issue?

JSON Schema

✔️ Expected Behavior

I have a CircleCI config file in which I have jobs defined (in part) like:

jobs:
  my_job:
    machine:
      image: ubuntu-2004:2024.01.2
      docker_layer_caching: true

The current version of the CircleCI schema served at:
https://json.schemastore.org/circleciconfig.json

Does not allow that though - instead it wants a pre-defined (via an "exectors:" stanza) executor, and no longer allows the "machine:" key directly under a job definition.

This is in conflict with the current CircleCI docs, specifically the example shown here: https://circleci.com/docs/executor-intro/#linux-vm
and copied here:

jobs:
  build: # name of your job
    machine: # executor type
      image: ubuntu-2004:202010-01 # # recommended linux image - includes Ubuntu 20.04, docker 19.03.13, docker-compose 1.27.4

    steps:
        # Commands run in a Linux virtual machine environment

Consequently, I'm getting complaints from PyCharm, which is following the schema defined in this repo.

❌ Actual Behavior

PyCharm is flagging my CircleCI config as invalid, but it's working just fine at CircleCI.

YAML or JSON file that does not work.

Minimal example .circleci/config.yaml illustrating the problem:

version: 2.1

jobs:
  build:
    machine:
      image: ubuntu-2004:2024.01.2
      docker_layer_caching: true
    steps:
      - checkout
      - run: sudo apt-get update

 
workflows:
  build_and_deploy:
    jobs:
      - build:
          filters:
            tags:
              only: /.*/

IDE or code editor.

IntelliJ and it's derivatives

Are you making a PR for this?

No, someone else must create the PR.

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedissue:bugReport errors or unexpected behavior (auto-generated by issue forms)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions