Skip to main content

Release (Github Actions)

Setup

Below are the steps to configure the pipelines to create a deployment preview, deploy Supabase edge functions, and create / publish releases.

  1. Create a Netlify site: Add New Site > Manual Deploy
  2. Upload below .zip file to create the website

Download web.zip

  1. (OPTIONAL) Configure a custom domain in Netlify
info

You'd preferably configure a subdomain (e.g. app.devtodollars.com)

  1. Go to page to set Github Action secrets
  2. Create the following secrets:
    1. NETLIFY_AUTH_TOKEN: Follow these steps to obtain auth token
    2. NETLIFY_SITE_ID: Site Configuration > Site details > Site Id
    3. SUPABASE_PROJECT_ID: Project Settings > General Settings > Reference ID
    4. SUPABASE_ACCESS_TOKEN: Create one here

Release Process

For the release process we use semantic versioning and tags for releases. Also, see trunk based development to see

  1. Checkout a new branch in the format (e.g. 1.2.3)
git checkout -b version-1.2.3
  1. Run the bumpversion.sh script and specify the version number
./bumpversion.sh 1.2.3
info

You may need to run chmod +x ./bumpversion.sh to be able to run the bumpversion script. Also this script runs translations so openai costs

  1. Push the new commit created by the bumpversion.sh script and tags to the repository.
git push
git push --tags
  1. Wait for the build to finish running, and a deploy preview should be created. You can test if your flutter changes work.
info

If you made backend changes, they won't be reflected unless you push local changes to prod env and/or deploy the supabase edge functions

  1. Update the release draft notes with the changes you made
  2. Publish the release and set it as latest
warning

When you publish the release, it'll run a pipeline which will deploy the supabase edge functions & set