Skip to content

pip test

pip test #157

name: pip test
on:
workflow_dispatch:
inputs:
git-ref:
description: checkout this tag (overrieds branch)
required: false
tags:
description: tag to create a release
required: false
skip_test:
description: skip test
required: false
jobs:
clone:
runs-on: ubuntu-latest
steps:
- name: 'Clone Repository (Latest)'
uses: actions/checkout@v4
- name: 'Clone Repository (Custom Ref)'
uses: actions/checkout@v4
if: github.event.inputs.git-ref != ''
with:
ref: ${{ github.event.inputs.git-ref }}
- name: 'Create release'
if: github.event.inputs.tags != null
uses: softprops/action-gh-release@v2
id : create_release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
name: Release ${{ github.event.inputs.tags }}
tag_name: ${{ github.event.inputs.tags }}
draft: true
prerelease: true
build_pip:
needs: [clone]
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: macOS-12
name: x86_64
python-version: 39
#cibw_python: ["cp38-*", "cp39*", "cp310-*"]
cibw_manylinux: [manylinux2014]
- os: ubuntu-latest
name: x86_64
python-version: 39
#cibw_python: ["cp38-*", "cp39*", "cp310-*"]
cibw_manylinux: [manylinux2014]
#cibw_arch: ["x86_64"]
- os: macOS-14
name: MAC_ARM
python-version: 39
#cibw_python: ["cp38-*", "cp39*", "cp310-*"]
cibw_manylinux: [macosx_arm64]
#cibw_arch: ["x86_64"]
steps:
- name: 'Clone Repository (Latest)'
uses: actions/checkout@v4
- name: 'Clone Repository (Custom Ref)'
uses: actions/checkout@v4
if: github.event.inputs.git-ref != ''
with:
ref: ${{ github.event.inputs.git-ref }}
- name: 'set env JETSETBESSELBUILD'
run: |
echo "FALSE">JETSETBESSELBUILD
echo "JETSETBESSELBUILD=$(cat JETSETBESSELBUILD)" >> $GITHUB_ENV
- name: 'echo env TEST'
run: |
echo "JETSETBESSELBUILD=${{ env.JETSETBESSELBUILD }}"
python -v
- name: 'Install swig'
run: |
if [ "$RUNNER_OS" == "Linux" ]; then
sudo apt-get update; sudo apt-get install swig
elif [ "$RUNNER_OS" == "macOS" ]; then
brew install swig
else
echo "$RUNNER_OS not supported"
exit 1
fi
- name: 'Setup python'
uses: actions/setup-python@v5
with:
python-version: 3.10
- name: 'adapt req'
run: |
python .github/workflows/adapt_reqirements_to_git_action.py
- name: Build SDist and install
run: |
python -m pip install --upgrade pip
pip install pytest
pip install wheel
pipx run build --sdist
pip install dist/*.tar.gz
- name: 'test sdist'
if: github.event.inputs.tags != null
working-directory: .github/action_test/
run: |
echo $(running tests!)
pytest --disable-warnings --pyargs -vvv jetset.tests.test_jet_model
- name: Upload SDist
if: matrix.python-version == '39' && matrix.os=='ubuntu-latest' && github.event.inputs.tags != null
uses: actions/upload-artifact@v4
with:
path: dist/*.tar.gz
- name: 'Upload Src Release Asset'
if: matrix.python-version == '39' && github.event.inputs.tags != null
uses: softprops/action-gh-release@v2
with:
name: Release ${{ github.event.inputs.tags }}
tag_name: ${{ github.event.inputs.tags }}
prerelease: true
draft: true
files: dist/*.tar.gz
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/checkout@v4
if: github.event.inputs.git-ref != '' && github.event.inputs.tags != null
with:
ref: ${{ github.event.inputs.git-ref }}
- uses: pypa/[email protected]
if: github.event.inputs.tags != null && github.event.inputs.tags != null
env:
CIBW_SKIP: "*-musllinux_*"
#CIBW_BUILD: ${{ matrix.cibw_python }}
CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.cibw_manylinux }}
CIBW_ARCHS: all
#CIBW_ARCHS_LINUX: "x86_64"
#CIBW_ARCHS_MACOS: "x86_64"
#CIBW_TEST_COMMAND: pytest --disable-warnings --pyargs -vvv jetset.tests.test_jet_model && pytest --pyargs -vvv jetset.tests.test_hadronic_energetic && pytest --pyargs -vvv jetset.tests.test_integration::TestIntegration
- name: Show files
if: github.event.inputs.tags != null
run: ls -lh wheelhouse
shell: bash
- name: Verify clean directory
run: git diff --exit-code
shell: bash
- name: 'test'
if: github.event.inputs.skip_test != 'yes'
working-directory: .github/action_test/
run: |
echo $(running tests!)
pytest --pyargs -vvv jetset.tests.test_jet_model
pytest --pyargs -vvv jetset.tests.test_hadronic_energetic
pytest --pyargs -vvv jetset.tests.test_integration::TestIntegration
- name: Upload wheels
uses: actions/upload-artifact@v4
if: github.event.inputs.tags != null
with:
overwrite: true
path: wheelhouse/*.whl
- name: 'Upload Binary Release Asset'
uses: softprops/action-gh-release@v2
if: github.event.inputs.tags != null
with:
name: Release ${{ github.event.inputs.tags }}
prerelease: true
draft: true
tag_name: ${{ github.event.inputs.tags }}
files: wheelhouse/*.whl
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}