Skip to content

Commit

Permalink
Release v3.6.0
Browse files Browse the repository at this point in the history
Release v3.6.0
  • Loading branch information
P403n1x87 authored Oct 4, 2023
2 parents b7eb5e2 + 90005bf commit 7991c9d
Show file tree
Hide file tree
Showing 86 changed files with 3,246 additions and 1,404 deletions.
23 changes: 11 additions & 12 deletions .github/workflows/benchmarks.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,22 @@
name: Benchmarks

on:
push:
branches:
- master
- devel
pull_request:
paths:
- .github/workflows/benchmarks.yml
- scripts/benchmark.py
- scripts/requirements-bm.txt
- src/**

jobs:
benchmarks:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- name: Install build dependencies
run: |
sudo apt-get update
sudo apt-get -y install libunwind-dev binutils-dev libiberty-dev
- name: Install Python 3.10
Expand All @@ -34,18 +36,15 @@ jobs:
source .venv/bin/activate
pip install --upgrade pip
pip install -r scripts/requirements-bm.txt
deactivate
- name: Run benchmarks
env:
PYTHONPATH: "."
run: |
ulimit -c unlimited
echo "core.%p" | sudo tee /proc/sys/kernel/core_pattern
source .venv/bin/activate
python scripts/benchmark.py | tee benchmarks.txt
deactivate
# Make it a code comment
sed -e $'1i\\\n~~~' -e $'$a\\\n~~~' benchmarks.txt > comment.txt
python scripts/benchmark.py --format markdown --last | tee comment.txt
- name: Post results on PR
uses: marocchino/sticky-pull-request-comment@v2
Expand Down
55 changes: 52 additions & 3 deletions .github/workflows/build_arch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,14 @@ on:
- master
- devel
pull_request:
paths:
- .github/workflows/build_arch.yml
- scripts/build_arch.sh
- scripts/build-wheel.py
- scripts/requirements-bw.txt
- src/**
- configure.ac
- Makefile.am

jobs:
build-linux-archs:
Expand All @@ -16,11 +24,11 @@ jobs:
fail-fast: false
name: Build on ${{ matrix.arch }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
name: Checkout sources

- uses: uraimo/run-on-arch-action@v2.0.5
name: Build on ${{ matrix.arch }}
name: Build Austin on ${{ matrix.arch }}
id: build-on-arch
with:
arch: ${{ matrix.arch }}
Expand All @@ -31,6 +39,47 @@ jobs:
mkdir -p ./artifacts
run: ARCH=${{ matrix.arch }} bash scripts/build_arch.sh

- name: Install Python
uses: actions/setup-python@v4
with:
python-version: '3.10'

- name: Build wheels on ${{ matrix.arch }}
run: |
python3.10 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -r scripts/requirements-bw.txt
export VERSION=$(cat src/austin.h | sed -r -n "s/^#define VERSION[ ]+\"(.+)\"/\1/p");
case ${{ matrix.arch }} in
armv7)
PLATFORM=manylinux_2_17_armv7l.manylinux2014_armv7l
MUSL_PLATFORM=musllinux_1_1_armv7l
;;
aarch64)
PLATFORM=manylinux_2_17_aarch64.manylinux2014_aarch64
MUSL_PLATFORM=musllinux_1_1_aarch64
;;
ppc64le)
PLATFORM=manylinux_2_17_ppc64le.manylinux2014_ppc64le
MUSL_PLATFORM=musllinux_1_1_ppc64le
;;
esac
python scripts/build-wheel.py \
--version=$VERSION \
--platform=$PLATFORM \
--files austin:./artifacts/austin austinp:./artifacts/austinp
python scripts/build-wheel.py \
--version=$VERSION \
--platform=$MUSL_PLATFORM \
--files austin:./artifacts/austin.musl
deactivate
- name: Show artifacts
run: |
ls -al ./artifacts
101 changes: 76 additions & 25 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,12 @@ jobs:
runs-on: ubuntu-20.04
name: Check manpage
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- name: Install build dependencies
run: sudo apt-get -y install libunwind-dev binutils-dev libiberty-dev help2man
run: |
sudo apt-get update
sudo apt-get -y install libunwind-dev binutils-dev libiberty-dev help2man
- name: Compile Austin
run: |
Expand All @@ -29,25 +31,73 @@ jobs:
- name: Check manpage
run: git diff -I".* DO NOT MODIFY.*" -I"[.]TH AUSTIN.*" --exit-code src/austin.1

cppcheck:
cppcheck-linux:
runs-on: ubuntu-20.04
name: Static code analysis
name: Static code analysis (Linux)
env:
cppcheck-version: 2.10.3

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- name: Install cppcheck
run: sudo apt-get -y install cppcheck
- name: Install build dependencies
run: |
sudo apt-get update
sudo apt-get -y install libpcre3-dev
- name: Restore cppcheck build
id: cppcheck-build-restore
uses: actions/cache/restore@v3
with:
path: |
${{ github.workspace }}/cppcheck
key: ${{ runner.os }}-cppcheck-${{ env.cppcheck-version }}

- name: Check out cppcheck
uses: actions/checkout@v3
with:
repository: danmar/cppcheck
ref: ${{ env.cppcheck-version }}
path: ${{ github.workspace }}/cppcheck

- name: Compile cppcheck
run: |
sudo apt-get update
sudo apt-get -y install libpcre3-dev
cd cppcheck
make MATCHCOMPILER=yes FILESDIR=/usr/share/cppcheck HAVE_RULES=yes CXXFLAGS="-O2 -DNDEBUG -Wall -Wno-sign-compare -Wno-unused-function"
cd -
- name: Save cppcheck build
id: cppcheck-build-save
uses: actions/cache/save@v3
with:
path: |
${{ github.workspace }}/cppcheck
key: ${{ runner.os }}-cppcheck-${{ env.cppcheck-version }}

- name: Check source code
run: ${{ github.workspace }}/cppcheck/cppcheck -q -f --error-exitcode=1 --inline-suppr src

- name: Check soure code
cppcheck-macos:
name: Static code analysis (macOS)
runs-on: macos-latest
steps:
- uses: actions/checkout@v3

- name: Install cppcheck
run: brew install cppcheck

- name: Check source code
run: cppcheck -q -f --error-exitcode=1 --inline-suppr src

codespell:
runs-on: ubuntu-20.04
name: Codespell
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- uses: "actions/setup-python@v2"
- uses: "actions/setup-python@v4"
with:
python-version: "3.9"

Expand All @@ -61,9 +111,9 @@ jobs:
runs-on: ubuntu-20.04
name: Formatting (tests)
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- uses: "actions/setup-python@v2"
- uses: "actions/setup-python@v4"
with:
python-version: "3.10"

Expand All @@ -77,9 +127,9 @@ jobs:
runs-on: ubuntu-20.04
name: Linting (tests)
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- uses: "actions/setup-python@v2"
- uses: "actions/setup-python@v4"
with:
python-version: "3.10"

Expand All @@ -93,7 +143,7 @@ jobs:
runs-on: ubuntu-20.04
name: Code coverage
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- name: Install build dependencies
run: |
Expand All @@ -103,12 +153,17 @@ jobs:
- name: Install test dependencies
run: |
sudo add-apt-repository -y ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get -y install \
valgrind \
python2.7 \
python3.{5..11} \
python3.{8..12} \
python3.10-full python3.10-dev
python3.10 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -r test/requirements.txt
- name: Compile Austin
run: |
autoreconf --install
Expand All @@ -117,14 +172,10 @@ jobs:
- name: Run tests
run: |
echo "core.%p" | sudo tee /proc/sys/kernel/core_pattern
ulimit -c unlimited
python3.10 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -r test/requirements.txt
.venv/bin/pytest --pastebin=failed --no-flaky-report -sr fE -n auto || true
sudo -E env PATH="$PATH" .venv/bin/pytest --pastebin=failed --no-flaky-report -sr fE -n auto || true
deactivate
.venv/bin/pytest -sr fE -n auto || true
sudo -E env PATH="$PATH" .venv/bin/pytest -sr fE -n auto || true
- name: Generate Cobertura report
run: gcovr --xml ./cobertura.xml -r src/
Expand All @@ -140,7 +191,7 @@ jobs:
runs-on: ubuntu-20.04
name: Check cog output
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- name: Install cog
run: pip install cogapp
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-20.04
steps:
- name: Check out the repo
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Push to Docker Hub
uses: docker/build-push-action@v1
with:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/pre_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
fail-fast: false
name: Release (Linux)
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
name: Checkout Austin

- name: Generate artifacts
Expand Down Expand Up @@ -56,7 +56,7 @@ jobs:
fail-fast: false
name: Release (Windows)
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
name: Checkout Austin
with:
fetch-depth: 0
Expand Down Expand Up @@ -113,7 +113,7 @@ jobs:
fail-fast: false
name: Release (macOS)
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
name: Checkout Austin

- name: Generate artifacts
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pre_release_arch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
fail-fast: false
name: Build on ${{ matrix.arch }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
name: Checkout sources
- uses: uraimo/run-on-arch-action@v2.0.5
name: Generate artifacts on ${{ matrix.arch }}
Expand Down
Loading

0 comments on commit 7991c9d

Please sign in to comment.