diff --git a/.github/workflows/anghabench-cron-jobs.yml b/.github/workflows/anghabench-cron-jobs.yml deleted file mode 100644 index 1081d126..00000000 --- a/.github/workflows/anghabench-cron-jobs.yml +++ /dev/null @@ -1,139 +0,0 @@ -name: Run AnghaBench CI Cron Jobs - -on: - # Run this workflow every day at 3am - schedule: - - cron: "0 3 * * *" - -jobs: - do-the-job: - strategy: - fail-fast: false - matrix: - llvm: [ '16' ] - run_size: [ '1k' ] - - name: Run AnghaBench CI (AMD64) - runs-on: gha-ubuntu-32 - steps: - - uses: actions/checkout@v2 - with: - ref: ${{ github.event.workflow_run.head_branch }} - submodules: true - # https://stackoverflow.com/questions/58033366/how-to-get-current-branch-within-github-actions - - name: Extract branch name - shell: bash - run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})" - id: extract_branch - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 - with: - python-version: 3.8 - - name: Fix github token auth - shell: bash - env: - ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }} - run: | - export HOME=${HOME:-/root} - git config --global user.name "CI User" && git config --global user.email "ci@none.local" - git config --global url."https://${ACCESS_TOKEN}@github.com/".insteadOf "git@github.com:" - - name: Set up pre-requisies - run: | - sudo dpkg --add-architecture i386 && sudo apt-get update && sudo apt-get -qqy upgrade - sudo apt-get install -qqy \ - git curl wget unzip xz-utils pixz jq s3cmd ninja-build pkg-config \ - liblzma-dev zlib1g-dev libtinfo-dev build-essential \ - libc6-dev:i386 libstdc++-*-dev:i386 g++-multilib - wget "https://github.com/Kitware/CMake/releases/download/v3.22.3/cmake-3.22.3-linux-$(uname -m).sh" && \ - sudo /bin/bash cmake-*.sh --skip-license --prefix=/usr/local && rm cmake-*.sh - python3 -m pip install requests - - name: Build rellic against LLVM ${{ matrix.llvm }} - run: | - ./scripts/build.sh \ - --install \ - --extra-cmake-args "-DCMAKE_BUILD_TYPE=Release" \ - --download-dir "$(pwd)/../pre-built-llvm-${{ matrix.llvm }}" \ - --llvm-version ${{ matrix.llvm }} \ - - name: Fetch Angha Data for LLVM {{ matrix.llvm }} - run: | - pushd external/lifting-tools-ci - if [[ -f requirements.txt ]] - then - python3 -m pip install -r requirements.txt - fi - - mkdir -p $(pwd)/decompiled - mkdir -p $(pwd)/recompiled - - datasets/fetch_anghabench.sh --clang "${LLVM_VERSION}" --bitcode --run-size "${RUN_SIZE}" - - for i in *.tar.xz - do - tar -xJf $i - done - popd - env: - LLVM_VERSION: ${{ matrix.llvm }} - RUN_SIZE: ${{ matrix.run_size }} - - - name: Run Angha Against LLVM {{ matrix.llvm }} - run: | - - pushd external/lifting-tools-ci - # Run the benchmark - tool_run_scripts/rellic.py \ - --run-name "[${RUN_NAME}] [size: ${RUN_SIZE}] [rellic: ${RELLIC_BRANCH}]" \ - --rellic rellic-decomp \ - --input-dir $(pwd)/bitcode \ - --output-dir $(pwd)/decompiled \ - --slack-notify - - # Try to recompile our decompiled code - tool_run_scripts/recompile.py \ - --run-name "[${RUN_NAME}] [size: ${RUN_SIZE}] [recompile]" \ - --clang clang-${LLVM_VERSION} \ - --input-dir $(pwd)/decompiled \ - --output-dir $(pwd)/recompiled \ - --slack-notify - env: - RUN_SIZE: ${{ matrix.run_size }} - RELLIC_BRANCH: ${{ steps.extract_branch.outputs.branch }} - RUN_NAME: "Rellic Cron Job CI Run" - SLACK_HOOK: ${{ secrets.SLACK_HOOK }} - DO_TOKEN: ${{ secrets.DO_TOKEN }} - LLVM_VERSION: ${{ matrix.llvm }} - - - name: Save Angha Run for LLVM {{ matrix.llvm }} - run: | - # AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY passed in from original invocation environment - if [[ "${AWS_ACCESS_KEY_ID,,}" != "" ]] - then - datenow=$(date +'%F-%H-%M') - url_base="https://tob-amp-ci-results.nyc3.digitaloceanspaces.com" - tar -Ipixz -cf rellic-ci-${datenow}.tar.xz decompiled - tar -Ipixz -cf recompile-ci-${datenow}.tar.xz recompiled - - s3cmd -c /dev/null \ - '--host-bucket=%(bucket)s.nyc3.digitaloceanspaces.com' \ - --acl-public \ - put \ - rellic-ci-${datenow}.tar.xz \ - s3://tob-amp-ci-results/rellic/ - - tool_run_scripts/slack.py \ - --msg "Uploaded rellic decompilation results to ${url_base}/rellic/rellic-ci-${datenow}.tar.xz" - - s3cmd -c /dev/null \ - '--host-bucket=%(bucket)s.nyc3.digitaloceanspaces.com' \ - --acl-public \ - put \ - recompile-ci-${datenow}.tar.xz \ - s3://tob-amp-ci-results/recompile/ - - tool_run_scripts/slack.py \ - --msg "Uploaded recompilation results to ${url_base}/recompile/recompile-ci-${datenow}.tar.xz" - fi - env: - AWS_ACCESS_KEY_ID: ${{ secrets.DO_SPACES_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.DO_SPACES_SECRET }} - SLACK_HOOK: ${{ secrets.SLACK_HOOK }}