Skip to content

Merge pull request #183 from P403n1x87/chore/cherry-pick-177-to-master #756

Merge pull request #183 from P403n1x87/chore/cherry-pick-177-to-master

Merge pull request #183 from P403n1x87/chore/cherry-pick-177-to-master #756

Workflow file for this run

name: Tests
on:
push:
branches:
- master
- devel
pull_request:
concurrency:
group: ${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
build-linux:
runs-on: ubuntu-20.04
name: Build Austin on Linux
steps:
- uses: actions/checkout@v2
- name: Install build dependencies
run: |
sudo apt-get -y install libunwind-dev binutils-dev libiberty-dev
- name: Compile Austin
run: |
autoreconf --install
./configure --enable-debug-symbols true
make
- uses: actions/upload-artifact@v3
with:
name: austin-binaries
path: |
src/austin
src/austinp
tests-linux:
runs-on: ubuntu-20.04
needs: build-linux
strategy:
fail-fast: false
matrix:
python-version: ["3.5", "3.6", "3.7", "3.8", "3.9", "3.10", "3.11"]
env:
AUSTIN_TESTS_PYTHON_VERSIONS: ${{ matrix.python-version }}
name: Tests on Linux with Python ${{ matrix.python-version }}
steps:
- uses: actions/checkout@v2
- uses: actions/download-artifact@v3
with:
name: austin-binaries
path: src
- run: chmod +x src/austin && chmod +x src/austinp
- name: Install test dependencies
run: |
sudo apt-get -y install \
valgrind \
gdb
- name: Install Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}-dev
- name: Install Python 3.10
uses: actions/setup-python@v4
with:
python-version: "3.10"
- 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
sudo -E env PATH="$PATH" .venv/bin/pytest --pastebin=failed --no-flaky-report -sr a
.venv/bin/pytest --pastebin=failed --no-flaky-report -sr a
deactivate
build-osx-gcc:
runs-on: macos-latest
name: Build Austin on macOS (gcc)
steps:
- uses: actions/checkout@v2
- name: Compile Austin
run: gcc-11 -Wall -Werror -O3 -g src/*.c -o src/austin
- uses: actions/upload-artifact@v3
with:
name: austin-binary
path: |
src/austin
build-osx-clang:
runs-on: macos-latest
name: Build Austin on macOS (clang)
steps:
- uses: actions/checkout@v2
- name: Install automake
run: brew install automake
- run: |
autoreconf --install
./configure
make
tests-osx:
runs-on: macos-latest
needs: [build-osx-gcc, build-osx-clang]
strategy:
fail-fast: false
matrix:
python-version: ["2.7", "3.5", "3.6", "3.7", "3.8", "3.9", "3.10", "3.11"]
env:
AUSTIN_TESTS_PYTHON_VERSIONS: ${{ matrix.python-version }}
name: Tests on macOS with Python ${{ matrix.python-version }}
steps:
- uses: actions/checkout@v2
- uses: actions/download-artifact@v3
with:
name: austin-binary
path: src
- run: chmod +x src/austin
- name: Install Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}-dev
- name: Install Python 3.10
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Remove signature from the Python binary
run: |
codesign --remove-signature /Library/Frameworks/Python.framework/Versions/${{ matrix.python-version }}/bin/python3 || true
codesign --remove-signature /Library/Frameworks/Python.framework/Versions/${{ matrix.python-version }}/Resources/Python.app/Contents/MacOS/Python || true
- name: Run tests
run: |
python3.10 -m pip install --upgrade pip
python3.10 -m pip install -r test/requirements.txt
python${{ matrix.python-version }} -m venv .venv \
|| (python${{ matrix.python-version }} -m pip install virtualenv && python${{ matrix.python-version }} -m virtualenv .venv)
source .venv/bin/activate
sudo -E pytest --ignore=test/cunit --pastebin=failed --no-flaky-report -sr a
deactivate
build-win:
runs-on: windows-latest
name: Build Austin on Windows
steps:
- uses: actions/checkout@v2
- name: Compile Austin
run: |
gcc.exe --version
gcc.exe -O3 -g -o src/austin.exe src/*.c -lpsapi -lntdll -Wall -Werror
src\austin.exe --help
- uses: actions/upload-artifact@v3
with:
name: austin-binary
path: |
src/austin.exe
tests-win:
runs-on: windows-latest
needs: build-win
strategy:
fail-fast: false
matrix:
python-version: ["2.7", "3.5", "3.6", "3.7", "3.8", "3.9", "3.10", "3.11"]
env:
AUSTIN_TESTS_PYTHON_VERSIONS: ${{ matrix.python-version }}
name: Tests on Windows with Python ${{ matrix.python-version }}
steps:
- uses: actions/checkout@v2
- uses: actions/download-artifact@v3
with:
name: austin-binary
path: src
- name: Install Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}-dev
- uses: actions/setup-python@v2
name: Install Python 3.10
with:
python-version: '3.10'
- name: Run tests
run: |
py -3.10 -m venv venv
venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install -r test/requirements.txt
python -m pytest --ignore=test\cunit --pastebin=failed --no-flaky-report -sr a
deactivate