diff --git a/.github/workflows/build-subimage.yml b/.github/workflows/build-subimage.yml new file mode 100644 index 0000000..c076a14 --- /dev/null +++ b/.github/workflows/build-subimage.yml @@ -0,0 +1,41 @@ +on: + workflow_call: + inputs: + subimage: + required: true + type: string + secrets: + DOCKERHUB_USERNAME: + required: true + DOCKERHUB_PASSWORD: + required: true + + +jobs: + build-subimage-job: + runs-on: ubuntu-latest + steps: + - + name: Checkout + uses: actions/checkout@v3 + # We are checking out explicitly, so build-push-action isn't trying + # to checkout the (unreachable) submodule. (Using "context" there.) + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - + name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - + name: Build ${{ inputs.subimage }} + uses: docker/build-push-action@v4 + with: + context: . + file: Dockerfile-${{ inputs.subimage }} + build-args: + DRONE_COMMIT=${{ github.sha }} + push: true + tags: quratorspk/ocrd-galley-${{ inputs.subimage }}:${{ github.sha }} diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b6a8ab4..e41634f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,63 +13,16 @@ jobs: strategy: matrix: subimage: ["core"] - runs-on: ubuntu-latest - # TODO reuse workflow for core + rest - steps: - - - name: Checkout - uses: actions/checkout@v3 - # We are checking out explicitly, so build-push-action isn't trying - # to checkout the (unreachable) submodule. (Using "context" there.) - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - # TODO data - - - name: Login to Docker Hub - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Build ${{ matrix.subimage }} - uses: docker/build-push-action@v4 - with: - context: . - file: Dockerfile-${{ matrix.subimage }} - build-args: - DRONE_COMMIT=${{ github.sha }} - push: true - tags: quratorspk/ocrd-galley-${{ matrix.subimage }}:${{ github.sha }} + uses: ./.github/workflows/build-subimage.yml + with: + subimage: ${{ matrix.subimage }} + secrets: inherit build-rest: - needs: build-core strategy: matrix: subimage: ["dinglehopper"] - runs-on: ubuntu-latest - steps: - - - name: Checkout - uses: actions/checkout@v3 - # We are checking out explicitly, so build-push-action isn't trying - # to checkout the (unreachable) submodule. (Using "context" there.) - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - - name: Login to Docker Hub - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Build ${{ matrix.subimage }} - uses: docker/build-push-action@v4 - with: - context: . - file: Dockerfile-${{ matrix.subimage }} - build-args: - DRONE_COMMIT=${{ github.sha }} - push: true - tags: quratorspk/ocrd-galley-${{ matrix.subimage }}:${{ github.sha }} + uses: ./.github/workflows/build-subimage.yml + with: + subimage: ${{ matrix.subimage }} + secrets: inherit