name: Docker Dev Images Build on: workflow_dispatch: push: branches: - main paths: - 'api/**' - 'client/**' jobs: build: runs-on: ubuntu-latest steps: # Check out the repository - name: Checkout uses: actions/checkout@v2 # Set up Docker - name: Set up Docker uses: docker/setup-buildx-action@v1 # Log in to GitHub Container Registry - name: Log in to GitHub Container Registry uses: docker/login-action@v2 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} # Build Docker images - name: Build Docker images run: | cp .env.example .env docker build -f Dockerfile.multi --target api-build -t librechat-dev-api . docker build -f Dockerfile -t librechat-dev . # Tag and push the images to GitHub Container Registry - name: Tag and push images run: | docker tag librechat-dev-api:latest ghcr.io/${{ github.repository_owner }}/librechat-dev-api:${{ github.sha }} docker push ghcr.io/${{ github.repository_owner }}/librechat-dev-api:${{ github.sha }} docker tag librechat-dev-api:latest ghcr.io/${{ github.repository_owner }}/librechat-dev-api:latest docker push ghcr.io/${{ github.repository_owner }}/librechat-dev-api:latest docker tag librechat-dev:latest ghcr.io/${{ github.repository_owner }}/librechat-dev:${{ github.sha }} docker push ghcr.io/${{ github.repository_owner }}/librechat-dev:${{ github.sha }} docker tag librechat-dev:latest ghcr.io/${{ github.repository_owner }}/librechat-dev:latest docker push ghcr.io/${{ github.repository_owner }}/librechat-dev:latest