Merge pull request #25 from ElfenB:fix-database-location #26
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release | |
on: | |
push: | |
branches: | |
- main | |
jobs: | |
check-env: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check Environment Variables | |
run: | | |
if [ -z "${{ secrets.VITE_AUTH0_CLIENT_ID_WEB }}" ]; then | |
echo "VITE_AUTH0_CLIENT_ID_WEB is not set" | |
exit 1 | |
fi | |
if [ -z "${{ secrets.VITE_AUTH0_DOMAIN }}" ]; then | |
echo "VITE_AUTH0_DOMAIN is not set" | |
exit 1 | |
fi | |
if [ -z "${{ secrets.POSTGRES_PASSWORD }}" ]; then | |
echo "POSTGRES_PASSWORD is not set" | |
exit 1 | |
fi | |
deploy-database: | |
needs: check-env | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Create .env file | |
run: | | |
echo "POSTGRES_PASSWORD=${{ secrets.POSTGRES_PASSWORD }}" > .env | |
- name: Deploy Database | |
run: docker compose -f postgres/docker-compose.yaml up -d | |
release: | |
needs: check-env | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version-file: ".nvmrc" | |
- name: Install Dependencies | |
run: npm clean-install | |
- name: Semantic-Release | |
run: npm run release | |
migrate-db: | |
needs: [release, deploy-database] | |
runs-on: self-hosted | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Create .env file | |
run: | | |
echo "DATABASE_URL=postgresql://postgres:${{ secrets.POSTGRES_PASSWORD }}@localhost:5432/postgres?schema=jobber" > .env | |
- name: Migrate Database | |
run: npm run migrate | |
deploy: | |
needs: migrate-db | |
runs-on: self-hosted | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Create .env file | |
run: | | |
echo "VITE_AUTH0_CLIENT_ID_WEB=${{ secrets.VITE_AUTH0_CLIENT_ID_WEB }}" > .env | |
echo "VITE_AUTH0_DOMAIN=${{ secrets.VITE_AUTH0_DOMAIN }}" >> .env | |
- name: Deploy | |
run: | | |
docker compose up -d --build |