Skip to main content
  • Home
  • Development
  • Documentation
  • Donate
  • Operational login
  • Browse the archive

swh logo
SoftwareHeritage
Software
Heritage
Archive
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

  • 5c4656f
  • /
  • .github
  • /
  • workflows
  • /
  • build.yml
Raw File Download

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • content
  • directory
content badge
swh:1:cnt:2b23f3996e39f4607563b7d1c4b62a2ccef25b1f
directory badge
swh:1:dir:50cba6056e4f13b4d4bb73ca3254e5a81da57b5c

This interface enables to generate software citations, provided that the root directory of browsed objects contains a citation.cff or codemeta.json file.
Select below a type of object currently browsed in order to generate citations for them.

  • content
  • directory
(requires biblatex-software package)
Generating citation ...
(requires biblatex-software package)
Generating citation ...
build.yml
name: PyRate CI


on:
  pull_request:
    branches:
      - 'master'
  push:
    branches:
      - '**'

jobs:
  build:
    if: ${{ ! (contains(github.event.head_commit.message, 'ci skip') || contains(github.event.head_commit.message, 'skip ci'))}}
    runs-on: ubuntu-18.04
    name: Python ${{ matrix.python }}
    strategy:
      matrix:
        include:
          - build: 1
            python-version: "3.7"
            GDALVERSION: "3.0.2"
            PROJVERSION: "6.2.1"
          - build: 2
            python-version: "3.7"
            GDALVERSION: "3.0.4"
            PROJVERSION: "6.1.1"
          - build: 3
            python-version: "3.8"
            GDALVERSION: "3.0.4"
            PROJVERSION: "6.1.1"
          - build: 4
            python-version: "3.9"
            GDALVERSION: "3.0.4"
            PROJVERSION: "6.3.2"

    env:
      PIP_WHEEL_DIR: "/home/runner/.cache/pip/wheels"
      PIP_FIND_LINKS: "file:///home/runner/.cache/pip/wheels"
      GDALINST: "/home/runner/gdalinstall"
      GDALBUILD: "/home/runner/gdalbuild"
      GDALVERSION: ${{ matrix.GDALVERSION }}
      PROJINST: "/home/runner/gdalinstall"
      PROJBUILD: "/home/runner/projbuild"
      PROJVERSION: ${{ matrix.PROJVERSION }}
      PYTHONVERSION: ${{ matrix.python-version }}

    steps:
      - uses: actions/checkout@v2
      - name: Cache multiple paths
        uses: actions/cache@v2
        with:
          path: |
            /home/runner/gdalinstall
          key: ${{ runner.os }}-cache-GDAL-${{ matrix.GDALVERSION }}-proj-${{ matrix.PROJVERSION }}
      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v2
        with:
          python-version: ${{ matrix.python-version }}
      - name: Common set up ${{ matrix.python-version }}
        run: |
          sudo apt update
          sudo apt upgrade
          python -m pip install -U pip wheel setuptools==58.0
      - name: Install packages including openmpi
        if: env.PYTHONVERSION != '3.9'
        run: sudo apt install libhdf5-serial-dev libnetcdf13 libatlas-base-dev gfortran openmpi-bin libopenmpi-dev
      - name: Install packages except openmpi libraries
        if: env.PYTHONVERSION == '3.9'
        run: sudo apt install libhdf5-serial-dev libnetcdf13 libatlas-base-dev gfortran
      - name: Install proj ${{matrix.PROJVERSION}}
        run: |
          echo "PATH=$GDALINST/gdal-$GDALVERSION/bin:$PATH" >> $GITHUB_ENV
          echo "LD_LIBRARY_PATH=$GDALINST/gdal-$GDALVERSION/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV
          source ./scripts/ci_proj_install.sh
      - name: Install GDAL ${{matrix.GDALVERSION}}
        run: |
          echo "GDAL_DATA=$GDALINST/gdal-$GDALVERSION/share/gdal" >> $GITHUB_ENV
          echo "PROJ_LIB=$GDALINST/gdal-$GDALVERSION/share/proj" >> $GITHUB_ENV
          echo "LDFLAGS=-L$GDALINST/gdal-$GDALVERSION/lib -Wl,-rpath,$GDALINST/gdal-$GDALVERSION/lib" >> $GITHUB_ENV
          source ./scripts/ci_gdal_install.sh
      - name: Python ${{ matrix.python-version }} with MPI
        if: env.PYTHONVERSION != '3.9'
        run: |
          python setup.py install
          rm -rf Py_Rate.egg-info  # remove the local egg
          echo "PYTHONPATH=$(pwd):$PYTHONPATH" >> $GITHUB_ENV
          chmod 444 tests/test_data/small_test/tif/geo_070709-070813_unw.tif  # makes the file readonly, used in a test
          pip install -r requirements-dev.txt -r requirements-test.txt
      - name: Python ${{ matrix.python-version }} without MPI
        if: env.PYTHONVERSION == '3.9'
        run: |
          python setup.py install
          rm -rf Py_Rate.egg-info  # remove the local egg
          echo "PYTHONPATH=$(pwd):$PYTHONPATH" >> $GITHUB_ENV
          chmod 444 tests/test_data/small_test/tif/geo_070709-070813_unw.tif  # makes the file readonly, used in a test
          pip install -r requirements-test.txt
      - name: Test Pyrate in Python ${{ matrix.python-version }} with MPI
        if: env.PYTHONVERSION != '3.9'
        run: |
          pytest tests/ -m "slow"
          mpirun -n 3 pytest tests/test_shared.py -k test_tiles_split -s
          pytest --cov-config=.coveragerc --cov-report term-missing:skip-covered --cov=pyrate tests/ -m "not slow"
        env:
             OMP_NUM_THREADS: 1
      - name: Test Pyrate in Python ${{ matrix.python-version }} without MPI
        if: env.PYTHONVERSION == '3.9'
        run: |
          pytest tests/ -m "not mpi and slow"
          pytest --cov-config=.coveragerc --cov-report term-missing:skip-covered --cov=pyrate tests/ -m "not slow and not mpi"
        env:
             OMP_NUM_THREADS: 1
        

back to top

Software Heritage — Copyright (C) 2015–2026, The Software Heritage developers. License: GNU AGPLv3+.
The source code of Software Heritage itself is available on our development forge.
The source code files archived by Software Heritage are available under their own copyright and licenses.
Terms of use: Archive access, API— Content policy— Contact— JavaScript license information— Web API