name: Build Tomcat JSS on: [push, pull_request] jobs: init: name: Initialization uses: ./.github/workflows/init.yml secrets: inherit build: name: Building Tomcat JSS needs: init runs-on: ubuntu-latest steps: - name: Clone repository uses: actions/checkout@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - name: Cache Docker layers id: cache-buildx uses: actions/cache@v3 with: key: buildx-${{ hashFiles('tomcatjss.spec') }} path: /tmp/.buildx-cache - name: Build tomcatjss-deps image uses: docker/build-push-action@v3 with: context: . build-args: | BASE_IMAGE=${{ needs.init.outputs.base-image }} COPR_REPO=${{ needs.init.outputs.repo }} tags: tomcatjss-deps target: tomcatjss-deps cache-to: type=local,dest=/tmp/.buildx-cache if: steps.cache-buildx.outputs.cache-hit != 'true' - name: Build tomcatjss-builder-deps image uses: docker/build-push-action@v3 with: context: . build-args: | BASE_IMAGE=${{ needs.init.outputs.base-image }} COPR_REPO=${{ needs.init.outputs.repo }} tags: tomcatjss-builder-deps target: tomcatjss-builder-deps cache-to: type=local,dest=/tmp/.buildx-cache if: steps.cache-buildx.outputs.cache-hit != 'true' - name: Build tomcatjss-builder image uses: docker/build-push-action@v3 with: context: . build-args: | BASE_IMAGE=${{ needs.init.outputs.base-image }} COPR_REPO=${{ needs.init.outputs.repo }} tags: tomcatjss-builder target: tomcatjss-builder cache-from: type=local,src=/tmp/.buildx-cache outputs: type=docker,dest=tomcatjss-builder.tar - name: Store tomcatjss-builder image uses: actions/cache@v3 with: key: tomcatjss-builder-${{ github.sha }} path: tomcatjss-builder.tar - name: Build tomcatjss-dist image uses: docker/build-push-action@v3 with: context: . build-args: | BASE_IMAGE=${{ needs.init.outputs.base-image }} COPR_REPO=${{ needs.init.outputs.repo }} tags: tomcatjss-dist target: tomcatjss-dist cache-from: type=local,src=/tmp/.buildx-cache outputs: type=docker,dest=tomcatjss-dist.tar - name: Store tomcatjss-dist image uses: actions/cache@v3 with: key: tomcatjss-dist-${{ github.sha }} path: tomcatjss-dist.tar - name: Build tomcatjss-runner image uses: docker/build-push-action@v3 with: context: . build-args: | BASE_IMAGE=${{ needs.init.outputs.base-image }} COPR_REPO=${{ needs.init.outputs.repo }} tags: tomcatjss-runner target: tomcatjss-runner cache-from: type=local,src=/tmp/.buildx-cache outputs: type=docker,dest=tomcatjss-runner.tar - name: Store tomcatjss-runner image uses: actions/cache@v3 with: key: tomcatjss-runner-${{ github.sha }} path: tomcatjss-runner.tar