WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Merge pull request #1362 from numba/renovate/python-3.x #192

Merge pull request #1362 from numba/renovate/python-3.x

Merge pull request #1362 from numba/renovate/python-3.x #192

name: llvmlite_conda_builder
on:
push:
branches:
- main
pull_request:
paths:
- .github/workflows/llvmlite_conda_builder.yml
- buildscripts/github/llvmlite_evaluate.py
- conda-recipes/llvmlite/**
workflow_dispatch:
inputs:
llvmdev_run_id:
description: 'llvmdev workflow run ID (optional)'
required: false
type: string
platform:
description: Conda Platform
default: linux-64
required: true
type: choice
options:
- all
- linux-64
- linux-aarch64
- osx-arm64
- win-64
# Add concurrency control
concurrency:
group: >-
${{ github.workflow }}-
${{ (github.event_name == 'push' && github.ref)
|| github.event.pull_request.number
|| toJson(github.event.inputs)
|| github.sha }}
cancel-in-progress: true
env:
ARTIFACT_RETENTION_DAYS: 7
jobs:
check:
runs-on: ubuntu-24.04
outputs:
matrix: ${{ steps.evaluate.outputs.matrix }}
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with:
python-version: '3.14'
- name: Evaluate
id: evaluate
env:
GITHUB_EVENT_NAME: ${{ github.event_name }}
GITHUB_WORKFLOW_INPUT: ${{ toJson(github.event.inputs) }}
run: |
set -ex
echo "=== Environment ==="
echo "Event: $GITHUB_EVENT_NAME"
echo "Inputs: $GITHUB_WORKFLOW_INPUT"
echo "=== Running evaluation script ==="
./buildscripts/github/llvmlite_evaluate.py
echo "=== Evaluation completed ==="
build:
needs: check
name: ${{ matrix.platform }}-py${{ matrix.python-version }}-build
runs-on: ${{ matrix.runner }}
env:
EXTRA_CHANNELS: ''
defaults:
run:
shell: bash -elx {0}
strategy:
matrix: ${{fromJson(needs.check.outputs.matrix)}}
fail-fast: false
steps:
- name: Clone repository
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
- name: Setup Miniconda
uses: conda-incubator/setup-miniconda@835234971496cad1653abb28a638a281cf32541f # v3.2.0
with:
auto-update-conda: true
auto-activate-base: true
- name: Install conda-build
run: conda install conda-build
- name: Download llvmdev Artifact
if: ${{ inputs.llvmdev_run_id != '' }}
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: llvmdev_${{ matrix.platform }}
path: llvmdev_conda_packages
run-id: ${{ inputs.llvmdev_run_id }}
repository: ${{ github.repository }}
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Build llvmlite conda package
run: |
if [ "${{ inputs.llvmdev_run_id }}" != "" ]; then
LLVMDEV_CHANNEL="file:///${{ github.workspace }}/llvmdev_conda_packages"
else
LLVMDEV_CHANNEL="numba/label/dev"
fi
CONDA_CHANNEL_DIR="conda_channel_dir"
mkdir $CONDA_CHANNEL_DIR
if [ -n "${EXTRA_CHANNELS}" ]; then
extra_args=(${EXTRA_CHANNELS})
else
extra_args=()
fi
conda build --debug -c "${LLVMDEV_CHANNEL}" "${extra_args[@]}" -c defaults --python=${{ matrix.python-version }} conda-recipes/llvmlite --output-folder="${CONDA_CHANNEL_DIR}" --no-test
- name: Upload llvmlite conda package
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: llvmlite-${{ matrix.platform }}-py${{ matrix.python-version }}
path: conda_channel_dir
compression-level: 0
retention-days: ${{ env.ARTIFACT_RETENTION_DAYS }}
if-no-files-found: error
- name: Show Workflow Run ID
run: "echo \"Workflow Run ID: ${{ github.run_id }}\""
test:
name: ${{ matrix.platform }}-py${{ matrix.python-version }}-test
needs: [check, build]
runs-on: ${{ matrix.runner }}
env:
EXTRA_CHANNELS: ''
defaults:
run:
shell: bash -elx {0}
strategy:
matrix: ${{fromJson(needs.check.outputs.matrix)}}
fail-fast: false
steps:
- name: Setup miniconda
uses: conda-incubator/setup-miniconda@835234971496cad1653abb28a638a281cf32541f # v3.2.0
- name: Download llvmlite artifact
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: llvmlite-${{ matrix.platform }}-py${{ matrix.python-version }}
- name: Install conda-build
run: conda install conda-build
- name: Run tests
run: |
if [ -n "${EXTRA_CHANNELS}" ]; then
extra_args=(${EXTRA_CHANNELS})
else
extra_args=()
fi
conda build --test "${extra_args[@]}" "${{ matrix.platform }}"/llvmlite*.conda