File: action.yaml

package info (click to toggle)
pmix 6.1.0-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 12,364 kB
  • sloc: ansic: 134,173; sh: 4,271; python: 2,785; makefile: 2,286; xml: 1,611; perl: 1,341; lex: 138
file content (58 lines) | stat: -rw-r--r-- 1,658 bytes parent folder | download | duplicates (3)
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
#-----------------------------------------------------------------
# File: build-python-bindings/action.yaml
#
# Descr: Actions file used by the workflow CI for reusable items
#        performed across the different python-versions tested.
#
# See also: .github/workflows/python-bindings.yaml
#-----------------------------------------------------------------
name: Build PMIx Python Bindings
description: Configure, build, and install OpenPMIx with Python bindings

inputs:
  python-version:
    description: Python version to use
    required: true

runs:
  using: "composite"
  steps:
    - name: Install dependencies
      run: |
        sudo apt-get update
        sudo apt-get install -y --no-install-recommends software-properties-common libhwloc-dev libevent-dev
      shell: bash

    - name: Git clone OpenPMIx
      uses: actions/checkout@v4
      with:
        submodules: recursive
        clean: false

    - name: Set up Python ${{ inputs.python-version }}
      uses: actions/setup-python@v5
      with:
        python-version: ${{ inputs.python-version }}

    - name: Display Python version
      run: python -c "import sys; print(sys.version)"
      shell: bash

    - name: Install python dependencies
      run: |
        python -m pip install --upgrade pip setuptools wheel
        pip install -r bindings/python/requirements.txt
      shell: bash

    - name: Display Cython version
      run: cython --version
      shell: bash

    - name: Build OpenPMIx
      run: |
        ./autogen.pl
        ./configure --enable-python-bindings --prefix=$RUNNER_TEMP/pmixinstall
        make -j $(nproc)
        make install
      shell: bash