From b447397e681afc657f99d9e8ccc26bfb2258d315 Mon Sep 17 00:00:00 2001 From: John Dumbell Date: Tue, 27 Feb 2024 02:08:24 +0000 Subject: [PATCH] Add wheel build/deploy --- .github/workflows/deploy.yaml | 222 +++++++--------------------------- 1 file changed, 46 insertions(+), 176 deletions(-) diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 7c77a69..027867f 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -4,42 +4,32 @@ on: push: branches: - main -# pull_request: + pull_request: jobs: - macos: - runs-on: macos-latest - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 - with: - python-version: 3.9 - architecture: x64 - - uses: dtolnay/rust-toolchain@nightly - - name: Build wheels - x86_64 - uses: PyO3/maturin-action@v1 - with: - target: x86_64 - args: --release --out dist --sdist - - name: Install built wheel - x86_64 - run: | - pip install rjmespath --no-index --find-links dist --force-reinstall - pip install pytest - cd tests && pytest - - name: Build wheels - universal2 - uses: PyO3/maturin-action@v1 - with: - target: universal2-apple-darwin - args: --release --out dist - - name: Install built wheel - universal2 - run: | - pip install rjmespath --no-index --find-links dist --force-reinstall - cd tests && pytest - - name: Upload wheels - uses: actions/upload-artifact@v3 - with: - name: wheels - path: dist +# macos: +# runs-on: macos-latest +# steps: +# - uses: actions/checkout@v4 +# - uses: actions/setup-python@v4 +# with: +# python-version: 3.9 +# architecture: x64 +# - uses: dtolnay/rust-toolchain@nightly +# - name: Build wheels +# run: | +# sudo apt update +# sudo apt install -y build-essential libffi-dev xz-utils powershell curl wget gnupg apt-transport-https +# curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y +# export PATH="/root/.cargo/bin:${PATH}" +# export PATH="/root/.local/bin:$PATH" +# cd src/munchkin +# MK_DOWNLOAD_LLVM=true pwsh ./build.ps1 +# - name: Upload wheels +# uses: actions/upload-artifact@v3 +# with: +# name: wheelsK +# path: src/munchkin/target/wheels windows: runs-on: windows-latest @@ -54,95 +44,23 @@ jobs: architecture: ${{ matrix.target }} - uses: dtolnay/rust-toolchain@nightly - name: Build wheels - uses: PyO3/maturin-action@v1 - with: - target: ${{ matrix.target }} - args: --release --out dist - - name: Install built wheel run: | - pip install rjmespath --no-index --find-links dist --force-reinstall - pip install pytest - cd tests && pytest - - name: Upload wheels - uses: actions/upload-artifact@v3 - with: - name: wheels - path: dist - - linux: - runs-on: ubuntu-latest - strategy: - matrix: - target: [x86_64, i686] - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 - with: - python-version: 3.9 - architecture: x64 - - name: Build wheels - uses: PyO3/maturin-action@v1 - with: - rust-toolchain: nightly - target: ${{ matrix.target }} - manylinux: auto - args: --release --out dist - - name: Install built wheel - if: matrix.target == 'x86_64' - run: | - pip install rjmespath --no-index --find-links dist --force-reinstall - pip install pytest - cd tests && pytest - - name: Upload wheels - uses: actions/upload-artifact@v3 - with: - name: wheels - path: dist + winget -help + winget install build-essential libffi-dev xz-utils powershell curl wget gnupg apt-transport-https --disable-interactivity + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y + cd src/munchkin + MK_DOWNLOAD_LLVM=true pwsh ./build.ps1 +# - name: Upload wheels +# uses: actions/upload-artifact@v3 +# with: +# name: wheels +# path: src/munchkin/target/wheels -# linux-cross: -# runs-on: ubuntu-latest -# strategy: -# matrix: -# target: [aarch64, armv7, s390x, ppc64le, ppc64] -# steps: -# - uses: actions/checkout@v4 -# - uses: actions/setup-python@v4 -# with: -# python-version: 3.9 -# - name: Build wheels -# uses: PyO3/maturin-action@v1 -# with: -# rust-toolchain: nightly -# target: ${{ matrix.target }} -# manylinux: auto -# args: --release --out dist -# - uses: uraimo/run-on-arch-action@v2.7.1 -# if: matrix.target != 'ppc64' -# name: Install built wheel -# with: -# arch: ${{ matrix.target }} -# distro: ubuntu20.04 -# githubToken: ${{ github.token }} -# install: | -# apt-get update -# apt-get install -y --no-install-recommends python3 python3-pip -# pip3 install -U pip pytest -# run: | -# pip3 install rjmespath --no-index --find-links dist/ --force-reinstall -# cd tests && pytest -# - name: Upload wheels -# uses: actions/upload-artifact@v3 -# with: -# name: wheels -# path: dist -# -# musllinux: +# linux: # runs-on: ubuntu-latest # strategy: # matrix: -# target: -# - x86_64-unknown-linux-musl -# - i686-unknown-linux-musl +# target: [x86_64, i686] # steps: # - uses: actions/checkout@v4 # - uses: actions/setup-python@v4 @@ -150,73 +68,25 @@ jobs: # python-version: 3.9 # architecture: x64 # - name: Build wheels -# uses: PyO3/maturin-action@v1 -# with: -# rust-toolchain: nightly -# target: ${{ matrix.target }} -# manylinux: musllinux_1_2 -# args: --release --out dist -# - name: Install built wheel -# if: matrix.target == 'x86_64-unknown-linux-musl' -# uses: addnab/docker-run-action@v3 -# with: -# image: alpine:latest -# options: -v ${{ github.workspace }}:/io -w /io -# run: | -# apk add py3-pip -# pip3 install -U pip pytest -# pip3 install rjmespath --no-index --find-links /io/dist/ --force-reinstall -# cd tests && python3 -m pytest -# - name: Upload wheels -# uses: actions/upload-artifact@v3 -# with: -# name: wheels -# path: dist -# -# musllinux-cross: -# runs-on: ubuntu-latest -# strategy: -# matrix: -# platform: -# - target: aarch64-unknown-linux-musl -# arch: aarch64 -# - target: armv7-unknown-linux-musleabihf -# arch: armv7 -# steps: -# - uses: actions/checkout@v4 -# - uses: actions/setup-python@v4 -# with: -# python-version: 3.9 -# - name: Build wheels -# uses: PyO3/maturin-action@v1 -# with: -# rust-toolchain: nightly -# target: ${{ matrix.platform.target }} -# manylinux: musllinux_1_2 -# args: --release --out dist -# - uses: uraimo/run-on-arch-action@v2.7.1 -# name: Install built wheel -# with: -# arch: ${{ matrix.platform.arch }} -# distro: alpine_latest -# githubToken: ${{ github.token }} -# install: | -# apk add py3-pip -# pip3 install -U pip pytest -# run: | -# pip3 install rjmespath --no-index --find-links dist/ --force-reinstall -# cd tests && python3 -m pytest +# run: | +# sudo apt update +# sudo apt install -y build-essential libffi-dev xz-utils powershell curl wget gnupg apt-transport-https +# curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y +# export PATH="/root/.cargo/bin:${PATH}" +# export PATH="/root/.local/bin:$PATH" +# cd src/munchkin +# MK_DOWNLOAD_LLVM=true pwsh ./build.ps1 # - name: Upload wheels # uses: actions/upload-artifact@v3 # with: # name: wheels -# path: dist +# path: src/munchkin/target/wheels # release: # name: Release # runs-on: ubuntu-latest # if: "startsWith(github.ref, 'refs/tags/')" -# needs: [ macos, windows, linux, linux-cross, musllinux, musllinux-cross ] +# needs: [ macos, windows, linux ] # steps: # - uses: actions/download-artifact@v3 # with: