Skip to content

Import a repository

Already have a project on GitHub? The import wizard connects your existing repository, auto-detects your framework, and creates a pull request with a deployment workflow — so you can review everything before it goes live.

The wizard auto-detects these static site generators by scanning your repository for configuration files and package.json dependencies:

FrameworkDetectionBuild commandOutput directory
Next.jsnext.config.*npm run buildout
Nuxtnuxt.config.*npm run generate.output/public
Gatsbygatsby-config.*npm run buildpublic
Hugohugo.toml, config.*hugo --minifypublic
Jekyll_config.ymlbundle exec jekyll build_site
Astroastro.config.*npm run builddist
Eleventy.eleventy.js, eleventy.config.*npm run build_site
VitePress.vitepress/config.*npm run docs:build.vitepress/dist
MkDocsmkdocs.ymlmkdocs buildsite
Docusaurusdocusaurus.config.*npm run buildbuild
Vitevite.config.*npm run builddist
  1. In the Quant dashboard, go to ProjectsNew Project
  2. Select Import from GitHub
  3. Select your GitHub installation — if you have multiple, choose the account that owns the repository
  4. Choose a repository — browse or search your repositories and select the one to import
  5. Review detected settings:
    • Framework — auto-detected from your repository files (change manually if incorrect)
    • Build command — the command to build your site
    • Output directory — where built files are written
    • Project name — auto-generated from the repository name
    • Branch — the branch to deploy from (defaults to the repository’s default branch)
  6. Click Create to start the import

The wizard creates your Quant project, sets up GitHub secrets, and opens a pull request in your repository containing the deployment workflow.

The generated PR includes:

  • A .github/workflows/deploy.yml file configured for your framework
  • A description explaining what the workflow does and which secrets were configured
  • The workflow triggers on pushes to your selected branch

Review the PR in GitHub, then merge it to trigger your first deployment.

For repositories that contain a docker-compose.yml:

  1. In the Quant dashboard, go to Cloud AppsNewImport from GitHub
  2. Select your GitHub installation and choose a repository
  3. The wizard detects your docker-compose.yml and extracts the service configuration
  4. Review the configuration — application name, services detected, build contexts
  5. Click Create to start the import

The wizard creates your Quant Cloud application, sets up secrets, and creates a pull request with a workflow that builds and pushes your Docker images to Quant’s container registry.

The workflow created for static sites follows this pattern:

name: Deploy to QuantCDN
on:
push:
branches:
- main
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# Framework-specific setup (e.g., Node.js, Hugo, Ruby)
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build
- name: Deploy to Quant
uses: quantcdn/deploy-action@v6
with:
customer: ${{ vars.QUANT_CUSTOMER }}
project: ${{ vars.QUANT_PROJECT }}
token: ${{ secrets.QUANT_TOKEN }}
dir: dist
- name: Purge cache
uses: quantcdn/purge-action@v6
with:
customer: ${{ vars.QUANT_CUSTOMER }}
project: ${{ vars.QUANT_PROJECT }}
token: ${{ secrets.QUANT_TOKEN }}
url_pattern: "/*"

The exact setup steps, build command, and output directory vary by framework.

For cloud apps, the generated workflow builds Docker images and deploys to Quant Cloud:

name: Deploy to Quant Cloud
on:
push:
branches:
- main
tags:
- '*'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Initialise Quant Cloud
uses: quantcdn/quant-cloud-init-action@v1.1.5
with:
api_key: ${{ secrets.QUANT_API_KEY }}
organization: ${{ vars.QUANT_ORGANIZATION }}
application: ${{ vars.QUANT_APPLICATION }}
# Build and push each service...
- name: Create or update environment
uses: quantcdn/quant-cloud-environment-action@v1.2.1
with:
api_key: ${{ secrets.QUANT_API_KEY }}
organization: ${{ vars.QUANT_ORGANIZATION }}
application: ${{ vars.QUANT_APPLICATION }}

Common changes you might make to the generated workflow:

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22' # Update from default 20
- name: Build
run: npm run build
env:
SITE_URL: https://example.com
API_KEY: ${{ secrets.MY_API_KEY }}
- name: Run tests
run: npm test
- name: Build
run: npm run build

Add additional branches to the trigger and use environment-specific secrets:

on:
push:
branches:
- main
- staging

See Deploy from GitHub for a complete multi-branch example.