File: ci_workflows.yml

package info (click to toggle)
pyerfa 1.7.2%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 5,652 kB
  • sloc: ansic: 30,690; sh: 4,242; python: 2,349; makefile: 78
file content (100 lines) | stat: -rw-r--r-- 2,684 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
name: CI

on:
  push:
  pull_request:

jobs:
  tests:
    name: ${{ matrix.name }} [ ${{ matrix.os }} ]
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: true
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
        python: [3.8]
        toxenv: [test]
        toxargs: [-v]

        include:

          - name: Test with oldest supported versions of our dependencies
            os: ubuntu-16.04
            python: 3.6
            toxenv: test-oldestdeps
            toxargs: -v

          - name: Test with development versions of our dependencies
            os: ubuntu-20.04  # currently newer than ubuntu-latest
            python: 3.9
            toxenv: test-devdeps
            toxargs: -v

          - name: Code style checks
            os: ubuntu-latest
            python: 3.x
            toxenv: codestyle
            toxargs: -v

          - name: Documentation build
            os: ubuntu-latest
            python: 3.x
            toxenv: build_docs
            toxargs: -v
            apt_packages: graphviz

    steps:
    - name: Checkout code
      uses: actions/checkout@v2
      with:
        fetch-depth: 0
        submodules: true
    - name: Set up Python
      uses: actions/setup-python@v2
      with:
        python-version: ${{ matrix.python }}
    - name: Install APT packages
      if: matrix.apt_packages
      run: sudo apt-get install ${{ matrix.apt_packages }}
    - name: Install Python dependencies
      run: python -m pip install --upgrade tox
    - name: Run tests
      run: tox ${{ matrix.toxargs }} -e ${{ matrix.toxenv }} -- ${{ matrix.toxposargs }}

  tests_external_liberfa:
    name: ${{ matrix.name }}
    runs-on: ${{ matrix.os }}
    env:
      PYERFA_USE_SYSTEM_LIBERFA: 1
    strategy:
      fail-fast: true
      matrix:
        include:

          - name: Tests with external liberfa
            os: ubuntu-20.04
            python: 3.8
            toxenv: test
            toxargs: -v
            apt_packages: python3-venv python3-pip liberfa-dev python3-numpy

    steps:
    - name: Checkout code
      uses: actions/checkout@v2
      with:
        fetch-depth: 0
        submodules: true
    - name: Set up Python
      uses: actions/setup-python@v2
      with:
        python-version: ${{ matrix.python }}
    - name: Install APT packages
      if: matrix.apt_packages
      run: sudo apt-get install ${{ matrix.apt_packages }}
    - name: Run tests
      run: |
        python -m venv --system-site-packages tests
        source tests/bin/activate
        python -m pip install --editable .[test]
        (nm -u erfa/ufunc.cpython-*.so | grep eraA2af) || exit 1
        python -m pytest