Skip to content

DB: generate for a single release #2

DB: generate for a single release

DB: generate for a single release #2

name: 'DB: generate for a single release'
on:
workflow_dispatch:
inputs:
release:
description: 'Distro and release name'
type: string
required: true
workflow_call:
inputs:
release:
type: string
permissions: {}
jobs:
process_release:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Authenticate to Google Cloud
uses: google-github-actions/auth@v2
with:
credentials_json: '${{ secrets.DB_GCS_SA_KEY }}'
- name: Install kpwn_db prerequisites
working-directory: kpwn_db
run: pip install -r requirements.txt
- name: Enable KVM group perms
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
- name: Install Linux package prerequisites
run: sudo apt-get update && sudo apt install -yq --no-install-recommends pahole python3-ropgadget qemu-system-x86
- name: Install rp++
run: |
wget https://github.com/0vercl0k/rp/releases/download/v2.1.3/rp-lin-gcc.zip
unzip rp-lin-gcc.zip
mv ./rp-lin rp++
chmod u+x rp++
echo "$PWD" >> "$GITHUB_PATH"
- name: Install kernel_rop_generator prerequisites
working-directory: kernel_rop_generator
run: pip install -r requirements.txt
- name: Create db for release
working-directory: ./scripts
run: ./db_process_release.sh ${{ inputs.release }}