CircleCI-Public / circleci-cli

Use CircleCI from the command line
https://circleci-public.github.io/circleci-cli/
MIT License
410 stars 232 forks source link

`executors` section dropped when example is published #1076

Open MikeMcC399 opened 1 month ago

MikeMcC399 commented 1 month ago

Meta:

CircleCI CLI Version:

0.1.30995+77b1f51 (release)

Operating System:

Ubuntu 22.04.5 LTS

CircleCI CLI Diagnostic:

---
CircleCI CLI Diagnostics
---
Debugger mode: false
Config found: /home/mike-circleci/.circleci/cli.yml
API host: https://circleci.com
API endpoint: graphql-unstable
OK, got a token.
Trying an introspection query on API...
Unable to make a query against the GraphQL API, please check your settings
Error: failure calling GraphQL API: 401 Unauthorized

Note that I am an external contributor to the https://github.com/cypress-io/circleci-orb orb, so I don't have full access, which is why I am unauthorized.


Current behavior:

The example CircleCI configuration file in https://github.com/cypress-io/circleci-orb/blob/master/src/examples/edge.yml which consists of

description: >
  Run Cypress tests in Microsoft Edge.
usage:
  version: 2.1
  orbs:
    cypress: cypress-io/cypress@3
  executors:
    cypress-browsers:
      docker:
        - image: cypress/browsers:node-20.17.0-chrome-129.0.6668.70-1-ff-130.0.1-edge-129.0.2792.52-1
  jobs:
    edge-test:
      executor: cypress-browsers
      steps:
        - cypress/install
        - cypress/run-tests:
            start-command: "npm run start:dev"
            cypress-command: 'npx cypress run --browser edge'
  workflows:
    use-my-orb:
      jobs:
        - edge-test

is packed into the orb with the executors section missing:

  executors:
    cypress-browsers:
      docker:
        - image: cypress/browsers:node-20.17.0-chrome-129.0.6668.70-1-ff-130.0.1-edge-129.0.2792.52-1

The development orb preview on https://circleci.com/developer/orbs/orb/cypress-io/cypress?version=dev:fab347ff110b7fe66cf9adeb586d856852174583#usage-edge shows

image

The behavior is the same whether it is done by the lint-pack workflow of .circleci/config.yml shown on https://app.circleci.com/pipelines/github/cypress-io/circleci-orb/1974/workflows/6bea899f-82b4-4755-8869-8636dcfed543 or whether the following is run locally:

circleci orb pack ./src

Expected behavior:

The complete configuration, including the executors section, should be packed into the orb for publication of the example.

When did this begin / Was this previously working?:

This has never worked. The example is new.

Additional Information:

The configuration in the usage section has been tested and works when run.

I also tried using the following example from https://circleci.com/docs/configuration-reference/ and when this example is packed / published the executors section is also dropped:

version: 2.1
executors:
  my-executor:
    docker:
      - image: cimg/ruby:3.0.3-browsers

jobs:
  my-job:
    executor: my-executor
    steps:
      - run: echo "Hello executor!"
MikeMcC399 commented 3 days ago

@christian-stephen

Please excuse the ping! Do bug reports need to be submitted as a support request or will somebody from the CircleCI team be able to look at this issue sometime soon?