Skip to content

Commit

Permalink
Release v3.2.0
Browse files Browse the repository at this point in the history
See the changelog for details.
  • Loading branch information
P403n1x87 committed Dec 16, 2021
2 parents 0354d4b + 93d3c9d commit 904a390
Show file tree
Hide file tree
Showing 42 changed files with 8,919 additions and 267 deletions.
145 changes: 145 additions & 0 deletions .github/workflows/dev_release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
name: Development release
on:
push:
tags:
- 'dev'
jobs:
release-linux:
runs-on: ubuntu-latest
strategy:
fail-fast: false
name: Release (Linux)
steps:
- uses: actions/checkout@v2
name: Checkout Austin

- name: Generate artifacts
run: |
sudo apt-get update
sudo apt-get -y install autoconf build-essential libunwind-dev musl-tools
# Build austin
autoreconf --install
./configure
make
# 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)
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
popd
# Build with musl
musl-gcc -O3 -Os -s -Wall -pthread src/*.c -o src/austin -D__MUSL__
pushd src
tar -Jcf austin-$VERSION-musl-linux-amd64.tar.xz austin
popd
- name: Upload artifacts to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: src/austin*xz
tag: ${{ github.ref }}
overwrite: true
prerelease: true
release_name: Development build
file_glob: true

release-win:
runs-on: windows-latest
strategy:
fail-fast: false
name: Release (Windows)
steps:
- uses: actions/checkout@v2
name: Checkout Austin
with:
fetch-depth: 0

- name: Generate artifacts
shell: bash
run: |
echo "C:\Program Files (x86)\WiX Toolset v3.11\bin" >> $GITHUB_PATH
export PATH="/c/Program Files (x86)/`ls /c/Program\ Files\ \(x86\) | grep \"[wW]i[xX] [tT]oolset\"`/bin:$PATH"
# 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)
sed -i "s/$PREV_VERSION/$VERSION/g" src/austin.h
gcc -s -Wall -O3 -Os -o src/austin src/*.c -lpsapi -lntdll
git checkout HEAD -- src/austin.h
git checkout "packaging/msi"
git checkout master
git checkout "packaging/msi" -- wix
export WIN_MSI="austin-$VERSION_DEV-win64.msi"
sed -i "s/%VERSION%/$VERSION/g" wix/Austin.wxs
pushd wix
candle Austin.wxs -out Austin.wixobj
light -ext WixUIExtension Austin.wixobj -out $WIN_MSI
popd
mv wix/$WIN_MSI src/$WIN_MSI;
test -f src/$WIN_MSI && echo ">> Windows MSI installer at src/$WIN_MSI" || echo ">> ERROR No Windows MSI installer generated."
pushd src
7z a -tzip austin-${VERSION_DEV}-win64.zip austin.exe
popd
- name: Upload artifacts to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: src/austin-*
tag: ${{ github.ref }}
overwrite: true
prerelease: true
release_name: Development build
file_glob: true

release-osx:
runs-on: macos-latest
strategy:
fail-fast: false
name: Release (macOS)
steps:
- uses: actions/checkout@v2
name: Checkout Austin

- name: Generate artifacts
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)
sed -i "" "s/$PREV_VERSION/$VERSION/g" src/austin.h
echo "::set-output name=version::$VERSION"
gcc -Wall -O3 -Os -o src/austin src/*.c
pushd src
zip -r austin-${VERSION}-mac64.zip austin
popd
- name: Upload artifacts to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: src/austin-*
tag: ${{ github.ref }}
overwrite: true
prerelease: true
release_name: Development build
file_glob: true
71 changes: 71 additions & 0 deletions .github/workflows/dev_release_arch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: Development release (Linux archs)
on:
push:
tags:
- 'dev'
jobs:
release-linux-archs:
runs-on: ubuntu-latest
strategy:
matrix:
arch: ["armv7", "aarch64", "ppc64le"]
fail-fast: false
name: Build on ${{ matrix.arch }}
steps:
- uses: actions/checkout@v2
name: Checkout sources
- uses: uraimo/run-on-arch-action@v2.0.5
name: Generate artifacts on ${{ matrix.arch }}
id: run-tests-on-arch
with:
arch: ${{ matrix.arch }}
distro: ubuntu20.04
githubToken: ${{ github.token }}
dockerRunArgs: --volume "${GITHUB_WORKSPACE}/artifacts:/artifacts"
setup: |
mkdir -p ./artifacts
# 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)
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
# Build austin
autoreconf --install
./configure
make
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
musl-gcc -O3 -Os -s -Wall -pthread *.c -o austin -D__MUSL__
tar -Jcf austin-$VERSION-musl-linux-${{ matrix.arch }}.tar.xz austin
mv austin-$VERSION-gnu-linux-${{ matrix.arch }}.tar.xz /artifacts
mv austinp-$VERSION-gnu-linux-${{ matrix.arch }}.tar.xz /artifacts
mv austin-$VERSION-musl-linux-${{ matrix.arch }}.tar.xz /artifacts
popd
- name: Show artifacts
run: |
ls -al ./artifacts
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: artifacts/austin*
tag: ${{ github.ref }}
overwrite: true
prerelease: true
release_name: Development build
file_glob: true
15 changes: 13 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,27 @@ jobs:
- name: Generate artifacts
run: |
sudo apt-get update
sudo apt-get -y install autoconf build-essential
sudo apt-get -y install autoconf build-essential libunwind-dev musl-tools
# Build austin
autoreconf --install
./configure
make
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
popd
# Build with musl
musl-gcc -O3 -Os -s -Wall -pthread src/*.c -o src/austin -D__MUSL__
pushd src
tar -Jcf austin-$VERSION-linux-amd64.tar.xz austin
tar -Jcf austin-$VERSION-musl-linux-amd64.tar.xz austin
popd
- name: Upload artifacts to release
Expand Down
21 changes: 16 additions & 5 deletions .github/workflows/release_arch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,17 +26,28 @@ jobs:
mkdir -p ./artifacts
run: |
apt-get update
apt-get -y install autoconf build-essential
apt-get -y install autoconf build-essential libunwind-dev musl-tools
# Build austin
autoreconf --install
./configure
make
export VERSION=$(cat src/austin.h | sed -r -n "s/.*VERSION[ ]+\"(.+)\"/\1/p");
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-linux-${{ matrix.arch }}.tar.xz austin
mv austin-$VERSION-linux-${{ matrix.arch }}.tar.xz /artifacts
tar -Jcf austin-$VERSION-gnu-linux-${{ matrix.arch }}.tar.xz austin
tar -Jcf austinp-$VERSION-gnu-linux-${{ matrix.arch }}.tar.xz austinp
musl-gcc -O3 -Os -s -Wall -pthread *.c -o austin -D__MUSL__
tar -Jcf austin-$VERSION-musl-linux-${{ matrix.arch }}.tar.xz austin
mv austin-$VERSION-gnu-linux-${{ matrix.arch }}.tar.xz /artifacts
mv austinp-$VERSION-gnu-linux-${{ matrix.arch }}.tar.xz /artifacts
mv austin-$VERSION-musl-linux-${{ matrix.arch }}.tar.xz /artifacts
popd
- name: Show artifacts
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,13 @@ jobs:

- name: Install test dependencies
run: |
brew update
brew install python || brew upgrade python
brew install python@3.8 || true
brew install python@3.9 || true
brew install python@3.10 || true
brew install bats-core || true
brew cask install anaconda || true
brew install --cask anaconda || true
- name: Run tests
run: sudo bats test/macos/test.bats
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ stamp-h1
*.gcda

src/austin
src/austinp
src/austin.exe


Expand Down
11 changes: 11 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
2021-xx-xx v3.2.0

Improved detection of invalid samples

Added support for Python launchers on Windows

Improved Python version detection on Linux

Fixed support of older versions of glibc on Linux


2021-08-18 v3.1.0

Added garbage collection state sampling for Python 3.7 onward.
Expand Down
Loading

0 comments on commit 904a390

Please sign in to comment.