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.dh_benelux_2023'"
# 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", "3.11"]
    steps:
      - name: "Set up Python ${{ matrix.python_version }}"
        uses: actions/setup-python@v4
        with:
          python-version: "${{ matrix.python_version }}"
      - uses: actions/checkout@v3
      - name: install kiara_plugin.dh_benelux_2023
        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@v4
#        with:
#          python-version: "3.9"
#      - uses: actions/checkout@v3
#      - 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", "3.10", "3.11"]
#    steps:
#      - name: "Set up Python ${{ matrix.python_version }}"
#        uses: actions/setup-python@v4
#        with:
#          python-version: "${{ matrix.python_version }}"
#      - uses: actions/checkout@v3
#      - name: install kiara_plugin.dh_benelux_2023
#        run: pip install -U --extra-index-url https://pypi.fury.io/dharpa/ .[all,dev_testing]
#      - name: Test with mypy
#        run: make mypy

  linting-linux:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Install Python
        uses: actions/setup-python@v4
        with:
          python-version: "3.11"
      - name: pip cache
        id: pip-cache
        uses: actions/cache@v3
        with:
          path: ~/.cache/pip
          key: ${{ runner.os }}-pip-${{ hashFiles('**/setup.*') }}
      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install ruff
      # Include `--format=github` to enable automatic inline annotations.
      - name: Run Ruff
        run: ruff --format=github src/

  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
#      - linting-linux
    steps:
      - name: Set up Python 3.9
        uses: actions/setup-python@v4
        with:
          python-version: "3.9"
      - uses: actions/checkout@v3
        with:
          fetch-depth: 0
      - name: install kiara_plugin.dh_benelux_2023 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
#      - linting-linux
    env:
        GEMFURY_PUSH_TOKEN: ${{ secrets.GEMFURY_PUSH_TOKEN }}
    steps:
      - name: Set up Python 3.9
        uses: actions/setup-python@v4
        with:
          python-version: "3.9"
      - uses: actions/checkout@v3
        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 'build' package
        run: pip install -U build
      - name: create packages
        run: python -m build
      - 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 }}"

  conda_package_build:
    name: conda package build (and upload if release)
    runs-on: ubuntu-latest
    needs:
      - test-linux
#      - mypy-linux
#      - linting-linux
    steps:
      - name: "Set up Python 3.9"
        uses: actions/setup-python@v4
        with:
          python-version: "3.9"
      - name: pip cache
        id: pip-cache
        uses: actions/cache@v3
        with:
          path: ~/.cache/pip
          key: ${{ runner.os }}-pip-${{ hashFiles('**/setup.*') }}
      - uses: actions/checkout@v3
        with:
          fetch-depth: 0
      - name: install required plugin packages
        run: pip install -U --pre --extra-index-url https://pypi.fury.io/dharpa/ kiara_plugin.develop
      - name: build conda package
        if: ${{ ( github.ref == 'refs/heads/develop') }}
        run: kiara conda build-package --patch-data ci/conda/conda-pkg-patch.yaml .
      - name: extract tag name
        run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
      - name: build & publish conda package
        if: ${{ startsWith(github.ref, 'refs/tags/') }}
        run: kiara conda build-package --publish --user dharpa --token ${{ secrets.ANACONDA_PUSH_TOKEN }} --patch-data ci/conda/conda-pkg-patch.yaml .

  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
#      - linting-linux
    steps:
    - uses: actions/checkout@v3
      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.dh_benelux_2023.git