# 2.1 Config and Build Processing

**URL:** <https://discuss.circleci.com/t/2-1-config-and-build-processing/24102>\
**Category:** Build Environment\
**Created:** [August 7, 2018, 6:40am UTC](https://discuss.circleci.com/t/2-1-config-and-build-processing/24102 "2018-08-07T06:40:48Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![ndintenfass](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/ndintenfass/32/156_2.png) [@ndintenfass](https://discuss.circleci.com/u/ndintenfass)\
**Post date:** [August 7, 2018, 6:40am UTC](https://discuss.circleci.com/t/2-1-config-and-build-processing/24102/1 "2018-08-07T06:40:48Z")

</div>

This is a general thread for feedback on the new [2.1 features of config](https://github.com/CircleCI-Public/config-preview-sdk/blob/master/docs/whats-new.md) and the new build processing system. If you don’t yet have the build processing setting on your projects (under Advanced on the project’s Settings page) you will soon as we roll it out to more and more organizations.

---

<div class="post-metadata">

**Author:** ![sjdweb](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/sjdweb/32/8161_2.png) [@sjdweb](https://discuss.circleci.com/u/sjdweb)\
**Post date:** [August 8, 2018, 9:49am UTC](https://discuss.circleci.com/t/2-1-config-and-build-processing/24102/2 "2018-08-08T09:49:57Z")

</div>

Will this support approval of holds via API?

---

<div class="post-metadata">

**Author:** ![ndintenfass](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/ndintenfass/32/156_2.png) [@ndintenfass](https://discuss.circleci.com/u/ndintenfass)\
**Post date:** [August 8, 2018, 11:38pm UTC](https://discuss.circleci.com/t/2-1-config-and-build-processing/24102/3 "2018-08-08T23:38:39Z")

</div>

We intend to support that in the future, but that is not part of this batch of features.

---

<div class="post-metadata">

**Author:** ![grahamw](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/grahamw/32/18777_2.png) [@grahamw](https://discuss.circleci.com/u/grahamw)\
**Post date:** [August 9, 2018, 2:50am UTC](https://discuss.circleci.com/t/2-1-config-and-build-processing/24102/4 "2018-08-09T02:50:52Z")

</div>

Pity, that’d be awesome. I’d see it making approval straight from let’s say a slack channel with a bot relatively straight forward. Hope it’s not too far away.

---

<div class="post-metadata">

**Author:** ![grahamw](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/grahamw/32/18777_2.png) [@grahamw](https://discuss.circleci.com/u/grahamw)\
**Post date:** [August 9, 2018, 2:57am UTC](https://discuss.circleci.com/t/2-1-config-and-build-processing/24102/5 "2018-08-09T02:57:33Z")

</div>

I took a closer look at what’s come. I can see a few places where I can use this. Oh, and I wanted to point out, conditional steps, YES!!!

---

<div class="post-metadata">

**Author:** ![snemetz](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/snemetz/32/12808_2.png) [@snemetz](https://discuss.circleci.com/u/snemetz)\
**Post date:** [August 9, 2018, 9:13pm UTC](https://discuss.circleci.com/t/2-1-config-and-build-processing/24102/6 "2018-08-09T21:13:22Z")

</div>

Attempting to use the new ORB feature.  
I’ve written a couple orb.yml files  
circleci orb validate verify’s them  
Next steps appear to be creating a namespace and then building an orb  
I’m trying to run: circleci namespace create NS-NAME github ORG-NAME  
This always fails with an auth failure, but no other information  
Using cli v0.1.1130  
Is the register open for use? Is there something else that needs to be setup?

---

<div class="post-metadata">

**Author:** ![nmiyake](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/nmiyake/32/11847_2.png) [@nmiyake](https://discuss.circleci.com/u/nmiyake)\
**Post date:** [August 12, 2018, 1:28am UTC](https://discuss.circleci.com/t/2-1-config-and-build-processing/24102/7 "2018-08-12T01:28:46Z")

</div>

I’ve had a chance to read through the documentation and play around with writing some inline orbs and things look good so far – I think the concepts here are very promising in helping us to vastly simplify the way we currently deal with parameterizing CircleCI build configuration across projects.

Question: is there currently any way to build/publish orbs? I’d like to test out composing orbs (writing orbs that import other orbs), but it doesn’t look like that’s possible with inline orbs, and I can’t figure out how to build/publish orbs so that I can reference them statically based on namespace and version. I’ve tried using the `orb create` and `orb publish` CLI actions, but can’t figure out how to make them work, and not sure if there’s a mechanism for building and referencing orbs locally.

---

<div class="post-metadata">

**Author:** ![apstndb](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/apstndb/32/14924_2.png) [@apstndb](https://discuss.circleci.com/u/apstndb)\
**Post date:** [August 13, 2018, 4:47am UTC](https://discuss.circleci.com/t/2-1-config-and-build-processing/24102/8 "2018-08-13T04:47:48Z")

</div>

I am trying the settings in [docs](https://github.com/CircleCI-Public/config-preview-sdk/blob/master/docs/getting-started.md) but if I specify `version: 2.1`, it seems to be fail always.

It seems that `query ValidateConfig` returns below result.

```auto
version: 2
jobs:
  config_processing_exception:
    steps:
      - run:
          name: Unexpected exception processing config
          command: |
            echo Unexpected exception processing config
            echo Please contact support
            false
    docker: [image: 'debian:stretch']
workflows:
  version: 2
  config_processing_exception: {jobs: [config_processing_exception]}

```

I want to test the parameters feature,

---

<div class="post-metadata">

**Author:** ![apstndb](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/apstndb/32/14924_2.png) [@apstndb](https://discuss.circleci.com/u/apstndb)\
**Post date:** [August 14, 2018, 8:44am UTC](https://discuss.circleci.com/t/2-1-config-and-build-processing/24102/9 "2018-08-14T08:44:00Z")

</div>

After update circleci cli ver 0.1.1160, the error seems to be fixed.

---

<div class="post-metadata">

**Author:** ![grahamw](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/grahamw/32/18777_2.png) [@grahamw](https://discuss.circleci.com/u/grahamw)\
**Post date:** [August 14, 2018, 9:58am UTC](https://discuss.circleci.com/t/2-1-config-and-build-processing/24102/10 "2018-08-14T09:58:19Z")

</div>

@ndintenfass What’s the support status level on these 2.1 config features, is it pre-beta/beta or other? This is the only place I’ve seen these features mentioned so far.  
Thanks.

---

<div class="post-metadata">

**Author:** ![ndintenfass](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/ndintenfass/32/156_2.png) [@ndintenfass](https://discuss.circleci.com/u/ndintenfass)\
**Post date:** [August 14, 2018, 4:20pm UTC](https://discuss.circleci.com/t/2-1-config-and-build-processing/24102/11 "2018-08-14T16:20:10Z")

</div>

2.1 config is in preview, which means it’s still being tested. We have avoided “alpha” and “beta” because as a continuously deployed app they make less sense. We are actively taking any bug reports and feedback, though it’s not officially “launched” – the preview is intended for early adopters who want to try it out before we make it an official feature.

---

<div class="post-metadata">

**Author:** ![grahamw](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/grahamw/32/18777_2.png) [@grahamw](https://discuss.circleci.com/u/grahamw)\
**Post date:** [August 14, 2018, 10:27pm UTC](https://discuss.circleci.com/t/2-1-config-and-build-processing/24102/12 "2018-08-14T22:27:42Z")

</div>

Awesome, that makes sense it being in preview, yep which I can see looking at the Advanced Settings. I’ll definitely be jumping on the bandwagon.

---

<div class="post-metadata">

**Author:** ![dominicsayers](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/dominicsayers/32/18841_2.png) [@dominicsayers](https://discuss.circleci.com/u/dominicsayers)\
**Post date:** [August 15, 2018, 8:23am UTC](https://discuss.circleci.com/t/2-1-config-and-build-processing/24102/13 "2018-08-15T08:23:15Z")

</div>

Nice. Think we’ll give this a try sooner rather than later.

---

<div class="post-metadata">

**Author:** ![danielcompton](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/danielcompton/32/80_2.png) [@danielcompton](https://discuss.circleci.com/u/danielcompton)\
**Post date:** [August 15, 2018, 11:38pm UTC](https://discuss.circleci.com/t/2-1-config-and-build-processing/24102/14 "2018-08-15T23:38:16Z")

</div>

> Question: is there currently any way to build/publish orbs?

I’ll second this, I can’t see any way to publish the orbs documented (but I might have missed it).

---

<div class="post-metadata">

**Author:** ![danielcompton](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/danielcompton/32/80_2.png) [@danielcompton](https://discuss.circleci.com/u/danielcompton)\
**Post date:** [August 16, 2018, 12:05am UTC](https://discuss.circleci.com/t/2-1-config-and-build-processing/24102/15 "2018-08-16T00:05:21Z")

</div>

I’ve just experimented with the new schema version and have a few things I’ve noticed:

- Currently jobs run under the 2.1 schema still show as “2.0” in the badges. It would be nice to be able to distinguish between them.
- I pushed a commit with a 2.1 schema to a project which didn’t have 2.1 enabled. I got a bunch of confusing schema errors. It would have been more useful to say “You tried to run this with a schema version of 2.1. This isn’t enabled for your project yet. To enable it, go here”
- Are orbs going to only be public? After reading the docs, the process of managing orbs seems a little bit opaque to me still.

Overall though I really like it, and I can see how it’s going to greatly reduce our config volume. Thanks!

---

<div class="post-metadata">

**Author:** ![ndintenfass](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/ndintenfass/32/156_2.png) [@ndintenfass](https://discuss.circleci.com/u/ndintenfass)\
**Post date:** [August 16, 2018, 12:14am UTC](https://discuss.circleci.com/t/2-1-config-and-build-processing/24102/16 "2018-08-16T00:14:34Z")

</div>

- I’ll look into getting a “2.1” notice on the UI.
- We are going to be fixing the issue of pushing 2.1 without build processing on - we’ll show better warnings soon
- For now all orbs will be “Open” (meaning anyone can run them). We will likely be adding a way to make private orbs, but we want to get the machinery working first and hear how people would want to restrict them before building in another security layer.

---

<div class="post-metadata">

**Author:** ![jasonwc](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/jasonwc/32/18994_2.png) [@jasonwc](https://discuss.circleci.com/u/jasonwc)\
**Post date:** [August 27, 2018, 11:43pm UTC](https://discuss.circleci.com/t/2-1-config-and-build-processing/24102/17 "2018-08-27T23:43:59Z")

</div>

So on our end, we’d love private orbs to lock down some of our docker image building and deploy parts of our CI/CD pipeline.

An example might be,

- A new project in our org
- We have set steps for building docker images and deploying that we would like to share between projects
- We would use contexts to inject the environment variables that we care about i.e. docker host, secret keys for our docker repos in AWS, etc… (to obfuscate them from employees pushing branches)
- We would use orbs to encapsulate the docker build and deploy jobs so that an employee could just add them to circle project and request someone with higher permissions add the right contexts to make them function.

For us in general, in order to use Circle for the entire CD pipeline we would like more options to lock down parts of that pipeline so that they are usable, but obfuscated.

---

<div class="post-metadata">

**Author:** ![ndintenfass](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/ndintenfass/32/156_2.png) [@ndintenfass](https://discuss.circleci.com/u/ndintenfass)\
**Post date:** [August 28, 2018, 6:40am UTC](https://discuss.circleci.com/t/2-1-config-and-build-processing/24102/18 "2018-08-28T06:40:51Z")

</div>

@jasonwc Understood – Assuming you’re using Contexts to lock down your secrets, curious to understand why the config in the orbs themselves would need to be private. Do they contain proprietary techniques? Or perhaps they expose endpoints or other network info that opens up surface area of attack? We’re looking into what models people need for protecting config and orbs and are researching what is acceptable to be Open vs. Closed. We have a working assumption with open orbs that people should avoid any secrets in config, so most cases of orbs themselves can be open. Assuming you could control orb publishing with in your org, would you be comfortable providing world-read access to the underlying orb and use fully locked-down environment variables for any thing secret? Or is the config itself sensitive?

---

<div class="post-metadata">

**Author:** ![williambritt](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/williambritt/32/22726_2.png) [@williambritt](https://discuss.circleci.com/u/williambritt)\
**Post date:** [September 13, 2018, 2:55pm UTC](https://discuss.circleci.com/t/2-1-config-and-build-processing/24102/19 "2018-09-13T14:55:54Z")

</div>

Are there any plans to be able to display multiple projects together in the workflow UI?  
A current use case for us developing for the Salesforce Platform, is that on our default branch, we have a workflow that (1)runs units tests, (2)uploads a new version to the package management system, (3)waits for that version to be installable, (4)then will install it. On the last job in the workflow(install) it will trigger our automated UI tests that are in another project.  
Currently because there is no Workflow API we have to chain regular jobs together so we have zero visibility into the entire process. While we will add that visibility with the workflow api, I was wondering if we could get that UI to display a job from another project(in this case the automated tests)? This way you could view the workflow for the entire package instead of it being in another project.

---

<div class="post-metadata">

**Author:** ![gregorath](https://avatars.discourse-cdn.com/v4/letter/g/bc79bd/32.png) [@gregorath](https://discuss.circleci.com/u/gregorath)\
**Post date:** [September 18, 2018, 10:26am UTC](https://discuss.circleci.com/t/2-1-config-and-build-processing/24102/20 "2018-09-18T10:26:25Z")

</div>

Hello @ndintenfass,

the following code was working okay until a couple of days ago in version 2.1 but it is broken now.

```auto
workflows:
  build1:
    jobs:
      - test:
          filters:
            branches:
              ignore: master
      - test2:
          requires:
            - test
  build2:
    jobs:
      - test:
          filters:
            branches:
              only: master

```

The error looks like:

```auto
We weren't able to start this workflow.
test2: requires job "test" but "test" is not part of this workflow.
The following jobs are unreachable: test2

```

Do you know if the breaking change is intentional?  
Is there another way to achieve the same result in the new version?

---------added details  
After running `circleci process` on the file I find out that the output contains two jobs, `test-1` and `test-2` while in version 2 there was only one job `test`.  
So a solution for now seems to be like:

```auto
- test2:
     requires:
       - test-1

```

but it would be good to know if that is expected to work like this and if it is something that will stay like this.

[Next page](https://discuss.circleci.com/t/2-1-config-and-build-processing/24102.md?page=2)
