GitHub Action for ShipStatic — deploy static websites, landing pages, and prototypes instantly from CI.
name: Deploy
on: push
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci && npm run build
- uses: shipstatic/action@v1
with:
path: ./distYour site is live instantly on *.shipstatic.com. No API key, no sign-up, no configuration.
Deployments without an API key are public and expire in 3 days. The claim output contains a URL to keep the site permanently.
Add github-token: ${{ secrets.GITHUB_TOKEN }} to post the URL as a PR comment and track deployments in the repo sidebar.
For permanent deployments and full control over your sites and domains, get a free API key from my.shipstatic.com/api-key:
- Get a free key at my.shipstatic.com/api-key
- Add it as a repository secret named
SHIP_API_KEY(Settings > Secrets and variables > Actions)
name: Deploy
on:
push:
branches: [main]
pull_request:
permissions:
contents: read
deployments: write
pull-requests: write
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci && npm run build
- uses: shipstatic/action@v1
with:
api-key: ${{ secrets.SHIP_API_KEY }}
path: ./dist
domain: www.example.com
github-token: ${{ secrets.GITHUB_TOKEN }}| Input | Required | Default | Description |
|---|---|---|---|
api-key |
No | — | ShipStatic API key for permanent deployments |
path |
No | . |
Directory to deploy |
domain |
No | — | Domain to link (requires api-key) |
github-token |
No | — | GitHub token for PR comments and deployment tracking |
The github-token input enables two features:
- PR comments — posts the deployment URL as a comment on pull requests
- GitHub Deployments — creates deployment objects visible in the repo sidebar
Use the automatic ${{ secrets.GITHUB_TOKEN }} — no extra secrets needed. Your workflow needs these permissions:
permissions:
contents: read
deployments: write
pull-requests: write| Output | Description |
|---|---|
id |
Deployment ID (e.g. happy-cat-abc1234.shipstatic.com) |
url |
Deployment URL (e.g. https://happy-cat-abc1234.shipstatic.com) |
claim |
Claim URL for public deployments (visit to keep permanently) |
Four copy-pasteable workflows in the action-example repo:
deploy-no-account.yml— deploy on push, no account neededdeploy-api-key.yml— permanent deploy with API keydeploy-domain.yml— permanent deploy with custom domainpreview-pr.yml— preview deploy on pull request
MIT