Skip to content

Commit

Permalink
Release v3.3.0
Browse files Browse the repository at this point in the history
See the changelog for details.
  • Loading branch information
P403n1x87 committed Jan 28, 2022
2 parents 47dd71c + c076508 commit 2c88688
Show file tree
Hide file tree
Showing 101 changed files with 5,497 additions and 4,176 deletions.
106 changes: 106 additions & 0 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
name: Checks
on: push
jobs:
check-manpage:
runs-on: ubuntu-latest
strategy:
fail-fast: false
name: Check manpage
steps:
- uses: actions/checkout@v2

- name: Install build dependencies
run: sudo apt-get -y install libunwind-dev binutils-dev libiberty-dev help2man

- name: Compile Austin
run: |
autoreconf --install
./configure
make
- name: Generate manpage
run: bash doc/genman.sh

- name: Check manpage
run: git diff --exit-code src/austin.1

cppcheck:
runs-on: ubuntu-latest
strategy:
fail-fast: false
name: Static code analysis
steps:
- uses: actions/checkout@v2

- name: Install cppcheck
run: sudo apt-get -y install cppcheck

- name: Check soure code
run: cppcheck -q -f --error-exitcode=1 src

codespell:
runs-on: ubuntu-latest
strategy:
fail-fast: false
name: Codespell
steps:
- uses: actions/checkout@v2

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

- name: Install codespell
run: pip install codespell

- name: Check source code spelling
run: codespell src

coverage:
runs-on: ubuntu-latest
strategy:
fail-fast: false
name: Code coverage
steps:
- uses: actions/checkout@v2

- name: Install build dependencies
run: |
sudo apt-get update
sudo apt-get -y install libunwind-dev binutils-dev libiberty-dev gcovr
- name: Install test dependencies
run: |
sudo add-apt-repository -y ppa:deadsnakes/ppa
sudo apt-get -y install \
valgrind \
python2.7 \
python3.{5..10} \
python3.10-full
- name: Compile Austin
run: |
autoreconf --install
./configure --enable-coverage
make
- name: Run tests
run: |
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 -svvr fE || true
sudo .venv/bin/pytest --pastebin=failed -svvr fE || true
deactivate
- name: Generate Cobertura report
run: gcovr --xml ./cobertura.xml -r src/

