name: Docker Build Test on: push: paths-ignore: - 'aider/website/**' - README.md - HISTORY.md branches: - main pull_request: paths-ignore: - 'aider/website/**' - README.md branches: - main # copy most of these steps from release.yml, but push: false and no tags: jobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to DockerHub uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_PASSWORD }} # First do test builds without pushing - name: Test build Docker standard image uses: docker/build-push-action@v5 with: context: . file: ./docker/Dockerfile platforms: linux/amd64,linux/arm64 push: false target: aider - name: Test build Docker full image uses: docker/build-push-action@v5 with: context: . file: ./docker/Dockerfile platforms: linux/amd64,linux/arm64 push: false target: aider-full # Then build and push dev tagged images - name: Build and push Docker standard dev image uses: docker/build-push-action@v5 with: context: . file: ./docker/Dockerfile platforms: linux/amd64,linux/arm64 push: true tags: ${{ secrets.DOCKERHUB_USERNAME }}/aider:dev target: aider - name: Build and push Docker full dev image uses: docker/build-push-action@v5 with: context: . file: ./docker/Dockerfile platforms: linux/amd64,linux/arm64 push: true tags: ${{ secrets.DOCKERHUB_USERNAME }}/aider-full:dev target: aider-full