OxyPages

How Do I Deploy From GitHub?

Add the OxyPages deploy action to your repository and every push republishes your site automatically. It runs your build, zips the output and uploads it in one step. Works on every plan, including Free.

Updated

If your site lives in a GitHub repository, you can have every push republish it. There is nothing to connect on our side: we never see your repository. Your own workflow builds the site and sends us the result.

Set It Up

  1. Create an API key and add it to your repository as a secret named OXYPAGES_API_KEY, under Settings, Secrets And Variables, Actions
  2. Add your site id as a repository variable named OXYPAGES_SITE_ID. It is not a secret, so it does not need to be one
  3. Add this workflow:
name: Deploy
on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: oxypages/deploy-action@v1
        with:
          api-key: ${{ secrets.OXYPAGES_API_KEY }}
          site-id: ${{ vars.OXYPAGES_SITE_ID }}

That is it. Push to main and the site updates.

With A Build Step

For a site that compiles first, point the action at your build and its output folder:

      - uses: oxypages/deploy-action@v1
        with:
          api-key: ${{ secrets.OXYPAGES_API_KEY }}
          site-id: ${{ vars.OXYPAGES_SITE_ID }}
          build-command: npm run build
          build-dir: ./dist

Dependencies are installed first when a package.json is present. Any framework works, because what reaches us is the finished static output.

What It Skips

node_modules, .git, .github, markdown files, lock files and .env files are left out by default. Override that with the exclude input if you need something different.

What It Gives Back

The step sets outputs later steps can use: site-url, deployment-number, pages, files and bytes. Handy for posting the live link into a pull request comment.

If It Fails

The action checks before uploading and says what is wrong:

  • No index.html at the top of the folder. We serve index.html as the homepage, so point build-dir at the folder that contains it
  • The key does not start with oxy_. The secret is empty or wrong
  • Too large. A ZIP can be up to 100 MB

Every deploy creates a version, so you can still roll back from the dashboard.

Did this answer it? If not, email support@oxypages.com with your website address and what you expected to happen.