Updates to Job Behavior when Invalid Syntax is Used

Starting Friday, September 23, 2022, CircleCI will modify the behavior when specific types of incorrect syntax are used in .circleci/config.yml files. Jobs with incorrect syntax will no longer silently continue to execute. Instead, starting Friday, September 23, 2022, they will fast-fail until valid syntax is provided.

The type of invalid syntax found in your job that will now trigger a failure is one of the three following cases:

Invalid executors:

gpu: # ‘gpu’ is not a valid executor
      image: ubuntu-2004:202010-01

Invalid resource class sizes:

machine:
  image: ubuntu-2004-cuda-11.4:202110-01
resource_class: xsmall # ‘xsmall’ is an invalid resource class size

An executor with an invalid image:

machine: # executor type
      image: banana # ‘banana’ is an invalid image

This change is being made to provide users immediate transparency when functionality that they think is working is not actually behaving as intended.

Customers who in the last 7 days have run a job with invalid syntax will be emailed before September 16 to let them know that this change is upcoming and that they may be impacted. Comment below with any questions or concerns.

This will also impact users who try to use a resource class that is not available on their plan. Those jobs will no longer run on a default resource class but instead fail and let you know that the resource class is not available to your plan.

We have been receiving these notification emails because of an invalid executor. However, many people received it — even a developer who has already lext the company and who is no longer a member of our GitHub organization — but not everyone.

I noticed that you said “Customers who in the last 7 days…” (and not “Users who…”). What’s the criteria that CircleCI uses when deciding who will be emailed? Thanks!

@dserodio Really sorry about that. In this particular instance, I made a mistake and did not specify “active users” in our query when pulling emails. We emailed all users from an organization that have not opted out of receiving emails. I am double checking how far back we keep someone listed as a “user” of an organization in our marketing records (which is where we pulled these emails from).

We typically use active users who have not opted out of receiving marketing emails when sending these kinds of emails. On this occasion, I did not communicate that request appropriately internally.

Apologies for the inconvenience.

Hi Sebastian! No need to apologize, and thanks for the detailed reply.

Can you please clarify what is the expected behaviour going forward? Who should be notified by email in case of an invalid executor?

Thanks!

Sure thing, let me help try and clarify. Starting Sep 23, if anyone runs a job with an invalid executor or image or resource class, the job will fail. The notification process will be the same as any other failed job.

The email sent last week was intended to inform folks who in a specific 7 day time period had at least one job that ran with invalid syntax. That job did not fail as the behavior on our platform today is to let invalid syntax jobs still execute with a warning in the UI.

We wanted to give a heads up that if the invalid syntax was not fixed on those particular jobs, starting Sep 23 the jobs will no longer run with invalid syntax but instead immediately fail without executing. The intent was to let users fix the invalid syntax if they haven’t already to avoid unexpected job failures on Sep 23.

1 Like

An update for all:

This change is now live. If you are experiencing issues and need help, please don’t hesitate to comment on this thread.