buildAndRelease.yml 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. name: Build, Test, and Docker Push
  2. on:
  3. push:
  4. branches: [ main ]
  5. jobs:
  6. build:
  7. runs-on: ubuntu-latest
  8. steps:
  9. - name: Checkout code
  10. uses: actions/checkout@v3
  11. - name: Set up Node.js
  12. uses: actions/setup-node@v3
  13. with:
  14. node-version: '20.9.0'
  15. - name: Install dependencies
  16. run: npm install
  17. - name: Build the application
  18. run: npm run build
  19. docker:
  20. runs-on: ubuntu-latest
  21. needs: build
  22. steps:
  23. - name: Checkout code
  24. uses: actions/checkout@v3
  25. - name: Set up Docker Buildx
  26. uses: docker/setup-buildx-action@v2
  27. - name: Log in to Docker Hub
  28. uses: docker/login-action@v2
  29. with:
  30. username: ${{ secrets.DOCKER_USERNAME }}
  31. password: ${{ secrets.DOCKER_TOKEN }}
  32. - name: Build and push multi-platform Docker images
  33. run: |
  34. docker buildx create --use
  35. docker buildx build --platform linux/amd64,linux/arm64 -t lhamacorp/oquokka-fe:latest . --push