{"id":21825860,"url":"https://github.com/matthew-petrie/shopify-theme-actions","last_synced_at":"2025-07-13T22:06:34.901Z","repository":{"id":36953931,"uuid":"374286533","full_name":"matthew-petrie/shopify-theme-actions","owner":"matthew-petrie","description":"A set of GitHub Actions enabling fast Shopify theme development workflows.","archived":false,"fork":false,"pushed_at":"2023-03-06T03:40:56.000Z","size":12238,"stargazers_count":31,"open_issues_count":18,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-20T05:52:10.444Z","etag":null,"topics":["actions","ecommerce","ecommerce-website","github-actions","shopify","shopify-partners","shopify-theme"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/matthew-petrie.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-06-06T06:35:49.000Z","updated_at":"2025-06-18T20:27:53.000Z","dependencies_parsed_at":"2025-04-14T14:16:42.202Z","dependency_job_id":null,"html_url":"https://github.com/matthew-petrie/shopify-theme-actions","commit_stats":{"total_commits":131,"total_committers":4,"mean_commits":32.75,"dds":0.549618320610687,"last_synced_commit":"c0b85888a924e5cf80c4100aeff3def2d2757817"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/matthew-petrie/shopify-theme-actions","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthew-petrie%2Fshopify-theme-actions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthew-petrie%2Fshopify-theme-actions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthew-petrie%2Fshopify-theme-actions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthew-petrie%2Fshopify-theme-actions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matthew-petrie","download_url":"https://codeload.github.com/matthew-petrie/shopify-theme-actions/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthew-petrie%2Fshopify-theme-actions/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265212407,"owners_count":23728529,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["actions","ecommerce","ecommerce-website","github-actions","shopify","shopify-partners","shopify-theme"],"created_at":"2024-11-27T18:02:52.883Z","updated_at":"2025-07-13T22:06:34.805Z","avatar_url":"https://github.com/matthew-petrie.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Shopify Theme Actions\n\n![GitHub](https://img.shields.io/github/license/matthew-petrie/shopify-theme-actions?style=plastic)\n\nA set of GitHub Actions to enable fast Shopify theme development/review workflows, options:\n\n1. Create \u0026 deploy a PR specific preview theme when a PR is opened/updated\n2. Remove the PR specific preview theme once the PR is closed\n3. Deploy a specified theme when a PR is opened/updated\n4. Deploy to a specified Shopify theme once commits are pushed into a branch i.e. deploy to production\n\n![Shopify Theme Actions Deployment PR Comment](shopify-theme-actions-screenshot.jpg)\n\n#### PR Comments\n\nAfter any deployment, if `GITHUB_TOKEN` is set \u0026 the deployment was triggered by a PR, a comment will be added to the PR with a link to view the Shopify theme preview (as above).\n\n## Get Started\n\n- Create a [Shopify Private App](https://help.shopify.com/en/manual/apps/private-apps#generate-credentials-from-the-shopify-admin) with the permissions `Themes: Read and write`.\n- Add the Shopify Private App credentials as the Github secrets; `SHOPIFY_PASSWORD`, `SHOPIFY_API_KEY` and `SHOPIFY_STORE_URL` (i.e. `mystore.myshopify.com`)\n- If you do not have the folders already create a `.github` folder with a `workflows` folder inside\n- within this `./github/workflows/` folder add any of the below theme development/review workflows; When a:\n\n1. [PR is opened/updated create and deploy a PR specific Shopify theme](./exampleWorkflows/createPullRequestSpecificPreview.yml)\n\n2. [PR is closed remove the previously created PR specific Shopify theme](./exampleWorkflows/removePullRequestSpecificPreview.yml)\n\n3. [PR is opened/updated deploy to a specified theme i.e. testing/staging theme](./exampleWorkflows/deployPullRequstToSpecificTheme.yml)\n4. [commmit is pushed to the `main` branch deploy to production](./exampleWorkflows/deployToProduction.yml)\n\n## Requirements\n\nRequires a Shopify Private App to be created with the permissions: `Themes: Read and write`\n\n## Inputs\n\nGithub action inputs:\n\n**`ACTION`** _required_\n\n1. `DEPLOYMENT_PREVIEW`  \n   Creates a new Shopify theme for each PR raised. If a PR specific theme already exists it will be updated (i.e. on a `git push` after the PR was created).\n\n2. `REMOVE_DEPLOYMENT_PREVIEW_THEME`  \n   Removes a previously created PR specific Shopify theme that was created when `ACTION` was set to `DEPLOYMENT_PREVIEW`\n\n3. `DEPLOY`  \n   Deploys to the specified Shopify theme, useful for defined `testing`/`staging`/`production` themes. `SHOPIFY_THEME_ID` must be set.  \n   _If deploying to the live Shopify stores theme make sure to set `SHOPIFY_ALLOW_LIVE_THEME_DEPLOYMENT` to `true`_\n\n**`SHOPIFY_STORE_URL`** _required_  \nThe shopify development store i.e. my-store.myshopify.com  \n_Should be stored as a GitHub secret!_\n\n**`SHOPIFY_PASSWORD`** _required_  \nThe Shopify store's private app password used with themekit  \n_Should be stored as a GitHub secret!_\n\n**`SHOPIFY_API_KEY`** _required_  \nThe Shopify store's private app API Key to allow theme creation and removal  \n_Should be stored as a GitHub secret!_\n\n**`SHOPIFY_THEME_DIRECTORY`** _required_  \nThe directory containing the Shopify theme to deploy i.e. `./dist`\n\n**`SHOPIFY_THEME_ID`** _optional_  \nThe Shopify theme that will be deployed to (only used if 'ACTION' is 'DEPLOY')\n\n**`SHOPIFY_ALLOW_LIVE_THEME_DEPLOYMENT`** _optional_  \nIf deploying to a 'live' (published) Shopify theme this must be set to `true`\n\n**`IGNORED_FILES`** _optional_  \n[Ignore files pattern](https://shopify.dev/themes/tools/theme-kit/configuration-reference#ignore-patterns). Comma seperated string of patterns / file paths.\n\n**`GITHUB_TOKEN`** _optional_  \nGithub authentication token that allows comments to be created on PRs.  \n_If not set comments cannot be created on PRs and previously created PR specific Shopify themes cannot be removed._\n\n## Outputs\n\nGithub action outputs (can be used in following steps):\n\n**`SHOPIFY_THEME_ID`**  \nThe newly created/found/supplied Shopify theme id\n\n**`SHOPIFY_THEME_PREVIEW_URL`**  \nThe URL the theme can be previewed at\n\n## License\n\nShopify Theme Actions is [MIT licensed](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatthew-petrie%2Fshopify-theme-actions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatthew-petrie%2Fshopify-theme-actions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatthew-petrie%2Fshopify-theme-actions/lists"}