Forcing a project to be run on linux

Hi, I’m currently building a command line tool in swift (without using xcode) and has just set up a workflow to run tests, linters and so on.

The problem is that circleci seems to decide that it has to be run on macOS, meaning I cannot run the tests on the free plan.

Is there any way to force linux usage to circumvent this, considering I don’t need macOS to build and test the project?

Update: here is my config file:

environment: &environment
  working_directory: ~/coauthor
  docker:
    - image: norionomura/swift:50

version: 2
jobs:
  test:
    <<: *environment
    steps:
      - checkout
      - run: swift test

  lint:
    <<: *environment
    steps:
      - checkout
      - run: swiftlint

  check_formatted:
    <<: *environment
    steps:
      - checkout
      - run: swiftformat --lint

workflows:
  version: 2
  continious_integration:
    jobs:
      - test
      - lint
      - check_formatted

Can you post your config.yml file to help with debugging this?

Yes, I updated the original post with it. Sorry for not thinking about that in the first place

Can you please send me a link to a build where this config is running a job on a Mac? Email nathan@ (circleci.com)

@ndintenfass It should be in your mailbox now :slight_smile:

Thanks. This does seem to be a bug. I’m working on scope and priority now…

@johantell OK, we have confirmed the cause and will get a more permanent fix in soon. In the mean time you should be able to get unblocked by visiting the legacy settings page that is at: https://circleci.com/gh/[yourorg]/[yourproject]/edit#build-environment and setting the macOS option to “off” (I will send you email with a link to your specific project, but posting this here for others.

1 Like

Awesome, thank you!

This should now be fixed (projects will no longer be errantly flagged to run on macs based on their code at the time the project is added). Please let us know if you see this behavior on any new projects. On old projects you can use the fix above.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.