name: Build and push nodejs lts container images on: push: branches: - alpine jobs: build: name: Build nodejs lts container images runs-on: ubuntu-latest container: image: ghcr.io/catthehacker/ubuntu:act-latest strategy: matrix: flavors: - os: "alpine" os_version: "3.14" node_version: "14.21.3" node_ver_short: "14" - os: "alpine" os_version: "3.16" node_version: "16.20.2" node_ver_short: "16" - os: "alpine" os_version: "3.18" node_version: "18.19.1" node_ver_short: "18" - os: "alpine" os_version: "3.20" node_version: "20.15.1" node_ver_short: "20" - os: "alpine" os_version: "3.21" node_version: "22.11.0" node_ver_short: "22" steps: - name: Check out repository code uses: actions/checkout@v4 - name: Login to quay.io uses: docker/login-action@v3 with: registry: quay.io username: ${{ vars.QUAY_USERNAME }} password: ${{ secrets.QUAY_SECRET }} # - name: Set up QEMU # uses: docker/setup-qemu-action@v3 - name: Setup Docker buildx uses: docker/setup-buildx-action@v3 - name: Build and push nodejs-lts uses: docker/build-push-action@v5 with: push: true context: . file: Dockerfile.${{ matrix.flavors.os }} build-args: | OS_VERSION=${{ matrix.flavors.os_version }} NODE_VERSION=${{ matrix.flavors.node_version }} NODE_VER_SHORT=${{ matrix.flavors.node_ver_short }} tags: | quay.io/sindigilive/nodejs:${{ matrix.flavors.node_ver_short }}-${{ matrix.flavors.os }}