From 4f31003ab83f069e72ecb8779a7105ac3da59f5c Mon Sep 17 00:00:00 2001 From: Raj Shah Date: Sun, 15 May 2022 04:18:38 +0000 Subject: [PATCH] Integrate Mayhem Add other dockerfile Update mayhem.yml Tidy up Update Mayhemfile Package stage Restore deleted workflows Remove ldd --- .github/workflows/build.yml | 1 - .github/workflows/mayhem.yml | 62 ++++++++++++++++++++++++++++++++++++ Dockerfile.mayhem | 12 +++++++ Mayhemfile | 5 +++ 4 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/mayhem.yml create mode 100644 Dockerfile.mayhem create mode 100644 Mayhemfile diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index da22393192..8c17e08847 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -121,4 +121,3 @@ jobs: # - name: makedocs # run: make docs - diff --git a/.github/workflows/mayhem.yml b/.github/workflows/mayhem.yml new file mode 100644 index 0000000000..c5b8eee81d --- /dev/null +++ b/.github/workflows/mayhem.yml @@ -0,0 +1,62 @@ +name: Mayhem +on: + push: + pull_request: + workflow_dispatch: + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + +jobs: + build: + permissions: write-all + name: '${{ matrix.os }} shared=${{ matrix.shared }} ${{ matrix.build_type }}' + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest] + shared: [false] + build_type: [Release] + include: + - os: ubuntu-latest + triplet: x64-linux + + steps: + - uses: actions/checkout@v2 + with: + submodules: true + + - name: Log in to the Container registry + uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + + - name: Build and push Docker image + uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc + with: + file: ./Dockerfile.mayhem + context: . + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + + - name: Start analysis + uses: ForAllSecure/mcode-action@v1 + with: + mayhem-token: ${{ secrets.MAYHEM_TOKEN }} + args: --image ${{ steps.meta.outputs.tags }} + sarif-output: sarif + + - name: Upload SARIF file(s) + uses: github/codeql-action/upload-sarif@v1 + with: + sarif_file: sarif diff --git a/Dockerfile.mayhem b/Dockerfile.mayhem new file mode 100644 index 0000000000..fde595eb6f --- /dev/null +++ b/Dockerfile.mayhem @@ -0,0 +1,12 @@ +FROM --platform=linux/amd64 ubuntu:20.04 as builder + +RUN apt-get update +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential git python pip + +COPY . /repo +WORKDIR /repo +RUN make -j8 +RUN chmod +x espruino + +FROM ubuntu:20.04 as package +COPY --from=builder /repo/espruino / diff --git a/Mayhemfile b/Mayhemfile new file mode 100644 index 0000000000..77736e168a --- /dev/null +++ b/Mayhemfile @@ -0,0 +1,5 @@ +project: espruino +target: espruino + +cmds: + - cmd: /espruino @@