Simplifies arg detection #46
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: Test wheel file build | |
on: [push, pull_request] | |
jobs: | |
build_wheels_pypy: | |
name: Build PyPy wheels on ${{ matrix.os }} | |
# if: github.event_name == 'pull_request' | |
runs-on: ${{ matrix.os }} | |
continue-on-error: true | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-13, macos-14] | |
steps: | |
- name: Checks out repo | |
uses: actions/checkout@v4 | |
- name: Set UBUNTU tags env variables. | |
if: matrix.os == 'ubuntu-latest' | |
run: | | |
# Set "checking" variable to false by default. | |
echo "has_tags=false" >> $GITHUB_ENV | |
# Get your last commit message, not the merge commit. | |
text=$(git log -1 --no-merges --pretty=%B) | |
# Read the commit message into an array split by "#". | |
readarray -d "#" -t commit_message <<< "$text" | |
# Sanity check. | |
echo "the tags are: ${commit_message[1]}" | |
# Add tags and overwrite "checking" variable to true if there are tags. | |
if [[ "${commit_message[1]}" == *"@"* ]]; then | |
echo "has_tags=true" >> $GITHUB_ENV | |
echo "spec_tags=${commit_message[1]}" >> $GITHUB_ENV | |
fi | |
- name: Set macOS tags env variables. | |
if: (matrix.os == 'macos-13') || (matrix.os == 'macos-14') | |
run: | | |
# Set "checking" variable to false by default. | |
echo "has_tags=false" >> $GITHUB_ENV | |
# Get your last commit message, not the merge commit. | |
text=$(git log -1 --no-merges --pretty=%B) | |
# Read the commit message into an array split by "#". | |
echo $(echo $text|tr -d '\n') | |
commit_args=${text#*#} | |
# Sanity check. | |
echo "Arguments are:" | |
echo $commit_args | |
# Add tags and overwrite "checking" variable to true if there are tags. | |
if [[ "${commit_args}" == *"@"* ]]; then | |
echo "has_tags=true" >> $GITHUB_ENV | |
echo "spec_tags=${commit_args}" >> $GITHUB_ENV | |
fi | |
- name: Detect args | |
if: ${{ contains(env.spec_tags, '@work?') }} | |
run: | | |
echo "It's there!" | |
- name: Set up macOS-specific paths and libraries | |
if: (matrix.os == 'macos-13') || (matrix.os == 'macos-14') | |
run: | | |
# Symlink the correct gfortran compiler | |
ln -s $(brew --prefix)/bin/gfortran-13 $(brew --prefix)/bin/gfortran | |
# Install OMP libraries | |
brew install libomp | |
# Link environments to env for later us with cibuildwheel | |
echo "LIBOMPPATH=$(brew --prefix libomp)" >> $GITHUB_ENV | |
echo "LLVMCLANG=$(brew --prefix llvm@15)" >> $GITHUB_ENV | |
- name: Build wheels | |
uses: pypa/[email protected] | |
env: | |
CIBW_BUILD: pp* | |
CIBW_SKIP: "pp37-* cp37-* *-win32 *-manylinux_i686" | |
CIBW_BEFORE_BUILD: pip install numpy 'forthon>=0.10.7' 'build<0.10.0' | |
CC: ${{ env.LLVMCLANG }}/bin/clang | |
LDFLAGS: "-L${{env.LIBOMPPATH }}/lib" | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: cibw-wheels-pyp-${{ matrix.os }}-${{ strategy.job-index }} | |
path: ./wheelhouse/*.whl | |