{"id":42926727,"url":"https://github.com/coderefinery/gh-pages-multibranch","last_synced_at":"2026-01-30T18:10:37.166Z","repository":{"id":75413937,"uuid":"465041914","full_name":"coderefinery/gh-pages-multibranch","owner":"coderefinery","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-31T20:06:33.000Z","size":20,"stargazers_count":0,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-10T04:44:31.046Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"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/coderefinery.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-03-01T20:13:02.000Z","updated_at":"2025-03-31T20:06:27.000Z","dependencies_parsed_at":"2025-09-10T04:10:03.771Z","dependency_job_id":null,"html_url":"https://github.com/coderefinery/gh-pages-multibranch","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/coderefinery/gh-pages-multibranch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderefinery%2Fgh-pages-multibranch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderefinery%2Fgh-pages-multibranch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderefinery%2Fgh-pages-multibranch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderefinery%2Fgh-pages-multibranch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coderefinery","download_url":"https://codeload.github.com/coderefinery/gh-pages-multibranch/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderefinery%2Fgh-pages-multibranch/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28917035,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T16:37:38.804Z","status":"ssl_error","status_checked_at":"2026-01-30T16:37:37.878Z","response_time":66,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2026-01-30T18:10:36.526Z","updated_at":"2026-01-30T18:10:37.161Z","avatar_url":"https://github.com/coderefinery.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# gh-pages-multibranch\n\nThis action allows you to deploy multiple branches in a single github\npages site, by using this arrangement:\n\n```\n/...default branch files...\n/branch/branch1/...branch1 files...\n/branch/other-branch/...other-branch files...\n```\n\n* On each push to the default branch, put the files in ``gh-pages:/``.\n* On pushes to other branches, put the files in\n  ``gh-pages:/branch/BRANCH_NAME/``\n* It does this by extracting the old ``gh-pages`` branch content,\n  removing any outdated content (the old branch or any branches that\n  have been deleted since the last run), and adding in the new\n  content.\n* It doesn't deploy to gh-pages for you (other actions can do that),\n  but it drops the remade files into the given ``directory``\n  * To put this another way: The *directory* action argument contents gets\n    replaced with the multiplexed gh-pages branch content.  You then\n    use a different action to deploy this.\n\n## Usage\n\n```yaml\nname: sphinx\non: [push, pull_request]  # No need to limit to certain branches\njobs:\n  your-job:\n    steps:\n      [ checkout]\n      [ place your built site in ./public ]\n      [ add CNAME if you use it, to autodetect it in the next step ]\n\n      - name: multipages\n        uses: coderefinery/gh-pages-multibranch@main\n        if: ${{ github.event_name == 'push' }}\n        with:\n          directory: public\n      # Remember to not limit your deploy step to the default branch!\n      - name: Deploy\n        uses: peaceiris/actions-gh-pages@v3\n        if: ${{ github.event_name == 'push' }}\n        with:\n          publish_branch: gh-pages\n          github_token: ${{ secrets.GITHUB_TOKEN }}\n          publish_dir: public/\n          force_orphan: true\n```\n\nSurprising points:\n* Make sure you don't limit your workflow to only your default\n  branch.  `on: [push, pull_request]` works fine since other branches\n  won't get published to `/`.\n\n\n## Options\n\nUsed with `with:` as above.\n\n* `directory`: relative path to the directory that contains the HTML\n  site to be multiplexed and published.\n  (The contents are replaced with the multi-branch site - so this\n  directory is both the input to this action, and the input to the\n  action that publishes it to the gh-pages branch)\n* `cname`: this CNAME is used for generating the preview links.  It is\n  tried to be auto-detected from the `directory` by default, if it is\n  already there.  (CNAME is needed since some preview might be\n  ORG.github.io/[repo/] and some might be CNAME.domain/.\n* `default_branch`: The branch name that gets the top-level site.\n  Default `main`.\n* `publish_branch`: The branch to be pushed to for gh-pages, default\n  `gh-pages`.  It is *not* automatically pushed there, you need to\n  publish there in a separate step.  This is used to mix the old and\n  new pages.\n\n## See also\n\n* https://github.com/peaceiris/actions-gh-pages - a good Github Pages\n  publishing action.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoderefinery%2Fgh-pages-multibranch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoderefinery%2Fgh-pages-multibranch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoderefinery%2Fgh-pages-multibranch/lists"}