diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 1c6be4e437..41610c4d06 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -272,33 +272,20 @@ jobs: - name: Checkout uses: actions/checkout@v2 - - name: Docker Meta - id: docker_meta - uses: docker/metadata-action@v3 - with: - images: ${{ env.DOCKER_NAMESPACE }}/${{ matrix.sdk }}-nodejs - tags: | - type=sha - type=semver,pattern={{version}} - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 + - name: Build Image + working-directory: ./${{ matrix.sdk }}/nodejs + run: make docker-build-sdk - - name: Login to DockerHub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_TOKEN }} + - name: Export Image + working-directory: ./${{ matrix.sdk }}/nodejs + run: make docker-export-sdk - - name: Build and Push - uses: docker/build-push-action@v2 + - name: Upload Artifact + uses: actions/upload-artifact@v2 with: - context: ./${{ matrix.sdk }}/nodejs - file: ./${{ matrix.sdk }}/nodejs/Dockerfile - platforms: linux/amd64 - push: true - tags: ${{ steps.docker_meta.outputs.tags }} - labels: ${{ steps.docker_meta.outputs.labels }} + name: ${{ matrix.sdk }}-image + path: ./${{ matrix.sdk }}/nodejs/${{ matrix.sdk }}.tar + retention-days: 1 # ---- New Makefile based CI Pipeline steps ---- @@ -346,6 +333,8 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 + with: + driver: docker - name: Login to DockerHub uses: docker/login-action@v1 @@ -353,6 +342,17 @@ jobs: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_TOKEN }} + - name: Download Parser SDK Image + uses: actions/download-artifact@v2 + with: + name: parser-sdk-image + path: /tmp + + - name: Load Parser SDK Image + run: | + docker load --input /tmp/parser-sdk.tar + docker images | grep sdk + - name: Build uses: docker/build-push-action@v2 with: @@ -433,6 +433,8 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 + with: + driver: docker - name: Login to DockerHub uses: docker/login-action@v1 @@ -444,6 +446,17 @@ jobs: run: | echo "baseImageTag=sha-$(git rev-parse --short HEAD)" >> $GITHUB_ENV + - name: Download Hook SDK Image + uses: actions/download-artifact@v2 + with: + name: hook-sdk-image + path: /tmp + + - name: Load Hook SDK Image + run: | + docker load --input /tmp/hook-sdk.tar + docker images | grep sdk + - name: Build and Push uses: docker/build-push-action@v2 with: @@ -508,6 +521,8 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 + with: + driver: docker - name: Login to DockerHub uses: docker/login-action@v1 @@ -519,6 +534,17 @@ jobs: run: | echo "baseImageTag=sha-$(git rev-parse --short HEAD)" >> $GITHUB_ENV + - name: Download Parser SDK Image + uses: actions/download-artifact@v2 + with: + name: parser-sdk-image + path: /tmp + + - name: Load Parser SDK Image + run: | + docker load --input /tmp/parser-sdk.tar + docker images | grep sdk + - name: Build and Push uses: docker/build-push-action@v2 with: diff --git a/hook-sdk/nodejs/Makefile b/hook-sdk/nodejs/Makefile new file mode 100644 index 0000000000..76456e857a --- /dev/null +++ b/hook-sdk/nodejs/Makefile @@ -0,0 +1,3 @@ +sdk = hook-sdk +include_guard = set +include ../../sdk.mk diff --git a/parser-sdk/nodejs/Makefile b/parser-sdk/nodejs/Makefile new file mode 100644 index 0000000000..9167d0b541 --- /dev/null +++ b/parser-sdk/nodejs/Makefile @@ -0,0 +1,3 @@ +sdk = parser-sdk +include_guard = set +include ../../sdk.mk diff --git a/sdk.mk b/sdk.mk new file mode 100644 index 0000000000..00c66bb9d8 --- /dev/null +++ b/sdk.mk @@ -0,0 +1,32 @@ +#!/usr/bin/make -f +# +# SPDX-FileCopyrightText: 2021 iteratec GmbH +# +# SPDX-License-Identifier: Apache-2.0 +# +# +# This Makefile is intended to be used for developement and testing only. +# For using this scanner/hook in production please use the helm chart. +# See: +# +# This Makefile expects some additional software to be installed: +# - git +# - node + npm +# - docker +# - kind +# - kubectl +# - helm +# - yq + + +name = ${sdk} +module = ${sdk} +include ../../common.mk + +docker-build-sdk: + @echo ".: ⚙️ Build '$(name)'." + docker build -t $(IMG_NS)/$(name)-nodejs:$(IMG_TAG) . + +docker-export-sdk: + @echo ".: ⚙️ Build '$(name)'." + docker save $(IMG_NS)/$(name)-nodejs:$(IMG_TAG) -o $(name).tar