|
20 | 20 | run: cd course-matrix/frontend && npm install && npm run test |
21 | 21 | - name: Run backend tests |
22 | 22 | run: cd course-matrix/backend && npm install && npm run test |
23 | | - |
24 | | - # Step 2: Set up Docker Buildx (optional for multi-platform support) |
25 | | - - name: Set up Docker Buildx |
26 | | - uses: docker/setup-buildx-action@v2 |
27 | | - |
28 | | - - name: setup application env |
29 | | - run: | |
30 | | - cd course-matrix |
31 | | - |
32 | | - # Update frontend .env |
33 | | - cd frontend |
34 | | - echo "VITE_SERVER_URL=\"http://34.130.253.243:8081\"" > .env && \ |
35 | | - echo "VITE_PUBLIC_ASSISTANT_BASE_URL=\"${{ secrets.VITE_PUBLIC_ASSISTANT_BASE_URL }}\"" >> .env && \ |
36 | | - echo "VITE_ASSISTANT_UI_KEY=\"${{ secrets.VITE_ASSISTANT_UI_KEY }}\"" >> .env |
37 | | - |
38 | | - # Move to backend |
39 | | - cd ../backend |
40 | | - echo "NODE_ENV=\"development\"" > .env && \ |
41 | | - echo "PORT=8081" >> .env && \ |
42 | | - echo "CLIENT_APP_URL=\"http://34.130.253.243:5173\"" >> .env && \ |
43 | | - echo "DATABASE_URL=\"${{ secrets.DATABASE_URL }}\"" >> .env && \ |
44 | | - echo "DATABASE_KEY=\"${{ secrets.DATABASE_KEY }}\"" >> .env && \ |
45 | | - echo "OPENAI_API_KEY=\"${{ secrets.OPENAI_API_KEY }}\"" >> .env && \ |
46 | | - echo "PINECONE_API_KEY=\"${{ secrets.PINECONE_API_KEY }}\"" >> .env && \ |
47 | | - echo "PINECONE_INDEX_NAME=\"course-matrix\"" >> .env && \ |
48 | | - echo "BREVO_API_KEY=\"${{ secrets.BREVO_API_KEY }}\"" >> .env && \ |
49 | | - echo "SENDER_EMAIL=\"${{ secrets.SENDER_EMAIL }}\"" >> .env && \ |
50 | | - echo "SENDER_NAME=\"Course Matrix Notifications\"" >> .env |
51 | | - |
52 | | - cd ../ |
53 | | - |
54 | | - - name: Log in to Docker Hub |
55 | | - uses: docker/login-action@v3 |
56 | | - with: |
57 | | - username: ${{ secrets.DOCKERHUB_USERNAME }} |
58 | | - password: ${{ secrets.DOCKERHUB_TOKEN }} |
59 | | - |
60 | | - # Build and push frontend Docker image |
61 | | - - name: Build Docker Image |
62 | | - run: | |
63 | | - cd course-matrix |
64 | | - docker compose build |
65 | | - |
66 | | - - name: List Docker Images (Debugging) |
67 | | - run: docker images # Check if images exist before tagging |
68 | | - |
69 | | - - name: Tag Images |
70 | | - run: | |
71 | | - docker tag course-matrix/frontend:latest ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-frontend:${{ github.sha }} |
72 | | - docker tag course-matrix/backend:latest ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-backend:${{ github.sha }} |
73 | | -
|
74 | | - # Step 5: Push Docker images to Docker Hub |
75 | | - - name: Push Docker images to Docker Hub |
76 | | - run: | |
77 | | - docker push ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-frontend:latest |
78 | | - docker push ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-frontend:${{ github.sha }} |
79 | | - docker push ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-backend:latest |
80 | | - docker push ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-backend:${{ github.sha }} |
81 | 23 |
|
82 | 24 | deploy: |
83 | 25 | needs: test |
|
0 commit comments