monacousa-portal/.github/workflows/build.yml

51 lines
1.3 KiB
YAML

name: Build and Deploy
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install dependencies
run: npm ci --legacy-peer-deps
- name: Build
run: npm run build
env:
PUBLIC_SUPABASE_URL: https://api.portal.monacousa.org
PUBLIC_SUPABASE_ANON_KEY: placeholder
SUPABASE_SERVICE_ROLE_KEY: placeholder
- name: Build Docker image
run: |
docker build -t monacousa-portal:${{ gitea.sha }} \
--build-arg PUBLIC_SUPABASE_URL=https://api.portal.monacousa.org \
--build-arg PUBLIC_SUPABASE_ANON_KEY=placeholder \
--build-arg SUPABASE_SERVICE_ROLE_KEY=placeholder \
.
- name: Test container starts
run: |
docker run -d --name test-portal \
-e PUBLIC_SUPABASE_URL=https://api.portal.monacousa.org \
-e PUBLIC_SUPABASE_ANON_KEY=placeholder \
monacousa-portal:${{ gitea.sha }}
sleep 5
docker logs test-portal
docker stop test-portal
docker rm test-portal