| name: Docker Dev Branch Images Build |
|
|
| on: |
| workflow_dispatch: |
| push: |
| branches: |
| - dev |
| paths: |
| - 'api/**' |
| - 'client/**' |
| - 'packages/**' |
|
|
| jobs: |
| build: |
| runs-on: ubuntu-latest |
| strategy: |
| matrix: |
| include: |
| - target: api-build |
| file: Dockerfile.multi |
| image_name: lc-dev-api |
| - target: node |
| file: Dockerfile |
| image_name: lc-dev |
|
|
| steps: |
| |
| - name: Checkout |
| uses: actions/checkout@v4 |
|
|
| |
| - name: Set up QEMU |
| uses: docker/setup-qemu-action@v3 |
|
|
| |
| - name: Set up Docker Buildx |
| uses: docker/setup-buildx-action@v3 |
|
|
| |
| - name: Log in to GitHub Container Registry |
| uses: docker/login-action@v2 |
| with: |
| registry: ghcr.io |
| username: ${{ github.actor }} |
| password: ${{ secrets.GITHUB_TOKEN }} |
|
|
| |
| - name: Login to Docker Hub |
| uses: docker/login-action@v3 |
| with: |
| username: ${{ secrets.DOCKERHUB_USERNAME }} |
| password: ${{ secrets.DOCKERHUB_TOKEN }} |
|
|
| |
| - name: Prepare environment |
| run: | |
| cp .env.example .env |
| |
| |
| - name: Build and push Docker images |
| uses: docker/build-push-action@v5 |
| with: |
| context: . |
| file: ${{ matrix.file }} |
| push: true |
| tags: | |
| ghcr.io/${{ github.repository_owner }}/${{ matrix.image_name }}:${{ github.sha }} |
| ghcr.io/${{ github.repository_owner }}/${{ matrix.image_name }}:latest |
| ${{ secrets.DOCKERHUB_USERNAME }}/${{ matrix.image_name }}:${{ github.sha }} |
| ${{ secrets.DOCKERHUB_USERNAME }}/${{ matrix.image_name }}:latest |
| platforms: linux/amd64,linux/arm64 |
| target: ${{ matrix.target }} |