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.
Supported frameworks
Section titled “Supported frameworks”The wizard auto-detects these static site generators by scanning your repository for configuration files and package.json dependencies:
| Framework | Detection | Build command | Output directory |
|---|---|---|---|
| Next.js | next.config.* | npm run build | out |
| Nuxt | nuxt.config.* | npm run generate | .output/public |
| Gatsby | gatsby-config.* | npm run build | public |
| Hugo | hugo.toml, config.* | hugo --minify | public |
| Jekyll | _config.yml | bundle exec jekyll build | _site |
| Astro | astro.config.* | npm run build | dist |
| Eleventy | .eleventy.js, eleventy.config.* | npm run build | _site |
| VitePress | .vitepress/config.* | npm run docs:build | .vitepress/dist |
| MkDocs | mkdocs.yml | mkdocs build | site |
| Docusaurus | docusaurus.config.* | npm run build | build |
| Vite | vite.config.* | npm run build | dist |
Import a static site
Section titled “Import a static site”- In the Quant dashboard, go to Projects → New Project
- Select Import from GitHub
- Select your GitHub installation — if you have multiple, choose the account that owns the repository
- Choose a repository — browse or search your repositories and select the one to import
- 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)
- 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.
Review the pull request
Section titled “Review the pull request”The generated PR includes:
- A
.github/workflows/deploy.ymlfile 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.
Import a cloud application
Section titled “Import a cloud application”For repositories that contain a docker-compose.yml:
- In the Quant dashboard, go to Cloud Apps → New → Import from GitHub
- Select your GitHub installation and choose a repository
- The wizard detects your
docker-compose.ymland extracts the service configuration - Review the configuration — application name, services detected, build contexts
- 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 generated workflow
Section titled “The generated workflow”Static site workflow
Section titled “Static site workflow”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.
Cloud application workflow
Section titled “Cloud application workflow”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 }}Customising after import
Section titled “Customising after import”Common changes you might make to the generated workflow:
Change the Node.js version
Section titled “Change the Node.js version”- name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '22' # Update from default 20Add environment variables
Section titled “Add environment variables”- name: Build run: npm run build env: SITE_URL: https://example.com API_KEY: ${{ secrets.MY_API_KEY }}Add a test step
Section titled “Add a test step”- name: Run tests run: npm test
- name: Build run: npm run buildDeploy multiple branches
Section titled “Deploy multiple branches”Add additional branches to the trigger and use environment-specific secrets:
on: push: branches: - main - stagingSee Deploy from GitHub for a complete multi-branch example.
Next steps
Section titled “Next steps”- Add a custom domain — Point your domain to your new site
- Deploy via CI/CD — More advanced CI/CD configuration
- Framework guides — Framework-specific tips and troubleshooting