Skip to content

Commit 2c88688

Browse files
authored
Release v3.3.0
See the changelog for details.
2 parents 47dd71c + c076508 commit 2c88688

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+5497
-4176
lines changed

.github/workflows/checks.yml

+106
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
name: Checks
2+
on: push
3+
jobs:
4+
check-manpage:
5+
runs-on: ubuntu-latest
6+
strategy:
7+
fail-fast: false
8+
name: Check manpage
9+
steps:
10+
- uses: actions/checkout@v2
11+
12+
- name: Install build dependencies
13+
run: sudo apt-get -y install libunwind-dev binutils-dev libiberty-dev help2man
14+
15+
- name: Compile Austin
16+
run: |
17+
autoreconf --install
18+
./configure
19+
make
20+
21+
- name: Generate manpage
22+
run: bash doc/genman.sh
23+
24+
- name: Check manpage
25+
run: git diff --exit-code src/austin.1
26+
27+
cppcheck:
28+
runs-on: ubuntu-latest
29+
strategy:
30+
fail-fast: false
31+
name: Static code analysis
32+
steps:
33+
- uses: actions/checkout@v2
34+
35+
- name: Install cppcheck
36+
run: sudo apt-get -y install cppcheck
37+
38+
- name: Check soure code
39+
run: cppcheck -q -f --error-exitcode=1 src
40+
41+
codespell:
42+
runs-on: ubuntu-latest
43+
strategy:
44+
fail-fast: false
45+
name: Codespell
46+
steps:
47+
- uses: actions/checkout@v2
48+
49+
- uses: "actions/setup-python@v2"
50+
with:
51+
python-version: "3.9"
52+
53+
- name: Install codespell
54+
run: pip install codespell
55+
56+
- name: Check source code spelling
57+
run: codespell src
58+
59+
coverage:
60+
runs-on: ubuntu-latest
61+
strategy:
62+
fail-fast: false
63+
name: Code coverage
64+
steps:
65+
- uses: actions/checkout@v2
66+
67+
- name: Install build dependencies
68+
run: |
69+
sudo apt-get update
70+
sudo apt-get -y install libunwind-dev binutils-dev libiberty-dev gcovr
71+
72+
- name: Install test dependencies
73+
run: |
74+
sudo add-apt-repository -y ppa:deadsnakes/ppa
75+
sudo apt-get -y install \
76+
valgrind \
77+
python2.7 \
78+
python3.{5..10} \
79+
python3.10-full
80+
81+
- name: Compile Austin
82+
run: |
83+
autoreconf --install
84+
./configure --enable-coverage
85+
make
86+
87+
- name: Run tests
88+
run: |
89+
ulimit -c unlimited
90+
python3.10 -m venv .venv
91+
source .venv/bin/activate
92+
pip install --upgrade pip
93+
pip install -r test/requirements.txt
94+
.venv/bin/pytest --pastebin=failed -svvr fE || true
95+
sudo .venv/bin/pytest --pastebin=failed -svvr fE || true
96+
deactivate
97+
98+
- name: Generate Cobertura report
99+
run: gcovr --xml ./cobertura.xml -r src/
100+
101+
- name: Upload report to Codecov
102+
uses: codecov/codecov-action@v2
103+
with:
104+
token: ${{ secrets.CODECOV_TOKEN }}
105+
files: ./cobertura.xml
106+
verbose: true

.github/workflows/dev_release.yml renamed to .github/workflows/pre_release.yml

