Skip to content

build and upload binary #9

build and upload binary

build and upload binary #9

name: 'Positron Python CI'
on:
push:
branches: ['main', 'dev-*', 'dev']
pull_request:
branches: ['main', 'dev-*', 'dev']
jobs:
pet:
name: "Checkout PET and build"
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: windows-latest
target: x86_64-pc-windows-msvc
- os: windows-latest
target: aarch64-pc-windows-msvc
- os: ubuntu-latest
target: x86_64-unknown-linux-musl
- os: ubuntu-latest
target: aarch64-unknown-linux-musl
- os: macos-latest
target: x86_64-apple-darwin
- os: macos-latest
target: aarch64-apple-darwin
steps:
- name: Get latest tag
id: extract_version
run: |
echo "PET_BRANCH=release/$(curl -s https://api.github.com/repos/microsoft/python-environment-tools/releases/latest | jq -r '.tag_name' | cut -c 2-)" >> $GITHUB_ENV
shell: bash
- name: Checkout Python Environment Tools
uses: actions/checkout@v4
with:
repository: 'microsoft/python-environment-tools'
branch: ${{ steps.extract_version.outputs.result }}
sparse-checkout: |
crates
Cargo.toml
Cargo.lock
sparse-checkout-cone-mode: false
- name: Rust Tool Chain setup
uses: dtolnay/rust-toolchain@stable
- name: Add Rustup target
run: rustup target add ${{ matrix.target }}
shell: bash
# Compile
- name: Compile PET
env:
PKG_CONFIG_ALLOW_CROSS: 1
run: |
cargo clean
cargo build --release --target ${{ matrix.target }}
- name: Upload PET binary
uses: actions/upload-artifact@v4
with:
name: python-env-tools-${{ steps.extract_version.outputs.result }}-${{ matrix.target }}
path: target/${{ matrix.target }}
if-no-files-found: error