Skip to content

Commit

Permalink
Integrate Mayhem
Browse files Browse the repository at this point in the history
  • Loading branch information
rnshah9 authored and ForAllSecure Mayhem Bot committed Sep 17, 2024
1 parent ee0aa61 commit 0373f79
Show file tree
Hide file tree
Showing 3 changed files with 84 additions and 0 deletions.
62 changes: 62 additions & 0 deletions .github/workflows/mayhem.yml
Original file line number Diff line number Diff line change
@@ -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: recursive

- 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
18 changes: 18 additions & 0 deletions Dockerfile.mayhem
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
FROM --platform=linux/amd64 ubuntu:22.04 as builder

RUN apt-get update
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y libboost-program-options-dev

COPY . /repo
WORKDIR /repo/data/data_conv/dna
RUN make -j8

RUN mkdir -p /deps
RUN ldd /repo/data/data_conv/dna/sample_dna_substr | tr -s '[:blank:]' '\n' | grep '^/' | xargs -I % sh -c 'cp % /deps;'

FROM ubuntu:22.04 as package

COPY --from=builder /deps /deps
COPY --from=builder /repo/data/data_conv/dna/sample_dna_substr /repo/data/data_conv/dna/sample_dna_substr
ENV LD_LIBRARY_PATH=/deps
4 changes: 4 additions & 0 deletions Mayhemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
project: nmslib
target: sample-dna-substr
cmds:
- cmd: /repo/data/data_conv/dna/sample_dna_substr -i @@ -a 1 --lenSTD 1 -o /dev/null -q 1

0 comments on commit 0373f79

Please sign in to comment.