Skip to content

fix(scons): strip annobin/hardened specs after configuration phase #6

fix(scons): strip annobin/hardened specs after configuration phase

fix(scons): strip annobin/hardened specs after configuration phase #6

Workflow file for this run

name: Windows Build
on:
push:
branches: [master, develop, feature/windows-support]
pull_request:
branches: [master, develop]
jobs:
build-windows:
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
compiler: [msvc, mingw]
python-version: ['3.11', '3.12']
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
pip install scons
- name: Install SWIG
run: |
choco install swig -y
shell: cmd
- name: Set up MSVC
if: matrix.compiler == 'msvc'
uses: ilammy/msvc-dev-cmd@v1
- name: Set up MinGW
if: matrix.compiler == 'mingw'
uses: egor-tensin/setup-mingw@v2
with:
platform: x64
- name: Install Perl (Strawberry)
run: |
choco install strawberryperl -y
refreshenv
shell: cmd
- name: Install R
uses: r-lib/actions/setup-r@v2
with:
r-version: 'release'
- name: Install R packages
run: |
Rscript -e "install.packages(c('Rcpp', 'RInside'), repos='https://cloud.r-project.org')"
shell: cmd
- name: Display build environment
run: |
echo "Python version:"
python --version
echo "SCons version:"
scons --version
echo "SWIG version:"
swig -version
echo "R version:"
Rscript --version
echo "Perl version:"
perl -v | head -2
shell: bash
- name: Build PluMA (without R and Perl for initial test)
run: |
scons --without-r --without-perl
shell: cmd
continue-on-error: true
- name: Build PluMA (Python only)
if: failure()
run: |
scons --without-r --without-perl
shell: cmd
- name: Check build artifacts
run: |
echo "Checking for built files..."
if (Test-Path "pluma.exe") { echo "pluma.exe exists" } else { echo "pluma.exe not found" }
if (Test-Path "_PyPluMA.dll") { echo "_PyPluMA.dll exists" } else { echo "_PyPluMA.dll not found" }
if (Test-Path "PluGen/plugen.exe") { echo "plugen.exe exists" } else { echo "plugen.exe not found" }
Get-ChildItem -Filter "*.dll" | ForEach-Object { echo $_.Name }
Get-ChildItem -Filter "*.exe" | ForEach-Object { echo $_.Name }
shell: pwsh
build-windows-full:
runs-on: windows-latest
needs: build-windows
if: success()
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
pip install scons
- name: Install SWIG
run: choco install swig -y
shell: cmd
- name: Set up MSVC
uses: ilammy/msvc-dev-cmd@v1
- name: Install Perl (Strawberry)
run: choco install strawberryperl -y
shell: cmd
- name: Install R
uses: r-lib/actions/setup-r@v2
with:
r-version: 'release'
- name: Install R packages
run: |
Rscript -e "install.packages(c('Rcpp', 'RInside'), repos='https://cloud.r-project.org')"
shell: cmd
- name: Full build with all languages
run: scons
shell: cmd
continue-on-error: true
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: pluma-windows-build
path: |
pluma.exe
*.dll
PluGen/plugen.exe
if-no-files-found: warn