Skip to content

Repository files navigation

shipstatic/action-example

Deploy

Example workflows for the ShipStatic GitHub Action — a React + Vite app deployed to action-example.shipstatic.com.

Every one of them writes a summary to its workflow run page — the deployment and its URL, plus the claim link and expiry where the deployment has them. Nothing to configure.

deploy-no-account.yml — Free, No Account Needed

Push to main deploys instantly. No API key, no sign-up, no configuration — the site is public and expires, and the run's summary shows the exact date beside a claim link that keeps it.

name: Deployon:
push:
branches: [main]jobs:
deploy:
runs-on: ubuntu-lateststeps:
- uses: actions/checkout@v7
- run: npm ci && npm run build
- uses: shipstatic/action@v2with:
path: ./dist

deploy-api-key.yml — Free API Key

Push to main deploys permanently. Get a free API key at my.shipstatic.com/api-key and add it as a SHIP_TOKEN secret.

name: Deployon:
push:
branches: [main]permissions:
contents: readjobs:
deploy:
runs-on: ubuntu-lateststeps:
- uses: actions/checkout@v7
- run: npm ci && npm run build
- uses: shipstatic/action@v2with:
token: ${{ secrets.SHIP_TOKEN }}path: ./dist

deploy-domain.yml — Free API Key + Custom Domain

Push to main deploys permanently and links a custom domain. Set a DOMAIN variable with your domain name (Settings > Variables > Actions).

name: Deployon:
push:
branches: [main]permissions:
contents: readjobs:
deploy:
runs-on: ubuntu-lateststeps:
- uses: actions/checkout@v7
- run: npm ci && npm run build
- uses: shipstatic/action@v2with:
token: ${{ secrets.SHIP_TOKEN }}path: ./distdomain: ${{ vars.DOMAIN }}

preview-pr.yml — PR Preview

Every pull request gets a preview deploy, with the URL posted as a comment that updates in place on every push rather than adding a new one. Works without an API key — the preview expires on its own, and the comment shows the exact date beside the claim link that keeps it.

name: Previewon: pull_requestpermissions:
contents: readpull-requests: writejobs:
preview:
runs-on: ubuntu-lateststeps:
- uses: actions/checkout@v7
- run: npm ci && npm run build
- uses: shipstatic/action@v2with:
path: ./dist

deploy-password.yml — Password-Protected Deploy

Push to main deploys with an unlock prompt — visitors enter the password before viewing. Works on any tier (no API key required). Set a SHIP_PASSWORD secret (6–128 characters) and share it out-of-band with the people who should see the site.

name: Deployon:
push:
branches: [main]jobs:
deploy:
runs-on: ubuntu-lateststeps:
- uses: actions/checkout@v7
- run: npm ci && npm run build
- uses: shipstatic/action@v2with:
path: ./distpassword: ${{ secrets.SHIP_PASSWORD }}

See the action documentation for all inputs, outputs, and options.

About

Example: deploy a React app to ShipStatic with GitHub Actions

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages