Skip to content

Commit

Permalink
Setup Render CI for staging
Browse files Browse the repository at this point in the history
  • Loading branch information
samtay committed Jul 7, 2024
1 parent 16ecb59 commit a38888c
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 4 deletions.
65 changes: 61 additions & 4 deletions .github/workflows/staging.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
name: Deploy Migrations to Staging
name: Deploy to Staging

permissions:
contents: write

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

on:
push:
Expand All @@ -14,13 +21,63 @@ jobs:
SUPABASE_ACCESS_TOKEN: ${{ secrets.SUPABASE_ACCESS_TOKEN }}
SUPABASE_DB_PASSWORD: ${{ secrets.STAGING_DB_PASSWORD }}
SUPABASE_PROJECT_ID: ${{ secrets.STAGING_PROJECT_ID }}
SUPABASE_API_URL: "https://${{ secrets.STAGING_PROJECT_ID }}.supabase.co"
SUPABASE_ANON_KEY: ${{ secrets.STAGING_ANON_KEY }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Install npm
uses: actions/setup-node@v4

# Install Rust with the `rust-toolchain` action.
- name: Install Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
targets: wasm32-unknown-unknown

# Use another action to cache our files when possible.
- uses: Swatinem/rust-cache@v2
with:
cache-all-crates: "true"
save-if: ${{ github.ref == 'refs/heads/develop' }}

# Install a tool that makes it quicker to install other tools.
- uses: cargo-bins/cargo-binstall@main

# Install the Dioxus CLI
- name: Install Dioxus
run: cargo binstall dioxus-cli -y --force

# Compile CSS
- name: Compile css
working-directory: app
run: npx tailwindcss --minify --input ./input.css --output ./assets/tailwind.css

# Build our Dioxus app in release.
- name: Build app
working-directory: app
run: dx build --release --platform web --features web

# Create our required `404.html` page.
- name: Create 404.html
working-directory: app
run: cp dist/index.html dist/404.html

- uses: supabase/setup-cli@v1
with:
version: latest

- run: supabase link --project-ref $SUPABASE_PROJECT_ID
- run: supabase db push
- name: "Deploy migrations to staging"
run: supabase db push

# Now we call for another GitHub action to run. This action copies our
# built site and pushes it to our `gh-pages` branch.
- name: Deploy app to Render
uses: JamesIves/[email protected]
with:
branch: static-develop # The branch we have GitHub pages setup in.
folder: app/dist # The folder we want to copy to the `gh-pages` branch.
target-folder: . # The destination we want our files copied to. In this case, we want them to be a the root level.
clean: true
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,9 @@ See

### todo

- [ ] Edit `staging.yaml` to build staging and deploy to static branch
- [ ] Push `develop` to push staging
- [ ] Update `production.yaml` to match staging once working.
- [ ] Need outer "courses" to order packs.
- [ ] Make `app` the root package of the workspace? Then don't need to specify `-p` and probably works better with `dx`
- [ ] Buy birdtalk.xyz
Expand Down

0 comments on commit a38888c

Please sign in to comment.