Merge pull request #183 from P403n1x87/chore/cherry-pick-177-to-master #756
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |