Skip to content

Initial pass

Initial pass #58

Workflow file for this run

on: [push]
name: "test"
jobs:
build-linux_x86-extension:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- run: make loadable static
- uses: actions/upload-artifact@v3
with:
name: sqlite-lines-linux_x86
path: dist/*
build-linux_x86-python:
runs-on: ubuntu-20.04
needs: [build-linux_x86-extension]
steps:
- uses: actions/checkout@v3
- name: Download workflow artifacts
uses: actions/download-artifact@v3
with:
name: sqlite-lines-linux_x86
path: dist/
- uses: actions/setup-python@v3
- run: pip install wheel
- run: make python
- run: make datasette
- uses: actions/upload-artifact@v3
with:
name: sqlite-lines-linux_x86-wheels
path: dist/wheels/*.whl
test-linux_x86:
runs-on: ubuntu-20.04
needs: [build-linux_x86-extension, build-linux_x86-python]
env:
DENO_DIR: deno_cache
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
name: sqlite-lines-linux_x86
path: dist/
- uses: actions/download-artifact@v3
with:
name: sqlite-lines-linux_x86-wheels
path: dist/
- run: cp dist/lines0.so npm/sqlite-lines-linux-x64/lib
- run: pip3 install --find-links dist/ sqlite_lines
- run: make test-loadable
env:
ENV: CI
- run: make test-python
# for test-npm
- uses: actions/setup-node@v3
with:
cache: "npm"
cache-dependency-path: npm/sqlite-lines/package.json
- run: npm install
working-directory: npm/sqlite-lines
- 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_LINES_PATH: ${{ github.workspace }}/dist/lines0
build-macos-extension:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- run: make loadable static
- uses: actions/upload-artifact@v3
with:
name: sqlite-lines-macos
path: dist/*
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-lines-macos
path: dist/
- uses: actions/setup-python@v3
- run: pip install wheel
- run: make python
- run: make datasette
- uses: actions/upload-artifact@v3
with:
name: sqlite-lines-macos-wheels
path: dist/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-lines-macos
path: dist/
- run: cp dist/lines0.dylib npm/sqlite-lines-darwin-x64/lib
- uses: actions/download-artifact@v3
with:
name: sqlite-lines-macos-wheels
path: dist/
- run: brew install python
- run: /usr/local/opt/python@3/libexec/bin/pip install --find-links dist/ sqlite_lines
- run: make test-loadable python=/usr/local/opt/python@3/libexec/bin/python
env:
ENV: CI
- 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-lines/package.json
- run: npm install
working-directory: npm/sqlite-lines
- 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_LINES_PATH: ${{ github.workspace }}/dist/lines0.dylib
build-macos-aarch64-extension:
name: Building MacOS aarch64 extension
runs-on: self-hosted
steps:
- uses: actions/checkout@v3
- run: make loadable static CFLAGS="-target arm64-apple-macos11"
- uses: actions/upload-artifact@v3
with:
name: sqlite-lines-macos-aarch64
path: dist/*