Build and Deploy #45
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: Build and Deploy | |
on: | |
# Push includes PR merge | |
push: | |
branches: | |
- main | |
- staging | |
- develop | |
- ci-gh-workflows | |
paths: | |
# Workflow is triggered only if src changes | |
- backend/** | |
- frontend/** | |
# Allow manual trigger | |
workflow_dispatch: | |
jobs: | |
backend-test: | |
uses: naxa-developers/tasking-manager/.github/workflows/test_compose.yml@ci-gh-workflows | |
with: | |
image_name: ghcr.io/${{ github.repository }}/backend | |
pre_command: docker compose --file docker-compose.yml up -d | |
compose_service: tm-backend | |
build_target: prod | |
compose_command: | | |
# pip install flake8 | |
# flake8 manage.py backend migrations | |
# pip install 'black==23.12.1' | |
# black --check manage.py backend migrations | |
curl -i http://localhost:5000/api/v2/ | |
tag_override: ci-${{ github.ref_name }} | |
# coverage: true | |
example_env_file_path: example.env | |
env_file_path: tasking-manager.env | |
secrets: inherit | |
# backend-build: | |
# uses: hotosm/gh-workflows/.github/workflows/[email protected] | |
# with: | |
# context: . | |
# build_target: prod | |
# image_name: ghcr.io/${{ github.repository }}/backend | |
# dockerfile: Dockerfile | |
# scan_image: false | |
# secrets: inherit | |
# frontend-test: | |
# uses: naxa-developers/tasking-manager/.github/workflows/frontend-test.yml@ci-gh-workflows | |
# secrets: inherit | |
# with: | |
# node-version: 16.x | |
# context: ./frontend | |
# cache-key-file: ./frontend/yarn.lock | |
# package-manager: yarn | |
# test_frontend_command: | | |
# CI=true yarn test -w 1 | |
# # test_frontend_build: false | |
# # build_test_frontend_command: | | |
# # CI=true GENERATE_SOURCEMAP=false yarn build | |
# frontend-build: | |
# uses: naxa-developers/tasking-manager/.github/workflows/frontend-build.yml@ci-gh-workflows | |
# secrets: inherit | |
# with: | |
# node-version: 16.x | |
# context: ./frontend | |
# cache-key-file: ./frontend/yarn.lock | |
# package-manager: yarn | |
# build-dist-folder-path: ./frontend/build | |
# frontend-deploy: | |
# runs-on: ubuntu-latest | |
# needs: | |
# - frontend-test | |
# - frontend-build | |
# name: Deploy Frontend Static Files | |
# steps: | |
# - name: Download build artifacts | |
# uses: actions/download-artifact@v4 | |
# with: | |
# name: ${{ needs.frontend-build.outputs.artifact-name }} | |
# path: ./build | |
# - name: Debug check files | |
# run: | | |
# ls -alh | |
# ls -alh build | |
# backend_deploy_to_vm: | |
# name: Deploy Backend to VM | |
# needs: | |
# - backend-test | |
# - backend-build | |
# uses: naxa-developers/tasking-manager/.github/workflows/remote_deploy_compose.yml@ci-gh-workflows | |
# with: | |
# docker_compose_file: docker-compose.yml | |
# environment: ${{ github.ref_name }} | |
# example_env_file_path: example.env | |
# env_file_path: tasking-manager.env | |
# secrets: inherit |