126 lines
5.4 KiB
YAML
126 lines
5.4 KiB
YAML
name: Continuous Integration
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
makepanda:
|
|
if: "!contains(github.event.head_commit.message, '[skip ci]') && !contains(github.event.head_commit.message, '[ci skip]')"
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-22.04, windows-2022, macOS-14]
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: Install dependencies (Ubuntu)
|
|
if: matrix.os == 'ubuntu-22.04'
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install build-essential bison flex libfreetype6-dev libgl1-mesa-dev libjpeg-dev libode-dev libopenal-dev libpng-dev libssl-dev libvorbis-dev libx11-dev libxcursor-dev libxrandr-dev nvidia-cg-toolkit zlib1g-dev
|
|
- name: Get thirdparty packages (Windows)
|
|
if: runner.os == 'Windows'
|
|
shell: powershell
|
|
run: |
|
|
$wc = New-Object System.Net.WebClient
|
|
$wc.DownloadFile("https://www.panda3d.org/download/panda3d-1.10.16/panda3d-1.10.16-tools-win64.zip", "thirdparty-tools.zip")
|
|
Expand-Archive -Path thirdparty-tools.zip
|
|
Move-Item -Path thirdparty-tools/panda3d-1.10.16/thirdparty -Destination .
|
|
- name: Get thirdparty packages (macOS)
|
|
if: runner.os == 'macOS'
|
|
run: |
|
|
curl -O https://www.panda3d.org/download/panda3d-1.10.15/panda3d-1.10.15-tools-mac.tar.gz
|
|
tar -xf panda3d-1.10.15-tools-mac.tar.gz
|
|
mv panda3d-1.10.15/thirdparty thirdparty
|
|
rmdir panda3d-1.10.15
|
|
(cd thirdparty/darwin-libs-a && rm -rf rocket)
|
|
|
|
- name: Set up Python 3.13
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.13'
|
|
- name: Build Python 3.13
|
|
shell: bash
|
|
run: |
|
|
python makepanda/makepanda.py --git-commit=${{github.sha}} --outputdir=built --everything --no-eigen --python-incdir="$pythonLocation/include" --python-libdir="$pythonLocation/lib" --verbose --threads=4 --windows-sdk=10 --msvc-version=14.3
|
|
- name: Test Python 3.13
|
|
shell: bash
|
|
run: |
|
|
python -m pip install pytest setuptools
|
|
PYTHONPATH=built LD_LIBRARY_PATH=built/lib:$pythonLocation/lib DYLD_LIBRARY_PATH=built/lib python -m pytest
|
|
|
|
- name: Set up Python 3.12
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.12'
|
|
- name: Build Python 3.12
|
|
shell: bash
|
|
run: |
|
|
python makepanda/makepanda.py --git-commit=${{github.sha}} --outputdir=built --everything --no-eigen --python-incdir="$pythonLocation/include" --python-libdir="$pythonLocation/lib" --verbose --threads=4 --windows-sdk=10 --msvc-version=14.3
|
|
- name: Test Python 3.12
|
|
shell: bash
|
|
run: |
|
|
python -m pip install pytest setuptools
|
|
PYTHONPATH=built LD_LIBRARY_PATH=built/lib:$pythonLocation/lib DYLD_LIBRARY_PATH=built/lib python -m pytest
|
|
|
|
- name: Set up Python 3.11
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.11'
|
|
- name: Build Python 3.11
|
|
shell: bash
|
|
run: |
|
|
python makepanda/makepanda.py --git-commit=${{github.sha}} --outputdir=built --everything --no-eigen --python-incdir="$pythonLocation/include" --python-libdir="$pythonLocation/lib" --verbose --threads=4 --windows-sdk=10 --msvc-version=14.3
|
|
- name: Test Python 3.11
|
|
shell: bash
|
|
run: |
|
|
python -m pip install pytest
|
|
PYTHONPATH=built LD_LIBRARY_PATH=built/lib:$pythonLocation/lib DYLD_LIBRARY_PATH=built/lib python -m pytest
|
|
|
|
- name: Set up Python 3.10
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.10'
|
|
- name: Build Python 3.10
|
|
shell: bash
|
|
run: |
|
|
python makepanda/makepanda.py --git-commit=${{github.sha}} --outputdir=built --everything --no-eigen --python-incdir="$pythonLocation/include" --python-libdir="$pythonLocation/lib" --verbose --threads=4 --windows-sdk=10 --msvc-version=14.3
|
|
- name: Test Python 3.10
|
|
shell: bash
|
|
run: |
|
|
python -m pip install pytest
|
|
PYTHONPATH=built LD_LIBRARY_PATH=built/lib:$pythonLocation/lib DYLD_LIBRARY_PATH=built/lib python -m pytest
|
|
|
|
- name: Set up Python 3.9
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.9'
|
|
- name: Build Python 3.9
|
|
shell: bash
|
|
run: |
|
|
python makepanda/makepanda.py --git-commit=${{github.sha}} --outputdir=built --everything --no-eigen --python-incdir="$pythonLocation/include" --python-libdir="$pythonLocation/lib" --verbose --threads=4 --windows-sdk=10 --msvc-version=14.3
|
|
- name: Test Python 3.9
|
|
shell: bash
|
|
run: |
|
|
python -m pip install pytest
|
|
PYTHONPATH=built LD_LIBRARY_PATH=built/lib:$pythonLocation/lib DYLD_LIBRARY_PATH=built/lib python -m pytest
|
|
|
|
- name: Set up Python 3.8
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.8'
|
|
- name: Build Python 3.8
|
|
shell: bash
|
|
run: |
|
|
python makepanda/makepanda.py --git-commit=${{github.sha}} --outputdir=built --everything --no-eigen --python-incdir="$pythonLocation/include" --python-libdir="$pythonLocation/lib" --verbose --threads=4 --windows-sdk=10 --msvc-version=14.3
|
|
- name: Test Python 3.8
|
|
shell: bash
|
|
run: |
|
|
python -m pip install pytest
|
|
PYTHONPATH=built LD_LIBRARY_PATH=built/lib:$pythonLocation/lib DYLD_LIBRARY_PATH=built/lib python -m pytest
|
|
|
|
- name: Remove p3dcparse
|
|
if: matrix.os == 'ubuntu-22.04'
|
|
run: |
|
|
rm -f built/bin/p3dcparse
|
|
- name: Make installer
|
|
run: |
|
|
python makepanda/makepackage.py --verbose --lzma
|