Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
name: "linux tests and documentation builds for 'kiara_plugin.anom_processing'"
# This workflow is triggered on pushes to the repository.
on: [push]

jobs:

#  commitlint:
#    name: lint commit message
#    runs-on: ubuntu-latest
#    steps:
#      - uses: actions/checkout@v2
#        with:
#          fetch-depth: 0
#      - uses: wagoid/commitlint-github-action@v4

  test-linux:
    name: pytest on linux
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python_version: ["3.8", "3.9", "3.10"]
    steps:
      - name: "Set up Python ${{ matrix.python_version }}"
        uses: actions/setup-python@v2
        with:
          python-version: "${{ matrix.python_version }}"
      - uses: actions/checkout@v2
      - name: install kiara_plugin.anom_processing
        run: pip install -U --extra-index-url https://pypi.fury.io/dharpa/ .[all,dev_testing]
      - name: display installed kiara and module package versions
        run: pip list | grep kiara
      - name: Test with pytest
        run: make test

# Uncomment this if you have coveralls.io setup with this repo
#  coverage:
#    name: create and publish test coverage
#    runs-on: ubuntu-latest
#    steps:
#      - name: "Set up Python 3.9"
#        uses: actions/setup-python@v2
#        with:
#          python-version: 3.9
#      - uses: actions/checkout@v2
#      - name: install kiara
#        run: pip install -U --extra-index-url https://pypi.fury.io/dharpa/ .[all,dev_testing]
#      - name: display installed kiara and module package versions
#        run: pip list | grep kiara
#      - name: Run coverage
#        run: coverage run -m pytest tests
#      - name: Upload coverage data to coveralls.io
#        run: coveralls --service=github
#        env:
#          GITHUB_TOKEN:  ${{ secrets.GITHUB_TOKEN }}""

#  mypy-linux:
#    name: mypy check on linux
#    runs-on: ubuntu-latest
#    strategy:
#      matrix:
#        python_version: [3.8, 3.9]
#    steps:
#      - name: "Set up Python ${{ matrix.python_version }}"
#        uses: actions/setup-python@v2
#        with:
#          python-version: "${{ matrix.python_version }}"
#      - uses: actions/checkout@v2
#      - name: install kiara_plugin.anom_processing
#        run: pip install -U --extra-index-url https://pypi.fury.io/dharpa/ .[all,dev_testing]
#      - name: Test with mypy
#        run: make mypy

#  flake8-linux:
#    name: flake8 on linux
#    runs-on: ubuntu-latest
#    steps:
#      - name: Set up Python 3.9
#        uses: actions/setup-python@v2
#        with:
#          python-version: 3.9
#      - uses: actions/checkout@v2
#      - name: install kiara_plugin.anom_processing
#        run: pip install -U --extra-index-url https://pypi.fury.io/dharpa/ .[all,dev_testing]
#      - name: Test with flake8
#        run: make flake

  build-docs:
    name: build documentation
    if: ${{ github.ref == 'refs/heads/develop' }} || ${{ github.ref == 'refs/heads/main' }} || startsWith(github.ref, 'refs/tags/')
    runs-on: ubuntu-latest
    needs:
      - test-linux
#      - mypy-linux
#      - flake8-linux
    steps:
      - name: Set up Python 3.9
        uses: actions/setup-python@v2
        with:
          python-version: 3.9
      - uses: actions/checkout@v2
        with:
          fetch-depth: 0
      - name: install kiara_plugin.anom_processing package
        run: pip install -U --extra-index-url https://pypi.fury.io/dharpa/ .[all,dev_documentation]
      - run: git config --global user.email "Mariella De Crouy"
      - run: git config --global user.name "mariella.decrouychanel@uni.lu"
      - name: create latest documentation
        if: ${{ ( github.ref == 'refs/heads/develop') }}
        run: FAIL_DOC_BUILD_ON_ERROR=true mike deploy --push latest && mike set-default --push latest
      - name: extract tag name
        run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
      - name: create stable documentation
        if: startsWith(github.ref, 'refs/tags')
        run: FAIL_DOC_BUILD_ON_ERROR=true mike deploy --push --update-alias --title "v ${RELEASE_VERSION}" "${RELEASE_VERSION}" stable

  release_package:
    name: publish python package
    if: ${{ github.ref == 'refs/heads/develop' }} || ${{ github.ref == 'refs/heads/main' }} || startsWith(github.ref, 'refs/tags/')
    runs-on: ubuntu-latest
    needs:
      - test-linux
