conda test #81
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: | |
matrix: | |
os: [macOS-12,ubuntu-latest] | |
python-version: [ 3.8,3.9,'3.10'] | |
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: | |
# the create command looks like this: | |
# `micromamba create -n test-env python=3.10 numpy` | |
environment-name: test-env | |
create-args: >- | |
python=${{ matrix.python-version }} | |
swig>=3.0.0 | |
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: 'build ' | |
# run: | | |
# source ~/.bash_profile | |
# micromamba activate test-env | |
# echo "JETSETBESSELBUILD=${{ env.JETSETBESSELBUILD }}" | |
# python setup.py clean | |
# python setup.py install | |
# python setup.py clean | |
# echo "JETSETBESSELBUILD=${{ env.JETSETBESSELBUILD }}" | |
#- name: 'set pkg version' | |
# run: | | |
# echo "PKG_VERSION=$(micromamba activate test-env && cd ../../ && python -c "import jetset;print(jetset.__version__)")" >> $GITHUB_ENV | |
#- name: 'echo pkg version' | |
# run: | | |
# echo "PKG_VERSION=${{env.PKG_VERSION}}" | |
- 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' | |
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' | |
working-directory: .github/conda-pipeline/github/ | |
run: | | |
echo $(cat CONDABUILDJETSET.txt) | |
echo "CONDABUILDJETSET=$(tail -1 CONDABUILDJETSET.txt)" >> $GITHUB_ENV | |
- name: 'echo env CONDABUILDJETSET' | |
working-directory: .github/conda-pipeline/github/ | |
run: echo "CONDABUILDJETSET=${{env.CONDABUILDJETSET}}" | |
- name: 'conda install' | |
run: | | |
source ~/.bash_profile | |
micromamba activate test-env | |
conda install --yes --offline $CONDABUILDJETSET | |
- 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' | |
shell: bash | |
run: | | |
python .github/workflows/conda_rename.py | |
- name: Upload packages | |
uses: actions/upload-artifact@v4 | |
with: | |
overwrite: true | |
path: 'conda-binary/*' | |
- name: 'Upload Release Asset' | |
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 }} | |
#- name: Upload Release Asset conda | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# run: | |
# gh release upload ${{ github.event.inputs.tags }} conda-binary/* --clobber | |
#- name: Upload Release Asset conda tag | |
# if: github.event.inputs.git-ref != '' | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# run: | |
# gh release upload ${{ github.event.inputs.git-ref }} conda-binary/* --clobber |