Skip to main content

GitHub Action

This action sets up a genezio environment for using it in actions.


To deploy your project on genezio using GitHub Actions, you have to provide a genezio access token.

Follow these steps to setup a genezio access token to use GitHub Actions:

  • Head to the genezio dashboard to generate a genezio access token.
  • Store the access token as a GitHub secret in your repository. To see how to create an action secret check this tutorial.

In the examples below the secret is referred to as secrets.GENEZIO_TOKEN. Change accordingly for your project.


An example workflow to deploy the backend of your project with the latest version of genezio:

name: genezio workflow
- main

runs-on: ubuntu-latest
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
- uses: Genez-io/genezio-github-action@v1
token: ${{ secrets.GENEZIO_TOKEN }}
- name: Deploy backend
working-directory: ./server
run: genezio deploy

You can test or check logs for the deployed project at

Frontend and backend deployment in different jobs

If you want to deploy the frontend and backend of your project in different jobs, you can use genezio deploy --backend and genezio deploy --frontend commands.

For the frontend deployment, the genezio-generated SDK should be uploaded as an artifact:

# Use this trick to upload the generated SDK as an artifact
# It will be used to deploy the frontend
- uses: actions/upload-artifact@v3
name: genezio-generated-sdk
path: ./client/src/sdk


To find more details on how to use genezio, check out the official documentation:

If you cannot find what you are looking for in the docs, don't hesitate to drop us a GitHub issue or start a discussion on Discord.


Warnings on npm run build are treated as errors:

The following error may occur when running npm run build to build the frontend source code:

Treating warnings as errors because process.env.CI = true.
Most CI servers set it automatically.

Failed to compile.

The solution is to set CI to false in package.json or in your workflow:

- name: Deploy backend
working-directory: ./server
run: genezio deploy
CI: false