diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 3d189624..1dcb7bb1 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -6,6 +6,11 @@ jobs: name: Build app if: ${{ !contains(github.event.head_commit.message, 'skip app') }} runs-on: ubuntu-22.04 + strategy: + fail-fast: false + matrix: + node: [ 20 ] + debian: [ 'bookworm' ] steps: - name: Checkout repo uses: actions/checkout@v4 @@ -20,4 +25,4 @@ jobs: - name: Build app env: SOPS_AGE_KEY: ${{ secrets.SOPS_AGE_KEY }} - run: bash ./scripts/build_app.sh -p -r ${{ github.job }} -n 20 -d bookworm + run: bash ./scripts/build_app.sh -p -r ${{ github.job }} -n ${{ matrix.node }} -d ${{ matrix.debian }} diff --git a/scripts/build_app.sh b/scripts/build_app.sh index 6ca10884..91639540 100755 --- a/scripts/build_app.sh +++ b/scripts/build_app.sh @@ -12,8 +12,10 @@ WORKSPACE_DIR="$(dirname "$ROOT_DIR")" ## Parse options ## -NODE_VER=20 -DEBIAN_VER=bookworm +DEFAULT_NODE_VER=20 +DEFAULT_DEBIAN_VER=bookworm +NODE_VER=$DEFAULT_NODE_VER +DEBIAN_VER=$DEFAULT_DEBIAN_VER PUBLISH=false CI_STEP_NAME="Build app" while getopts "pr:" option; do @@ -61,7 +63,7 @@ cp "$KLI_FILE" "$WORKSPACE_DIR/kli.js" echo "Will use kli file $KLI_FILE to install and link modules ..." IMAGE_NAME="$KALISIO_DOCKERHUB_URL/kalisio/$APP" -IMAGE_TAG="$VERSION-$FLAVOR" +IMAGE_TAG="$VERSION-$FLAVOR-node$NODE_VER-$DEBIAN_VER" begin_group "Building container $IMAGE_NAME:$IMAGE_TAG ..." @@ -76,11 +78,13 @@ DOCKER_BUILDKIT=1 docker build \ -f app.Dockerfile \ -t "$IMAGE_NAME:$IMAGE_TAG" \ "$WORKSPACE_DIR" -docker tag "$IMAGE_NAME:$IMAGE_TAG" "$IMAGE_NAME:$FLAVOR" if [ "$PUBLISH" = true ]; then docker push "$IMAGE_NAME:$IMAGE_TAG" - docker push "$IMAGE_NAME:$FLAVOR" + if [ "$NODE_VER" = "$DEFAULT_NODE_VER" ] && [ "$DEBIAN_VER" = "$DEFAULT_DEBIAN_VER" ]; then + docker tag "$IMAGE_NAME:$IMAGE_TAG" "$IMAGE_NAME:$FLAVOR" + docker push "$IMAGE_NAME:$FLAVOR" + fi fi docker logout "$KALISIO_DOCKERHUB_URL"