#      - mypy-linux
#      - flake8-linux
    env:
        GEMFURY_PUSH_TOKEN: ${{ secrets.GEMFURY_PUSH_TOKEN }}
    steps:
      - name: Set up Python 3.9
        uses: actions/setup-python@v2
        with:
          python-version: 3.9
      - uses: actions/checkout@v2
        with:
          fetch-depth: 0
      - name: install pip
        run: pip install pip==21.2.4 setuptools==57.4.0
      - name: install kiara
        run: pip install -U --extra-index-url https://pypi.fury.io/dharpa/ -e .[all]
      - name: install 'wheel' package
        run: pip install -U wheel
      - name: create packages
        run: python setup.py sdist bdist_wheel
      - name: upload source package
        run: curl -F package=@$(ls dist/kiara*.tar.gz) https://${GEMFURY_PUSH_TOKEN}@dharpa.fury.land:443/pypi/
      - name: upload wheel
        run: curl -F package=@$(ls dist/kiara*.whl) https://${GEMFURY_PUSH_TOKEN}@dharpa.fury.land:443/pypi/
      - name: publish to PyPI
        if: startsWith(github.ref, 'refs/tags')
        uses: pypa/gh-action-pypi-publish@master
        with:
          user: __token__
          password: "${{ secrets.PYPI_API_TOKEN }}"

  test_conda_package_build:
    name: test conda package build
    runs-on: ubuntu-latest
    if: ${{ startsWith(github.ref, 'refs/tags') != true }}
    strategy:
      matrix:
        python_version: ["3.8", "3.9"]   # '3.10' currently does not work, missing vaex conda packages
    steps:
      - uses: actions/checkout@v1
      - uses: conda-incubator/setup-miniconda@v2
      - name: install conda build packages
        run: conda install -c conda-forge conda-build anaconda-client boa
      - name: build conda package
        run: cd ci/conda/ && ./build-conda-packages.sh "kiara_plugin.anom_processing" develop "${{ matrix.python_version }}" true

  publish_conda_package:
    name: publish conda package
    runs-on: ubuntu-latest
    if: ${{ startsWith(github.ref, 'refs/tags') }}
    strategy:
      matrix:
        python_version: ["3.8", "3.9"]   # '3.10' currently does not work, missing vaex conda packages
    env:
      ANACONDA_PUSH_TOKEN: ${{ secrets.ANACONDA_PUSH_TOKEN }}
    needs:
      - test-linux
#      - mypy-linux
#      - flake8-linux
    steps:
      - uses: actions/checkout@v1
      - uses: conda-incubator/setup-miniconda@v2
        with:
          auto-activate-base: false
          activate-environment: "anaconda-build-env"
      - name: install conda build packages
        run: conda install -c conda-forge -n anaconda-build-env conda-build anaconda-client boa
      - name: build conda package
        shell: bash -l {0}
        run: conda activate anaconda-build-env && cd ci/conda/ && ./build-conda-packages.sh "kiara_plugin.anom_processing" "${GITHUB_REF#refs/*/}" "${{ matrix.python_version }}" false

  merge_tag_to_main:
    name: merge current tag to main branch
    runs-on: ubuntu-latest
    if: ${{ startsWith(github.ref, 'refs/tags') }}
    needs:
      - test-linux
#      - mypy-linux
#      - flake8-linux
    steps:
    - uses: actions/checkout@v2
      with:
        fetch-depth: 0
    - run: git config --global user.email "markus@frkl.io"
    - run: git config --global user.name "Markus Binsteiner"
    - name: extract tag name
      run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
    - name: checkout main branch
      run: git checkout main
    - name: merge tag
      run: git merge "${RELEASE_VERSION}"
    - name: push updated main branch
      run: git push https://${{ secrets.GITHUB_TOKEN }}@github.com/DHARPA-Project/kiara_plugin.anom_processing.git