diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..86bd25fa5 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,92 @@ +name: Build and Push Docker Images + +on: + push: + branches: + - main + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + with: + platforms: arm64, amd64 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Build and push Docker image for api + uses: docker/build-push-action@v3 + with: + context: ./api + push: true + tags: voltaserve/api:latest + platforms: linux/amd64,linux/arm64 + + - name: Build and push Docker image for conversion + uses: docker/build-push-action@v3 + with: + context: ./conversion + push: true + tags: voltaserve/conversion:latest + platforms: linux/amd64,linux/arm64 + + - name: Build and push Docker image for idp + uses: docker/build-push-action@v3 + with: + context: ./idp + push: true + tags: voltaserve/idp:latest + platforms: linux/amd64,linux/arm64 + + - name: Build and push Docker image for language + uses: docker/build-push-action@v3 + with: + context: ./language + push: true + tags: voltaserve/language:latest + platforms: linux/amd64,linux/arm64 + + - name: Build and push Docker image for mosaic + uses: docker/build-push-action@v3 + with: + context: ./mosaic + push: true + tags: voltaserve/mosaic:latest + platforms: linux/amd64,linux/arm64 + + - name: Build and push Docker image for watermark + uses: docker/build-push-action@v3 + with: + context: ./watermark + push: true + tags: voltaserve/watermark:latest + platforms: linux/amd64,linux/arm64 + + - name: Build and push Docker image for webdav + uses: docker/build-push-action@v3 + with: + context: ./webdav + push: true + tags: voltaserve/webdav:latest + platforms: linux/amd64,linux/arm64 + + - name: Build and push Docker image for ui + uses: docker/build-push-action@v3 + with: + context: ./ui + push: true + tags: voltaserve/ui:latest + platforms: linux/amd64,linux/arm64