From dfe70d2620bda661eeb94f54fb5aa6425099179d Mon Sep 17 00:00:00 2001 From: John Dumbell Date: Tue, 27 Feb 2024 01:09:32 +0000 Subject: [PATCH] CI run --- .github/workflows/build.yaml | 10 ++ .github/workflows/deploy.yaml | 230 ++++++++++++++++++++++++++++++++++ 2 files changed, 240 insertions(+) create mode 100644 .github/workflows/deploy.yaml diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 183a1e1..d8ce8f7 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -24,3 +24,13 @@ jobs: uses: actions/setup-python@v3 with: python-version: "3.9" + + - name: Build + 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 + sudo powershell MK_DOWNLOAD_LLVM=true ./build.ps1 \ No newline at end of file diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml new file mode 100644 index 0000000..7c77a69 --- /dev/null +++ b/.github/workflows/deploy.yaml @@ -0,0 +1,230 @@ +name: deploy + +on: + push: + branches: + - main +# 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 + + windows: + runs-on: windows-latest + strategy: + matrix: + target: [x64, x86] + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v4 + with: + python-version: 3.9 + 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 + +# 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: +# runs-on: ubuntu-latest +# strategy: +# matrix: +# target: +# - x86_64-unknown-linux-musl +# - i686-unknown-linux-musl +# 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: 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 +# - name: Upload wheels +# uses: actions/upload-artifact@v3 +# with: +# name: wheels +# path: dist + +# release: +# name: Release +# runs-on: ubuntu-latest +# if: "startsWith(github.ref, 'refs/tags/')" +# needs: [ macos, windows, linux, linux-cross, musllinux, musllinux-cross ] +# steps: +# - uses: actions/download-artifact@v3 +# with: +# name: wheels +# - name: Publish to PyPI +# env: +# MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_PASSWORD }} +# uses: PyO3/maturin-action@v1 +# with: +# command: upload +# args: --skip-existing * \ No newline at end of file