name: docker on: push: branches: - develop schedule: - cron: '0 0 * * 0' jobs: build_images: runs-on: ubuntu-latest strategy: matrix: image: ['', '-slim', '-nightly', '-nightly-slim'] branch: ['master', 'develop'] steps: - uses: actions/checkout@v3 with: ref: ${{ matrix.branch }} - name: Login to DockerHub uses: docker/login-action@v1 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: build_image run: | if [[ "${{ matrix.branch }}" = "master" ]]; then export NAME="latest" else export NAME="${{ matrix.branch }}" fi \ && docker build -t xd009642/tarpaulin:$NAME${{ matrix.image }} -f Dockerfile${{ matrix.image}} . \ && docker push xd009642/tarpaulin:$NAME${{ matrix.image }} - uses: oprypin/find-latest-tag@v1 id: tarpaulin with: repository: xd009642/tarpaulin releases-only: true if: matrix.branch == 'master' - name: checkout_last_release uses: actions/checkout@v3 with: ref: ${{ steps.tarpaulin.outputs.tag }} if: matrix.branch == 'master' - name: build_last_release run: | docker build -t xd009642/tarpaulin:${{ steps.tarpaulin.outputs.tag }}${{ matrix.image }} -f Dockerfile${{ matrix.image}} . \ && docker push xd009642/tarpaulin:${{ steps.tarpaulin.outputs.tag }}${{ matrix.image }} \ if: matrix.branch == 'master'