🏡 index : quine-global-boneyard/electron-builder.git

name: Build Docker Images

on:
  workflow_call:

permissions:
  contents: read

jobs:
  build-docker-images:
    runs-on: ubuntu-22.04
    strategy:
      fail-fast: false
      matrix:
        nodeVersion: [
          22.14.0,
          20.18.3,
          18.20.7,
          16.20.2,
          14.21.3
        ]
    steps:
      - name: Checkout code repository
        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4

      - name: Extract node major version to tag docker images
        run: echo "NODE_TAG=$(cut -d '.' -f 1 <<< ${{ matrix.nodeVersion }})" >> $GITHUB_ENV

      - name: Builds all images
        shell: bash
        run: |
          bash docker/build.sh ${{ matrix.nodeVersion }}
          docker images --filter=reference="electronuserland/builder:*"
          docker save -o ${{ runner.temp }}/electron-builder-all-${{ env.NODE_TAG }}.tar electronuserland/builder

      - name: Bundle all images
        uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4
        with:
          name: electron-builder-all-${{ env.NODE_TAG }}
          path: ${{ runner.temp }}/electron-builder-all-${{ env.NODE_TAG }}.tar
          retention-days: 1
          if-no-files-found: error