Skip to content

Update dependency ubuntu to v22 #852

Update dependency ubuntu to v22

Update dependency ubuntu to v22 #852

Workflow file for this run

name: ci
env:
R2V: 5.8.4
on:
push:
branches:
- master
pull_request:
jobs:
build-linux20:
# fails because of a bug in frida on ubuntu20 .. probably invalid stat struct
runs-on: ubuntu-22.04
continue-on-error: true
steps:
- uses: actions/checkout@v3
- name: Testing stat for frida-fs
run: make -C dist/docker test
- name: Installing radare2
run: |
wget https://github.com/radareorg/radare2/releases/download/5.8.4/radare2_5.8.4_amd64.deb
wget https://github.com/radareorg/radare2/releases/download/5.8.4/radare2-dev_5.8.4_amd64.deb
sudo dpkg -i radare2_5.8.4_amd64.deb
sudo dpkg -i radare2-dev_5.8.4_amd64.deb
- name: Building r2frida
run: ./configure && make -j && sudo make install
- name: Packaging
run: make -C dist/debian
- name: Pub
uses: actions/upload-artifact@v3
with:
name: build-linux
path: dist/debian/*.deb
build-linux20-precompiled:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- name: Installing radare2
run: |
wget https://github.com/radareorg/radare2/releases/download/5.8.4/radare2_5.8.4_amd64.deb
wget https://github.com/radareorg/radare2/releases/download/5.8.4/radare2-dev_5.8.4_amd64.deb
sudo dpkg -i radare2_5.8.4_amd64.deb
sudo dpkg -i radare2-dev_5.8.4_amd64.deb
- name: Building r2frida
run: ./configure --with-precompiled-agent && make -j && sudo make install
- name: Packaging
run: make -C dist/debian R2CFG_FLAGS=--with-precompiled-agent
build-linux22:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- name: Building Radare2
run: ( git clone --depth=1 https://github.com/radareorg/radare2 && cd radare2 && sys/install.sh --with-rpath /usr )
- name: Testing stat for frida-fs
run: make -C dist/docker test
- name: Building r2frida
run: ./configure && make -j && sudo make install
- name: Packaging
run: make -C dist/debian
- name: Pub
uses: actions/upload-artifact@v3
with:
name: build-linux
path: dist/debian/*.deb
build-agent:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- name: Building Radare2
run: ( git clone --depth=1 https://github.com/radareorg/radare2 && cd radare2 && export CFLAGS=-O0 && sys/install.sh --with-rpath /usr )
- name: Building r2frida
run: ./configure && make -j && sudo make install
- name: Pub
uses: actions/upload-artifact@v3
with:
name: build-agent
path: src/_agent.js
build-macos:
runs-on: macos-11
# runs-on: macos-12
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: brew install pkg-config
- name: Building Radare2
run: ( git clone --depth=1 https://github.com/radareorg/radare2 && cd radare2 && export CFLAGS=-O0 && ./configure && make -j && sudo make install )
- name: Building r2frida
run: ./configure && make -j && sudo make install
- name: Packaging
run: make -C dist/macos
- name: Pub
uses: actions/upload-artifact@v3
with:
if-no-files-found: error
name: build-macos
path: dist/macos/r2frida-*.pkg
build-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v2
with:
python-version: 3.7.x
- name: Preparing msvc toolchain
uses: ilammy/msvc-dev-cmd@v1
with:
arch: x64
- name: dependencies
shell: bash
run: |
pip install ninja meson wget
choco install zip
- name: install r2
shell: bash
run: |
python -m wget https://github.com/radareorg/radare2/releases/download/${R2V}/radare2-${{env.R2V}}-w64.zip -o r2.zip
unzip r2.zip
mv radare2-${{env.R2V}}-w64 radare2 || mv radare2-w64-${{env.R2V}} radare2
pwd
- name: make
shell: cmd
run: make.bat
- name: zip
shell: cmd
# run: zip -r r2frida-${{env.R2V}}-w64.zip src\io_frida.dll
run: zip -r r2frida-${{env.R2V}}-w64.zip src\r2frida-compile.exe
- uses: actions/upload-artifact@v3
with:
if-no-files-found: error
name: build-windows
path: r2frida-${{env.R2V}}-w64.zip
check_release:
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
outputs:
is_release: ${{ steps.release.outputs.is }}
tag_name: ${{ steps.release.outputs.tag }}
needs:
- build-linux20
- build-linux22
- build-macos
- build-windows
- build-agent
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 0 # Download all git history and tags
- name: Check if is a release
run: git describe --exact-match --tags ${{ github.sha }} | awk 'BEGIN{tag="-";r="no"}/^[0-9]+\.[0-9]+/{tag=$0;r="yes"};END{print "::set-output name=is::"r;print "::set-output name=tag::"tag}'
id: release
release:
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' && needs.check_release.outputs.is_release == 'yes' }}
needs:
- check_release
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 0 # Download all git history and tags
- name: Extract r2f version
run: echo "##[set-output name=branch;]$( ./configure -qV )"
id: r2fv
- name: Prepare release notes
run: echo Release > ./RELEASE_NOTES.md
- name: Download artifacts
uses: actions/download-artifact@v3
with:
path: dist/artifacts
- name: Create GitHub release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ needs.check_release.outputs.tag_name }}
release_name: ${{ steps.r2fv.outputs.branch }}
body_path: ./RELEASE_NOTES.md
draft: false
prerelease: false
- name: Upload asset for Linux
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: dist/artifacts/build-linux/r2frida_${{ steps.r2fv.outputs.branch }}_amd64.deb
asset_name: r2frida_${{ steps.r2fv.outputs.branch }}_amd64.deb
asset_content_type: application/vnd.debian.binary-package
- name: Upload precompiled agent script
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: dist/artifacts/build-agent/_agent.js
asset_name: _agent.js
asset_content_type: application/javascript
- name: Upload asset for macOS
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: dist/artifacts/build-macos/r2frida-${{ steps.r2fv.outputs.branch }}-x64.pkg
asset_name: r2frida-${{ steps.r2fv.outputs.branch }}-x64.pkg
asset_content_type: application/octet-stream
- name: Upload asset for Windows (w64)
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: dist/artifacts/build-windows/r2frida-${{env.R2V}}-w64.zip
asset_name: r2frida-${{ steps.r2fv.outputs.branch }}-w64.zip
asset_content_type: application/zip