Skip to content

conda test

conda test #87

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: '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 }}