[ ๐—ค๐˜‚๐—ฒ๐˜€๐˜๐—ถ๐—ผ๐—ป ] GitHub Integration + Root Property

The .theme-check.yml file allows you to
specify a root folder for the theme files ,
however the GitHub integration doesnโ€™t
seem to use it and fails with the generic
Branch isnโ€™t a valid theme message.

While I can share & push via the theme
command , that isnโ€™t exactly optimal.

The integration doesnโ€™t have any options ,
error log or config files as far as I could see.

Am I missing something?

:wave: Hi @John, thanks for your question!

Unfortunately you are unable to use the .theme-check.yml file to customize the root folder for theme files with the GitHub integration. This is specified in the docs:

You can connect only branches that match the default Shopify theme folder structure. This structure represents a buildless theme, or a theme that has already gone through any necessary file transformations.
Folders in the repository that donโ€™t match the default theme structure are ignored.

You will need to reorganize a branch of your repository to match the expected folder structure in order to use the GitHub integration. I hope this helps :pray:

Are there any plans to have the integration support the property in the future?

Same question for monorepo + multi-theme support

The integration code isnโ€™t a public GitHub repo of the Shopify org is it?

There are no current plans to add support for custom repository structures/monorepo support, but I will be sure to raise it with the team as a feature request!

The integration code isnโ€™t a public GitHub repo of the Shopify org is it?

Unfortunately no, it is not.

1 Like

Hi @John, depending on what you mean by a monorepo + multi-theme support, I may have a solution for you.

With the Shopify CLI itโ€™s relatively straightforward to replace the GitHub Integration with GitHub Actions. This will give you complete control over how commands are run.

Here is a set of example workflows to replicate what the GitHub integration does.

You donโ€™t need to use Shopkeeper to use the listed GitHub Actions. They can be adapted to use plain Shopify CLI commands. Shopkeeper is helpful if you want to use a blue/green deploy strategy or if you want to separate theme settings from theme code.

One repository with subdirectories each
of which may contain a different theme.

Doesnโ€™t sound like an option regardless as this wouldnโ€™t
allow for instant Shopify side updates to theme files?

Instant updates are not possible because there is no webhook Iโ€™m aware of to know when a asset is changed.

You can poll, though. This is the strategy we employ on our projects for settings. You can setup a GitHub action to run on a cron pattern and you can use the CLI to decide what you pull down.

Not an option for us then.