conda test #104
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: conda 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_conda: | |
needs: [clone] | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- os: macOS-12 | |
name: macOS-x86_64 | |
cpython-version: 39 | |
python-version: "3.9" | |
platform_id: macosx_x86_64 | |
cibw_manylinux: manylinux2014 | |
cibw_arch: x86_64 | |
- os: ubuntu-latest | |
name: x86_64 | |
cpython-version: 39 | |
python-version: "3.9" | |
platform_id: manylinux_x86_64 | |
cibw_manylinux: manylinux2014 | |
cibw_arch: x86_64 | |
- os: macOS-12 | |
name: macOS-x86_64 | |
cpython-version: 310 | |
python-version: "3.10" | |
platform_id: macosx_x86_64 | |
cibw_manylinux: manylinux2014 | |
cibw_arch: x86_64 | |
- os: ubuntu-latest | |
name: x86_64 | |
cpython-version: 310 | |
python-version: "3.10" | |
platform_id: manylinux_x86_64 | |
cibw_manylinux: manylinux2014 | |
cibw_arch: x86_64 | |
- os: macOS-12 | |
name: macOS-x86_64 | |
cpython-version: 311 | |
python-version: "3.11" | |
platform_id: macosx_x86_64 | |
cibw_manylinux: manylinux2014 | |
cibw_arch: x86_64 | |
- os: ubuntu-latest | |
name: x86_64 | |
cpython-version: 311 | |
python-version: "3.11" | |
platform_id: manylinux_x86_64 | |
cibw_manylinux: manylinux2014 | |
cibw_arch: x86_64 | |
- os: macOS-14 | |
name: MAC_ARM | |
cpython-version: 311 | |
python-version: "3.11" | |
platform_id: macosx_arm64 | |
cibw_manylinux: macosx_arm64 | |
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 }} | |
- uses: mamba-org/setup-micromamba@v1 | |
with: | |
environment-name: test-env | |
create-args: >- | |
python=${{ matrix.python-version }} | |
swig>=4 | |
conda-build | |
pytest | |
boa | |
generate-run-shell: true | |
init-shell: bash | |
- name: 'Install dependencies' | |
shell: bash | |
run: | | |
source ~/.bash_profile | |
micromamba activate test-env | |
micromamba install -c astropy -c conda-forge --file requirements.txt | |
- name: 'set env JETSETBESSELBUILD' | |
run: | | |
echo "FALSE">JETSETBESSELBUILD | |
echo "JETSETBESSELBUILD=$(cat JETSETBESSELBUILD)" >> $GITHUB_ENV | |
- name: 'echo env TEST' | |
run: | | |
echo "JETSETBESSELBUILD=${{ env.JETSETBESSELBUILD }}" | |
- name: 'generate meta.yaml from requirements.txt' | |
run: | | |
source ~/.bash_profile | |
micromamba activate test-env | |
python .github/workflows/requirements_to_conda_yml.py | |
- name: 'conda build' | |
if: github.event.inputs.tags != null | |
working-directory: .github/conda-pipeline/github/ | |
run: | | |
source ~/.bash_profile | |
micromamba activate test-env | |
cat meta.yaml | |
cat build.sh | |
conda config --set anaconda_upload no | |
conda build purge | |
echo "building" | |
conda mambabuild . -c conda-forge -c astropy | |
echo "redirect output" | |
conda mambabuild . --output > ./CONDABUILDJETSET.txt | |
- name: 'set env CONDABUILDJETSET' | |
if: github.event.inputs.tags != null | |
working-directory: .github/conda-pipeline/github/ | |
run: | | |
echo $(cat CONDABUILDJETSET.txt) | |
echo "CONDABUILDJETSET=$(tail -1 CONDABUILDJETSET.txt)" >> $GITHUB_ENV | |
- name: 'echo env CONDABUILDJETSET' | |
if: github.event.inputs.tags != null | |
working-directory: .github/conda-pipeline/github/ | |
run: echo "CONDABUILDJETSET=${{env.CONDABUILDJETSET}}" | |
- name: 'conda install from conda build' | |
if: github.event.inputs.tags != null | |
run: | | |
source ~/.bash_profile | |
micromamba activate test-env | |
conda install --yes --offline $CONDABUILDJETSET | |
- name: 'conda install from source' | |
if: github.event.inputs.tags == null | |
run: | | |
source ~/.bash_profile | |
micromamba activate test-env | |
python setup.py install | |
- name: 'test' | |
if: github.event.inputs.skip_test != 'yes' | |
working-directory: .github/action_test/ | |
run: | | |
echo $(running tests!) | |
source ~/.bash_profile | |
micromamba activate test-env | |
pytest --pyargs -vvv jetset.tests.test_jet_model | |
pytest --pyargs -vvv jetset.tests.test_hadronic_energetic | |
pytest --pyargs -vvv jetset.tests.test_integration::TestIntegration | |
env: | |
WF_ENV: CONDA | |
- name: 'prepare asset' | |
if: github.event.inputs.tags != null | |
shell: bash | |
run: | | |
python .github/workflows/conda_rename.py | |
#- name: Upload packages | |
# uses: actions/upload-artifact@v4 | |
# if: github.event.inputs.tags != null | |
# with: | |
# overwrite: true | |
# path: 'conda-binary/*' | |
- name: 'Upload Release Asset' | |
if: 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: 'conda-binary/*' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |