File: .cirrus.yml

package info (click to toggle)
python-pysam 0.23.0%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 18,468 kB
  • sloc: ansic: 158,936; python: 8,604; sh: 338; makefile: 264; perl: 41
file content (82 lines) | stat: -rw-r--r-- 2,073 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
build_wheels_task:
  only_if: $CIRRUS_BRANCH =~ "release/.*" || $CIRRUS_TAG =~ "v0\..*"

  matrix:
    - compute_engine_instance:
        image_project: cirrus-images
        image: family/docker-builder-arm64
        architecture: arm64
        platform: linux
      matrix:
        - name: Build ARM Linux py3.6-9 wheels
          env:
            CIBW_BUILD: "cp36-* cp37-* cp38-* cp39-*"
        - name: Build ARM Linux py3.10-13 wheels
          env:
            CIBW_BUILD: "cp310-* cp311-* cp312-* cp313-*"

    - name: Build ARM macOS wheels
      macos_instance:
        image: ghcr.io/cirruslabs/macos-sonoma-base:latest
      env:
        CIBW_BUILD: "cp39-* cp310-* cp311-* cp312-* cp313-*"

  alias: build_wheels

  env:
    CIRRUS_CLONE_DEPTH: 1

    VENV: $HOME/relenv
    PATH: $VENV/bin:$PATH

    CIBW_SKIP: "*-musllinux_*"
    CIBW_BUILD_VERBOSITY: 1

    # Avoid linking with non-system library libdeflate.dylib
    CIBW_ENVIRONMENT_MACOS: HTSLIB_CONFIGURE_OPTIONS="--without-libdeflate"

    CIBW_MANYLINUX_AARCH64_IMAGE: manylinux_2_28

  install_script: |
    python3 -m venv $VENV
    pip3 install cibuildwheel==2.22.0

  build_script: |
    cibuildwheel

  wheels_artifacts:
    path: wheelhouse/*.whl

upload_pypi_task:
  only_if: $CIRRUS_BRANCH =~ "release/.*" || $CIRRUS_TAG =~ "v0\..*"
  depends_on: build_wheels

  name: Publish ARM wheels

  container:
    image: python:latest

  env:
    CIRRUS_CLONE_DEPTH: 1
    API_BASEURL: https://api.cirrus-ci.com/v1
    TWINE_USERNAME: __token__

  install_script: |
    python3 -m pip install twine

  get_artifacts_script: |
    curl -sSLO $API_BASEURL/artifact/build/$CIRRUS_BUILD_ID/wheels.zip
    unzip -q wheels.zip

  upload_script: |
    case "$CIRRUS_TAG" in
    v0.*)
        export TWINE_REPOSITORY=pypi TWINE_PASSWORD=$PYPI_TOKEN ;;
    *)
        export TWINE_REPOSITORY=testpypi TWINE_PASSWORD=$TESTPYPI_TOKEN ;;
    esac

    echo Uploading wheels to $TWINE_REPOSITORY...

    python3 -m twine check wheelhouse/*.whl
    python3 -m twine upload --disable-progress-bar wheelhouse/*.whl