{"data":{"slug":"jamesives-github-pages-deploy-action","name":"github-pages-deploy-action","tagline":"Automatically deploy projects to GitHub Pages using GitHub Actions","github_url":"https://github.com/JamesIves/github-pages-deploy-action","owner":"JamesIves","repo":"github-pages-deploy-action","owner_avatar_url":"https://avatars.githubusercontent.com/u/10888441?v=4","primary_language":"TypeScript","stars":4606,"forks":439,"topics":["action","actions","cicd","continuous-delivery","continuous-deployment","continuous-integration","deploy","deployer","deployment","gh-pages","ghpages","github-action","github-actions","github-enterprise","github-pages","hacktoberfest","static","workflow","workflow-configuration","workflow-runs"],"archived":false,"github_pushed_at":"2026-09-14T20:00:31+00:00","maintenance_label":"Very active","stars_delta_30d":9,"url":"https://www.graphcanon.com/tools/jamesives-github-pages-deploy-action","markdown_url":"https://www.graphcanon.com/tools/jamesives-github-pages-deploy-action.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/jamesives-github-pages-deploy-action","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=jamesives-github-pages-deploy-action","description":"🚀 Automatically deploy your project to GitHub Pages using GitHub Actions. This action can be configured to push your production-ready code into any branch you'd like.","homepage_url":"https://github.com/marketplace/actions/deploy-to-github-pages","license":"MIT","open_issues":3,"watchers":15,"ai_summary":"This repository offers a GitHub Action that enables automatic deployment of production-ready code to any specified branch via GitHub Pages.","readme_excerpt":"## Getting Started :airplane:\n\nYou can include the action in your workflow to trigger on any event that [GitHub actions supports](https://help.github.com/en/articles/events-that-trigger-workflows). If the remote branch that you wish to deploy to doesn't already exist the action will create it for you. Your workflow will also need to include the `actions/checkout` step before this workflow runs in order for the deployment to work. If you intend to make multiple deployments in quick succession [you may need to leverage the concurrency parameter in your workflow](https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#concurrency) to prevent overlaps.\n\nYou can view an example of this below.\n\n```yml\nname: Build and Deploy\non: [push]\npermissions:\n  contents: write\njobs:\n  build-and-deploy:\n    concurrency: ci-${{ github.ref }} # Recommended if you intend to make multiple deployments in quick succession.\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout 🛎️\n        uses: actions/checkout@v6\n\n      - name: Install and Build 🔧 # This example project is built using npm and outputs the result to the 'build' folder. Replace with the commands required to build your project, or remove this step entirely if your site is pre-built.\n        run: |\n          npm ci\n          npm run build\n\n      - name: Deploy 🚀\n        uses: JamesIves/github-pages-deploy-action@v4\n        with:\n          folder: build # The folder the action should deploy.\n```\n\n> [!NOTE]\n> You must configure your repository to deploy from the branch you push to. To do this, go to your repository settings, click on `Pages`, and choose `Deploy from a Branch` from the `Source` dropdown. From there select the branch you supplied to the action. In most cases this will be `gh-pages` as that's the default.\n\nIf you'd like to make it so the workflow only triggers on push events to specific branches then you can modify the `on` section.\n\n```yml\non:\n  push:\n    branches:\n      - main\n```\n\n> [!WARNING]\n> If you do not supply the action with an access token or an SSH key, you must access your repositories settings and provide `Read and Write Permissions` to the provided `GITHUB_TOKEN`, otherwise you'll potentially run into permission issues. Alternatively you can set the following in your workflow file to grant the action the permissions it needs.\n\n```yml\npermissions:\n  contents: write\n```","github_created_at":"2019-03-02T16:04:49+00:00","created_at":"2026-07-15T10:47:20.647596+00:00","updated_at":"2026-09-20T04:27:11.780944+00:00","categories":[{"slug":"developer-tools","name":"Developer Tools","url":"https://www.graphcanon.com/categories/developer-tools","markdown_url":"https://www.graphcanon.com/categories/developer-tools.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/developer-tools"}],"tags":[{"slug":"action","name":"action"},{"slug":"actions","name":"actions"},{"slug":"cicd","name":"cicd"},{"slug":"continuous-delivery","name":"continuous-delivery"},{"slug":"continuous-deployment","name":"continuous-deployment"},{"slug":"continuous-integration","name":"continuous-integration"},{"slug":"deploy","name":"deploy"},{"slug":"deployer","name":"deployer"}],"trust":{"provenance":{"is_fork":false,"github_id":173468816,"owner_type":"User","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-09-15T06:00:47.542Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":1,"days_since_push":0,"last_release_at":"2026-08-08T15:55:31Z","stars_delta_30d":9,"open_issues_delta_30d":3},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-15T10:47:21.959Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"mcp":{"source":"repo_scan","observed_at":"2026-09-15T06:00:48.003Z","server_manifest":false},"scan":{"source":"repo_scan","observed_at":"2026-09-15T06:00:48.003Z"},"languages":{"value":["typescript","javascript"],"source":"github.language+package.json","observed_at":"2026-09-15T06:00:48.003Z"},"license_spdx":{"value":"MIT","source":"github.license","observed_at":"2026-09-15T06:00:48.003Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":{"notes":["Your repository must be configured with 'Read and Write Permissions' for the GITHUB_TOKEN or have an access token/SSH key provided in the workflow file.","The action requires you to include the `actions/checkout` step before running the deploy action, as well as configure your Pages branch settings properly."],"requires_docker":false},"constraints":{"requires_docker":false},"when_to_use":["If you need precise control over the branch where your project will be deployed, since this action allows you to specify any branch for deployment.","For projects that require a pre-built folder as input and benefit from automation using TypeScript scripts for CI/CD processes."],"when_not_to_use":["When looking for a more complex deployment configuration than GitHub Pages offers, such as multi-service orchestration or advanced environment management.","If your project does not fit well with the default branch naming conventions (like gh-pages), and you do not wish to configure alternative branches manually."],"source":"enrich:decision_facts","observed_at":"2026-07-16T21:04:44.890Z"},"constraint_facets":{"requires_docker":false},"decision_summary":[{"label":"Requirements","value":"Your repository must be configured with 'Read and Write Permissions' for the GITHUB_TOKEN or have an access token/SSH key provided in the workflow file.; The action requires you to include the `actions/checkout` step before running the deploy action, as well as configure your Pages branch settings properly."},{"label":"Adopt for","value":"github-pages-deploy-action is an automation tool enabling deployment of production code to GitHub Pages via specified workflows in your repository."},{"label":"License detail","value":"The tool is open-source under the MIT License, allowing free use for both personal and commercial projects without the need to share derivative source code."}]}}