Skip to content

v0.2.1-alpha.11

v0.2.1-alpha.11 #48

Workflow file for this run

name: "build"
on:
push:
branches:
- main
permissions:
contents: read
jobs:
build-ubuntu-extension:
name: Building ubuntu
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- run: make loadable
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: sqlite-xsv-ubuntu
path: dist/debug/xsv0.so
build-ubuntu-python:
runs-on: ubuntu-20.04
needs: [build-ubuntu-extension]
steps:
- uses: actions/checkout@v3
- name: Download workflow artifacts
uses: actions/download-artifact@v3
with:
name: sqlite-xsv-ubuntu
path: dist/debug/
- uses: actions/setup-python@v3
- run: pip install wheel
- run: make python
- uses: actions/upload-artifact@v3
with:
name: sqlite-xsv-ubuntu-wheels
path: dist/debug/wheels/*.whl
test-ubuntu:
runs-on: ubuntu-20.04
needs: [build-ubuntu-extension, build-ubuntu-python]
env:
DENO_DIR: deno_cache
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
name: sqlite-xsv-ubuntu
path: dist/debug/
- uses: actions/download-artifact@v3
with:
name: sqlite-xsv-ubuntu
path: npm/sqlite-xsv-linux-x64/lib
- uses: actions/download-artifact@v3
with:
name: sqlite-xsv-ubuntu-wheels
path: dist/debug/
- run: pip install --find-links dist/debug/ sqlite_xsv
- run: make test-loadable
- run: make test-python
# for test-npm
- uses: actions/setup-node@v3
with:
cache: "npm"
cache-dependency-path: npm/sqlite-xsv/package.json
- run: npm install
working-directory: npm/sqlite-xsv
- run: make test-npm
# for test-deno
- uses: denoland/setup-deno@v1
with:
deno-version: v1.30
- name: Cache Deno dependencies
uses: actions/cache@v3
with:
path: ${{ env.DENO_DIR }}
key: ${{ runner.os }}-${{ hashFiles('deno/deno.lock') }}
- run: make test-deno
env:
DENO_SQLITE_XSV_PATH: ${{ github.workspace }}/dist/debug/xsv0
build-macos-extension:
name: Building macos-latest
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- run: make loadable
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: sqlite-xsv-macos
path: dist/debug/xsv0.dylib
build-macos-python:
runs-on: macos-latest
needs: [build-macos-extension]
steps:
- uses: actions/checkout@v3
- name: Download workflow artifacts
uses: actions/download-artifact@v3
with:
name: sqlite-xsv-macos
path: dist/debug/
- uses: actions/setup-python@v3
- run: pip install wheel
- run: make python
- uses: actions/upload-artifact@v3
with:
name: sqlite-xsv-macos-wheels
path: dist/debug/wheels/*.whl
test-macos:
runs-on: macos-latest
needs: [build-macos-extension, build-macos-python]
env:
DENO_DIR: deno_cache
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
name: sqlite-xsv-macos
path: dist/debug/
- uses: actions/download-artifact@v3
with:
name: sqlite-xsv-macos
path: npm/sqlite-xsv-darwin-x64/lib
- uses: actions/download-artifact@v3
with:
name: sqlite-xsv-macos-wheels
path: dist/debug/
- run: brew install python
- run: /usr/local/opt/python@3/libexec/bin/pip install --find-links dist/debug/ sqlite_xsv
- run: make test-loadable python=/usr/local/opt/python@3/libexec/bin/python
- run: make test-python python=/usr/local/opt/python@3/libexec/bin/python
# for test-npm
- uses: actions/setup-node@v3
with:
cache: "npm"
cache-dependency-path: npm/sqlite-xsv/package.json
- run: npm install
working-directory: npm/sqlite-xsv
- run: make test-npm
# for test-deno
- uses: denoland/setup-deno@v1
with:
deno-version: v1.30
- name: Cache Deno dependencies
uses: actions/cache@v3
with:
path: ${{ env.DENO_DIR }}
key: ${{ runner.os }}-${{ hashFiles('deno/deno.lock') }}
- run: make test-deno
env:
DENO_SQLITE_XSV_PATH: ${{ github.workspace }}/dist/debug/xsv0
build-macos-arm-extension:
name: Building macos arm extension
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- run: rustup target add aarch64-apple-darwin
- run: make loadable target=aarch64-apple-darwin
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: sqlite-xsv-macos-arm
path: dist/debug/xsv0.dylib
build-macos-arm-python:
runs-on: macos-latest
needs: [build-macos-arm-extension]
steps:
- uses: actions/checkout@v3
- name: Download workflow artifacts
uses: actions/download-artifact@v3
with:
name: sqlite-xsv-macos-arm
path: dist/debug/
- uses: actions/setup-python@v3
- run: pip install wheel
- run: make python IS_MACOS_ARM=1
- uses: actions/upload-artifact@v3
with:
name: sqlite-xsv-macos-arm-wheels
path: dist/debug/wheels/*.whl
build-windows-extension:
name: Building windows extension
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- run: make loadable
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: sqlite-xsv-windows
path: dist/debug/xsv0.dll
build-windows-python:
runs-on: windows-latest
needs: [build-windows-extension]
steps:
- uses: actions/checkout@v3
- name: Download workflow artifacts
uses: actions/download-artifact@v3
with:
name: sqlite-xsv-windows
path: dist/debug/
- uses: actions/setup-python@v3
- run: pip install wheel
- run: make python
- uses: actions/upload-artifact@v3
with:
name: sqlite-xsv-windows-wheels
path: dist/debug/wheels/*.whl
test-windows:
runs-on: windows-latest
needs: [build-windows-extension, build-windows-python]
env:
DENO_DIR: deno_cache
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
name: sqlite-xsv-windows
path: dist/debug/
- uses: actions/download-artifact@v3
with:
name: sqlite-xsv-windows
path: npm/sqlite-xsv-windows-x64/lib
- uses: actions/download-artifact@v3
with:
name: sqlite-xsv-windows-wheels
path: dist/debug/
- run: pip install --find-links dist/debug/ sqlite_xsv
- run: make test-loadable
- run: make test-python
# for test-npm
- uses: actions/setup-node@v3
with:
cache: "npm"
cache-dependency-path: npm/sqlite-xsv/package.json
- run: npm install
working-directory: npm/sqlite-xsv
- run: make test-npm
# for test-deno
- uses: denoland/setup-deno@v1
with:
deno-version: v1.30
- name: Cache Deno dependencies
uses: actions/cache@v3
with:
path: ${{ env.DENO_DIR }}
key: ${{ runner.os }}-${{ hashFiles('deno/deno.lock') }}
- run: make test-deno
env:
DENO_SQLITE_XSV_PATH: ${{ github.workspace }}/dist/debug/xsv0
upload_test_pypi:
if: ${{ contains(github.event.head_commit.message, '@test_pypi') }}
needs: [test-ubuntu, test-macos, test-windows, build-macos-arm-python]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v3
with:
name: sqlite-xsv-windows-wheels
path: dist
- uses: actions/download-artifact@v3
with:
name: sqlite-xsv-ubuntu-wheels
path: dist
- uses: actions/download-artifact@v3
with:
name: sqlite-xsv-macos-wheels
path: dist
- uses: actions/download-artifact@v3
with:
name: sqlite-xsv-macos-arm-wheels
path: dist
- uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.TEST_PYPI_API_TOKEN }}
repository_url: https://test.pypi.org/legacy/
skip_existing: true