+13-15
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
name: Development release
1+
name: Pre-release
22
on:
33
push:
44
tags:
5-
- 'dev'
5+
- 'v*-*'
66
jobs:
77
release-linux:
88
runs-on: ubuntu-latest
@@ -16,7 +16,7 @@ jobs:
1616
- name: Generate artifacts
1717
run: |
1818
sudo apt-get update
19-
sudo apt-get -y install autoconf build-essential libunwind-dev musl-tools
19+
sudo apt-get -y install autoconf build-essential libunwind-dev binutils-dev libiberty-dev musl-tools
2020
2121
# Build austin
2222
autoreconf --install
@@ -25,12 +25,9 @@ jobs:
2525
2626
# Compute dev version
2727
export PREV_VERSION=$(cat src/austin.h | sed -r -n "s/.*VERSION[ ]+\"(.+)\"/\1/p")
28-
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)
28+
export VERSION=${{ github.ref_name }}
2929
sed -i "s/$PREV_VERSION/$VERSION/g" src/austin.h
3030
31-
# Build austinp
32-
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
33-
3431
pushd src
3532
tar -Jcf austin-$VERSION-gnu-linux-amd64.tar.xz austin
3633
tar -Jcf austinp-$VERSION-gnu-linux-amd64.tar.xz austinp
@@ -46,11 +43,11 @@ jobs:
4643
uses: svenstaro/upload-release-action@v2
4744
with:
4845
repo_token: ${{ secrets.GITHUB_TOKEN }}
49-
file: src/austin*xz
46+
file: src/austin*.tar.xz
5047
tag: ${{ github.ref }}
5148
overwrite: true
5249
prerelease: true
53-
release_name: Development build
50+
release_name: ${{ github.ref_name }}
5451
file_glob: true
5552

