steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- - name: Get docker hub username
- id: creds
- run: echo '::set-output name=username::${{ secrets.DOCKER_PULL_USERNAME }}'
- - name: Login to Docker Hub
- if: steps.creds.outputs.username != ''
- uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
- with:
- username: ${{ secrets.DOCKER_PULL_USERNAME }}
- password: ${{ secrets.DOCKER_PUSH_PASSWORD }}
-
- name: Set up QEMU
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
- name: Set up Docker Buildx
ROUNDCUBEMAIL_TEST_IMAGE: roundcube/roundcubemail:nightly
run: docker compose -f ./tests/docker-compose.test-apache-postgres.yml up --exit-code-from=sut --abort-on-container-exit
+ # Only log into docker now, so we benefit from the automatic caching of upstream images.
+ - name: Get docker hub username
+ id: creds
+ run: echo '::set-output name=username::${{ secrets.DOCKER_PULL_USERNAME }}'
+ - name: Login to Docker Hub
+ if: steps.creds.outputs.username != ''
+ uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
+ with:
+ username: ${{ secrets.DOCKER_PULL_USERNAME }}
+ password: ${{ secrets.DOCKER_PUSH_PASSWORD }}
+
- name: Build and push nightly images for all platforms
uses: docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4 # v6.15.0
with:
steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- - name: Get docker hub username
- id: creds
- run: echo '::set-output name=username::${{ secrets.DOCKER_PULL_USERNAME }}'
- - name: Login to Docker Hub
- if: steps.creds.outputs.username != ''
- uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
- with:
- username: ${{ secrets.DOCKER_PULL_USERNAME }}
- password: ${{ secrets.DOCKER_PUSH_PASSWORD }}
-
- name: Set up QEMU
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
- name: Set up Docker Buildx
up --exit-code-from=sut --abort-on-container-exit
done
+ # Only log into docker now, so we benefit from the automatic caching of upstream images.
+ - name: Get docker hub username
+ id: creds
+ run: echo '::set-output name=username::${{ secrets.DOCKER_PULL_USERNAME }}'
+ - name: Login to Docker Hub
+ if: steps.creds.outputs.username != ''
+ uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
+ with:
+ username: ${{ secrets.DOCKER_PULL_USERNAME }}
+ password: ${{ secrets.DOCKER_PUSH_PASSWORD }}
+
- name: Build and push rootful images for "${{ matrix.variant }} for all platforms"
uses: docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4 # v6.15.0
with:
steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- - name: Get docker hub username
- id: creds
- run: echo '::set-output name=username::${{ secrets.DOCKER_PULL_USERNAME }}'
- - name: Login to Docker Hub
- if: steps.creds.outputs.username != ''
- uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
- with:
- username: ${{ secrets.DOCKER_PULL_USERNAME }}
- password: ${{ secrets.DOCKER_PULL_PASSWORD }}
- name: Build rootful image for "${{ matrix.variant }}"
uses: docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4 # v6.15.0