* Always run yarn only on build platform with --platform=$BUILDPLATFORM * Remove optional dependencies (playwright + chromium) from build with --ignore-optional and move some devDependencies to be optional * Disable husky pre-commit hook checks on frontend Co-authored-by: sua yoo <sua@suayoo.com>
		
			
				
	
	
		
			78 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| name: "*** Deploy to Dev Cluster ***"
 | |
| 
 | |
| on:
 | |
|   workflow_dispatch:
 | |
| 
 | |
| jobs:
 | |
|   build_do_images:
 | |
|     runs-on: ubuntu-latest
 | |
|     steps:
 | |
|       - name: Checkout
 | |
|         uses: actions/checkout@v3
 | |
| 
 | |
|       - name: Set up Docker Buildx
 | |
|         uses: docker/setup-buildx-action@v2
 | |
|         with:
 | |
|           driver-opts: network=host
 | |
| 
 | |
|       - name: Login to Regsitry
 | |
|         uses: docker/login-action@v2
 | |
|         with:
 | |
|           registry: ${{ secrets.DO_REGISTRY }}
 | |
|           username: ${{ secrets.DO_API_TOKEN }}
 | |
|           password: ${{ secrets.DO_API_TOKEN }}
 | |
| 
 | |
|       -
 | |
|         name: Set Env Vars
 | |
|         run: |
 | |
|           echo VERSION=`cat version.txt` >> $GITHUB_ENV
 | |
|           echo GIT_COMMIT_HASH=`git rev-parse --short HEAD` >> $GITHUB_ENV
 | |
|           echo GIT_BRANCH_NAME=`git rev-parse --abbrev-ref HEAD` >> $GITHUB_ENV          
 | |
| 
 | |
|       - name: Build Backend
 | |
|         uses: docker/build-push-action@v3
 | |
|         with:
 | |
|           context: backend
 | |
|           push: true
 | |
|           tags: ${{ secrets.DO_REGISTRY_PATH }}/webrecorder/browsertrix-backend:latest
 | |
|           cache-from: type=gha,scope=backend
 | |
|           cache-to: type=gha,scope=backend,mode=max
 | |
| 
 | |
|       - name: Build Frontend
 | |
|         uses: docker/build-push-action@v3
 | |
|         env:
 | |
|           HUSKY: 0
 | |
|         with:
 | |
|           context: frontend
 | |
|           push: true
 | |
|           build-args: |
 | |
|             VERSION=${{ env.VERSION }}
 | |
|             GIT_COMMIT_HASH=${{ env.GIT_COMMIT_HASH }}
 | |
|             GIT_BRANCH_NAME=${{ env.GIT_BRANCH_NAME }}            
 | |
| 
 | |
|           tags: ${{ secrets.DO_REGISTRY_PATH }}/webrecorder/browsertrix-frontend:latest
 | |
|           cache-from: type=gha,scope=frontend
 | |
|           cache-to: type=gha,scope=frontend,mode=max
 | |
| 
 | |
|       - name: Get Kubeconfig
 | |
|         env:
 | |
|           KUBECONFIG_DATA: ${{ secrets.KUBECONFIG_DATA }}
 | |
|           DEV_VALUES: ${{ secrets.DEV_VALUES }}
 | |
| 
 | |
|         run: |
 | |
|           printf "$KUBECONFIG_DATA" >> ./.kubeconfig
 | |
|           chmod 400 ./.kubeconfig
 | |
|           printf "$DEV_VALUES" >> ./dev-values.yaml          
 | |
| 
 | |
|       - name: Install Kubectl
 | |
|         uses: azure/setup-kubectl@v3
 | |
| 
 | |
|       - name: Install Helm
 | |
|         uses: azure/setup-helm@v3
 | |
|         with:
 | |
|           version: 3.10.2
 | |
| 
 | |
|       - name: Start Cluster with Helm
 | |
|         run: |
 | |
|           KUBECONFIG=./.kubeconfig helm upgrade --install -f ./chart/values.yaml -f ./dev-values.yaml btrix ./chart/          
 |