5653
release-win:
@@ -72,8 +69,8 @@ jobs:
7269
7370
# Compute dev version
7471
export PREV_VERSION=$(cat src/austin.h | sed -r -n "s/.*VERSION[ ]+\"(.+)\"/\1/p")
75-
export VERSION=$(echo $PREV_VERSION | awk -F. '{A=NF-1; $A = $A + 1; $NF=0} 1' | sed 's/ /./g')
76-
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)
72+
export VERSION_DEV=${{ github.ref_name }}
73+
export VERSION=$(echo $PREV_VERSION | sed -r -n "s/([0-9]+\.[0-9]+\.[0-9]+).*/\1/p")
7774
sed -i "s/$PREV_VERSION/$VERSION/g" src/austin.h
7875
7976
gcc -s -Wall -O3 -Os -o src/austin src/*.c -lpsapi -lntdll
@@ -107,7 +104,7 @@ jobs:
107104
tag: ${{ github.ref }}
108105
overwrite: true
109106
prerelease: true
110-
release_name: Development build
107+
release_name: ${{ github.ref_name }}
111108
file_glob: true
112109

113110
release-osx:
@@ -123,7 +120,7 @@ jobs:
123120
run: |
124121
# Compute dev version
125122
export PREV_VERSION=$(cat src/austin.h | sed -n -E "s/.*VERSION[ ]+\"(.+)\"/\1/p")
126-
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)
123+
export VERSION=${{ github.ref_name }}
127124
sed -i "" "s/$PREV_VERSION/$VERSION/g" src/austin.h
128125
echo "::set-output name=version::$VERSION"
129126
@@ -141,5 +138,6 @@ jobs:
141138
tag: ${{ github.ref }}
142139
overwrite: true
143140
prerelease: true
144-
release_name: Development build
145-
file_glob: true
141+
release_name: ${{ github.ref_name }}
142+
body: See the changelog for details.
143+
file_glob: true

.github/workflows/dev_release_arch.yml renamed to .github/workflows/pre_release_arch.yml

+8-10
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
name: Development release (Linux archs)
1+
name: Pre-release (Linux archs)
22
on:
33
push:
44
tags:
5-
- 'dev'
5+
- 'v*-*'
66
jobs:
77
release-linux-archs:
88
runs-on: ubuntu-latest
@@ -27,11 +27,11 @@ jobs:
2727
2828
# Compute dev version
2929
export PREV_VERSION=$(cat src/austin.h | sed -r -n "s/.*VERSION[ ]+\"(.+)\"/\1/p")
30-
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)
30+
export VERSION=${{ github.ref_name }}
3131
sed -i "s/$PREV_VERSION/$VERSION/g" src/austin.h
3232
run: |
3333
apt-get update
34-
apt-get -y install autoconf build-essential libunwind-dev musl-tools
34+
apt-get -y install autoconf build-essential libunwind-dev binutils-dev libiberty-dev musl-tools
3535
3636
# Build austin
3737
autoreconf --install
@@ -40,9 +40,6 @@ jobs:
4040
4141
export VERSION=$(cat src/austin.h | sed -r -n "s/.*VERSION[ ]+\"(.+)\"/\1/p")
4242
43-
# Build austinp
44-
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
45-
4643
pushd src
4744
tar -Jcf austin-$VERSION-gnu-linux-${{ matrix.arch }}.tar.xz austin
4845
tar -Jcf austinp-$VERSION-gnu-linux-${{ matrix.arch }}.tar.xz austinp
@@ -63,9 +60,10 @@ jobs:
6360
uses: svenstaro/upload-release-action@v2
6461
with:
6562
repo_token: ${{ secrets.GITHUB_TOKEN }}
66-
file: artifacts/austin*
63+
file: artifacts/austin*.tar.xz
6764
tag: ${{ github.ref }}
6865
overwrite: true
6966
prerelease: true
70-
release_name: Development build
71-
file_glob: true
67+
release_name: ${{ github.ref_name }}
68+
body: See the changelog for details.
69+
file_glob: true

.github/workflows/release.yml

+4-7
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: Release
22
on:
33
push:
44
tags:
5-
- 'v*'
5+
- 'v[0-9]+.[0-9]+.[0-9]+'
66
jobs:
77
release-linux:
88
runs-on: ubuntu-latest
@@ -16,7 +16,7 @@ jobs:
1616
- name: Generate artifacts
1717
run: |
1818
sudo apt-get update
19-
sudo apt-get -y install autoconf build-essential libunwind-dev musl-tools
19+
sudo apt-get -y install autoconf build-essential libunwind-dev binutils-dev libiberty-dev musl-tools
2020
2121
# Build austin
2222
autoreconf --install
@@ -25,9 +25,6 @@ jobs:
2525
2626
export VERSION=$(cat src/austin.h | sed -r -n "s/.*VERSION[ ]+\"(.+)\"/\1/p");
2727
28-
# Build austinp
29-
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
30-
3128
pushd src
3229
tar -Jcf austin-$VERSION-gnu-linux-amd64.tar.xz austin
3330
tar -Jcf austinp-$VERSION-gnu-linux-amd64.tar.xz austinp
@@ -43,7 +40,7 @@ jobs:
4340
uses: svenstaro/upload-release-action@v2
4441
with:
4542
repo_token: ${{ secrets.GITHUB_TOKEN }}
46-
file: src/austin-*
43+
file: src/austin-*.tar.xz
4744
tag: ${{ github.ref }}
4845
overwrite: true
4946
file_glob: true
@@ -139,4 +136,4 @@ jobs:
139136
file: src/austin-*
140137
tag: ${{ github.ref }}
141138
overwrite: true
142-
file_glob: true
139+
file_glob: true

.github/workflows/release_arch.yml

+4-7
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: Release (Linux archs)
22
on:
33
push:
44
tags:
5-
- 'v*'
5+
- 'v[0-9]+.[0-9]+.[0-9]+'
66
jobs:
77
release-linux-archs:
88
runs-on: ubuntu-latest
@@ -26,7 +26,7 @@ jobs:
2626
mkdir -p ./artifacts
2727
run: |
2828
apt-get update
29-
apt-get -y install autoconf build-essential libunwind-dev musl-tools
29+
apt-get -y install autoconf build-essential libunwind-dev binutils-dev libiberty-dev musl-tools
3030
3131
# Build austin
3232
autoreconf --install
@@ -35,9 +35,6 @@ jobs:
3535
3636
export VERSION=$(cat src/austin.h | sed -r -n "s/.*VERSION[ ]+\"(.+)\"/\1/p")
3737
38-
# Build austinp
39-
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
40-
4138
pushd src
4239
tar -Jcf austin-$VERSION-gnu-linux-${{ matrix.arch }}.tar.xz austin
4340
tar -Jcf austinp-$VERSION-gnu-linux-${{ matrix.arch }}.tar.xz austinp
@@ -58,7 +55,7 @@ jobs:
5855
uses: svenstaro/upload-release-action@v2
5956
with:
6057
repo_token: ${{ secrets.GITHUB_TOKEN }}
61-
file: artifacts/austin-*
58+
file: artifacts/austin-*.tar.xz
6259
tag: ${{ github.ref }}
6360
overwrite: true
64-
file_glob: true
61+
file_glob: true

0 commit comments

Comments
 (0)