garnix-io / issues

Public issue tracker for garnix.io
15 stars 0 forks source link

Disable garnix on non-`master` branches #86

Closed srid closed 7 months ago

srid commented 7 months ago

Can this be made possible?

https://garnix.io/docs/yaml_config makes no mention of it.

I want garnix to run only on master branch.

alexdavid commented 7 months ago

Hi, thanks for the report!

We've added the ability to filter builds by branch.

You can add a branch key as a sibling to include and exclude like so:

builds:
  include:
    - "packages.*.*"
  exclude: []
  branch: master

The above config will only build packages on the master branch.

Also, builds can now be an array of rules, each one applies include/exclude rules as before, but the union of matching packages will be built. For example:

builds:
  - include:
      - "packages.*.*"
    exclude:
      - "packages.*.pkgA"
    branch: main

  - include:
      - "packages.*.*"
    exclude:
      - "packages.*.pkgB"
    branch: production

  - include:
      - "checks.*.*"

With the above config, commits pushed to main will build all packages except pkgA, commits pushed to production will build all packages except pkgB, and all commits regardless of branch will build all checks.

The documentation doesn't reflect these changes yet while we try it out, but we will update it soon.

srid commented 7 months ago

Great, works! I just use garnix to build master branch packages now, while everything else is built by nixci (due to garnix not having #61).

https://github.com/srid/nixci/pull/47