- name: Upload report to Codecov
uses: codecov/codecov-action@v2
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./cobertura.xml
verbose: true
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: Development release
name: Pre-release
on:
push:
tags:
- 'dev'
- 'v*-*'
jobs:
release-linux:
runs-on: ubuntu-latest
Expand All @@ -16,7 +16,7 @@ jobs:
- name: Generate artifacts
run: |
sudo apt-get update
sudo apt-get -y install autoconf build-essential libunwind-dev musl-tools
sudo apt-get -y install autoconf build-essential libunwind-dev binutils-dev libiberty-dev musl-tools
# Build austin
autoreconf --install
Expand All @@ -25,12 +25,9 @@ jobs:
# Compute dev version
export PREV_VERSION=$(cat src/austin.h | sed -r -n "s/.*VERSION[ ]+\"(.+)\"/\1/p")
export VERSION=$(echo $PREV_VERSION | awk -F. '{A=NF-1; $A = $A + 1; $NF=0} 1' | sed 's/ /./g')-dev+$(git rev-parse --short HEAD)
export VERSION=${{ github.ref_name }}
sed -i "s/$PREV_VERSION/$VERSION/g" src/austin.h
# Build austinp
gcc -O3 -Os -s -Wall -pthread src/*.c -o src/austinp -DAUSTINP -l:libunwind-ptrace.a -l:liblzma.a -l:libunwind-generic.a -l:libunwind.a
pushd src
tar -Jcf austin-$VERSION-gnu-linux-amd64.tar.xz austin
tar -Jcf austinp-$VERSION-gnu-linux-amd64.tar.xz austinp
Expand All @@ -46,11 +43,11 @@ jobs:
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: src/austin*xz
file: src/austin*.tar.xz
tag: ${{ github.ref }}
overwrite: true
prerelease: true
release_name: Development build
release_name: ${{ github.ref_name }}
file_glob: true

release-win:
Expand All @@ -72,8 +69,8 @@ jobs:
# Compute dev version
export PREV_VERSION=$(cat src/austin.h | sed -r -n "s/.*VERSION[ ]+\"(.+)\"/\1/p")
export VERSION=$(echo $PREV_VERSION | awk -F. '{A=NF-1; $A = $A + 1; $NF=0} 1' | sed 's/ /./g')
export VERSION_DEV=$(echo $PREV_VERSION | awk -F. '{A=NF-1; $A = $A + 1; $NF=0} 1' | sed 's/ /./g')-dev+$(git rev-parse --short HEAD)
export VERSION_DEV=${{ github.ref_name }}
export VERSION=$(echo $PREV_VERSION | sed -r -n "s/([0-9]+\.[0-9]+\.[0-9]+).*/\1/p")
sed -i "s/$PREV_VERSION/$VERSION/g" src/austin.h
gcc -s -Wall -O3 -Os -o src/austin src/*.c -lpsapi -lntdll
Expand Down Expand Up @@ -107,7 +104,7 @@ jobs:
tag: ${{ github.ref }}
overwrite: true
prerelease: true
release_name: Development build
release_name: ${{ github.ref_name }}
file_glob: true

release-osx:
Expand All @@ -123,7 +120,7 @@ jobs:
run: |
# Compute dev version
export PREV_VERSION=$(cat src/austin.h | sed -n -E "s/.*VERSION[ ]+\"(.+)\"/\1/p")
export VERSION=$(echo $PREV_VERSION | awk -F. '{A=NF-1; $A = $A + 1; $NF=0} 1' | sed 's/ /./g')-dev+$(git rev-parse --short HEAD)
export VERSION=${{ github.ref_name }}
sed -i "" "s/$PREV_VERSION/$VERSION/g" src/austin.h
echo "::set-output name=version::$VERSION"
Expand All @@ -141,5 +138,6 @@ jobs:
tag: ${{ github.ref }}
overwrite: true
prerelease: true
release_name: Development build
file_glob: true
release_name: ${{ github.ref_name }}
body: See the changelog for details.
file_glob: true
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: Development release (Linux archs)
name: Pre-release (Linux archs)
on:
push:
tags:
- 'dev'
- 'v*-*'
jobs:
release-linux-archs:
runs-on: ubuntu-latest
Expand All @@ -27,11 +27,11 @@ jobs:
# Compute dev version
export PREV_VERSION=$(cat src/austin.h | sed -r -n "s/.*VERSION[ ]+\"(.+)\"/\1/p")
export VERSION=$(echo $PREV_VERSION | awk -F. '{A=NF-1; $A = $A + 1; $NF=0} 1' | sed 's/ /./g')-dev+$(git rev-parse --short HEAD)
export VERSION=${{ github.ref_name }}
sed -i "s/$PREV_VERSION/$VERSION/g" src/austin.h
run: |
apt-get update
apt-get -y install autoconf build-essential libunwind-dev musl-tools
apt-get -y install autoconf build-essential libunwind-dev binutils-dev libiberty-dev musl-tools
# Build austin
autoreconf --install
Expand All @@ -40,9 +40,6 @@ jobs:
export VERSION=$(cat src/austin.h | sed -r -n "s/.*VERSION[ ]+\"(.+)\"/\1/p")
# Build austinp
gcc -O3 -Os -s -Wall -pthread src/*.c -o src/austinp -DAUSTINP -l:libunwind-ptrace.a -l:liblzma.a -l:libunwind-generic.a -l:libunwind.a
pushd src
tar -Jcf austin-$VERSION-gnu-linux-${{ matrix.arch }}.tar.xz austin
tar -Jcf austinp-$VERSION-gnu-linux-${{ matrix.arch }}.tar.xz austinp
Expand All @@ -63,9 +60,10 @@ jobs:
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: artifacts/austin*
file: artifacts/austin*.tar.xz
tag: ${{ github.ref }}
overwrite: true
prerelease: true
release_name: Development build
file_glob: true
release_name: ${{ github.ref_name }}
body: See the changelog for details.
file_glob: true
11 changes: 4 additions & 7 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Release
on:
push:
tags:
- 'v*'
- 'v[0-9]+.[0-9]+.[0-9]+'
jobs:
release-linux:
runs-on: ubuntu-latest
Expand All @@ -16,7 +16,7 @@ jobs:
- name: Generate artifacts
run: |
sudo apt-get update
sudo apt-get -y install autoconf build-essential libunwind-dev musl-tools
sudo apt-get -y install autoconf build-essential libunwind-dev binutils-dev libiberty-dev musl-tools
# Build austin
autoreconf --install
Expand All @@ -25,9 +25,6 @@ jobs:
export VERSION=$(cat src/austin.h | sed -r -n "s/.*VERSION[ ]+\"(.+)\"/\1/p");
# Build austinp
gcc -O3 -Os -s -Wall -pthread src/*.c -o src/austinp -DAUSTINP -l:libunwind-ptrace.a -l:liblzma.a -l:libunwind-generic.a -l:libunwind.a
pushd src
tar -Jcf austin-$VERSION-gnu-linux-amd64.tar.xz austin
tar -Jcf austinp-$VERSION-gnu-linux-amd64.tar.xz austinp
Expand All @@ -43,7 +40,7 @@ jobs:
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: src/austin-*
file: src/austin-*.tar.xz
tag: ${{ github.ref }}
overwrite: true
file_glob: true
Expand Down Expand Up @@ -139,4 +136,4 @@ jobs:
file: src/austin-*
tag: ${{ github.ref }}
overwrite: true
file_glob: true
file_glob: true
11 changes: 4 additions & 7 deletions .github/workflows/release_arch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Release (Linux archs)
on:
push:
tags:
- 'v*'
- 'v[0-9]+.[0-9]+.[0-9]+'
jobs:
release-linux-archs:
runs-on: ubuntu-latest
Expand All @@ -26,7 +26,7 @@ jobs:
mkdir -p ./artifacts
run: |
apt-get update
apt-get -y install autoconf build-essential libunwind-dev musl-tools
apt-get -y install autoconf build-essential libunwind-dev binutils-dev libiberty-dev musl-tools
# Build austin
autoreconf --install
Expand All @@ -35,9 +35,6 @@ jobs:
export VERSION=$(cat src/austin.h | sed -r -n "s/.*VERSION[ ]+\"(.+)\"/\1/p")
# Build austinp
gcc -O3 -Os -s -Wall -pthread src/*.c -o src/austinp -DAUSTINP -l:libunwind-ptrace.a -l:liblzma.a -l:libunwind-generic.a -l:libunwind.a
pushd src
tar -Jcf austin-$VERSION-gnu-linux-${{ matrix.arch }}.tar.xz austin
tar -Jcf austinp-$VERSION-gnu-linux-${{ matrix.arch }}.tar.xz austinp
Expand All @@ -58,7 +55,7 @@ jobs:
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: artifacts/austin-*
file: artifacts/austin-*.tar.xz
tag: ${{ github.ref }}
overwrite: true
file_glob: true
file_glob: true
Loading

0 comments on commit 2c88688

Please sign in to comment.