Skip to content

conda test

conda test #81

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