Skip to content

v0.2.1-alpha.19

v0.2.1-alpha.19 #197

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 static
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: sqlite-ulid-ubuntu
path: dist/debug/*
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-ulid-ubuntu
path: dist/debug/
- uses: actions/setup-python@v3
- run: pip install wheel
- run: make python
- run: make datasette
- uses: actions/upload-artifact@v3
with:
name: sqlite-ulid-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-ulid-ubuntu
path: dist/debug/
- uses: actions/download-artifact@v3
with:
name: sqlite-ulid-ubuntu
path: npm/sqlite-ulid-linux-x64/lib
- uses: actions/download-artifact@v3
with:
name: sqlite-ulid-ubuntu-wheels
path: dist/debug/
- run: pip3 install --find-links dist/debug/ sqlite_ulid
- run: make test-loadable
- run: make test-python
# for test-npm
- uses: actions/setup-node@v3
with:
cache: "npm"
cache-dependency-path: npm/sqlite-ulid/package.json
- run: npm install
working-directory: npm/sqlite-ulid
- 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_ULID_PATH: ${{ github.workspace }}/dist/debug/ulid0
- run: go run demo.go
working-directory: examples/go
env:
CGO_LDFLAGS: -L${{ github.workspace }}/dist/debug
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 static
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: sqlite-ulid-macos
path: dist/debug/*
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-ulid-macos
path: dist/debug/
- uses: actions/setup-python@v3
- run: pip install wheel
- run: make python
- run: make datasette
- uses: actions/upload-artifact@v3
with:
name: sqlite-ulid-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-ulid-macos
path: dist/debug/
- uses: actions/download-artifact@v3
with:
name: sqlite-ulid-macos
path: npm/sqlite-ulid-darwin-x64/lib
- uses: actions/download-artifact@v3
with:
name: sqlite-ulid-macos-wheels
path: dist/debug/
- run: brew install python
- run: /usr/local/opt/python@3/libexec/bin/pip install --find-links dist/debug/ sqlite_ulid
- 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-ulid/package.json
- run: npm install
working-directory: npm/sqlite-ulid
- 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_ULID_PATH: ${{ github.workspace }}/dist/debug/ulid0
- run: go run demo.go
working-directory: examples/go
env:
CGO_LDFLAGS: -L${{ github.workspace }}/dist/debug
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 static target=aarch64-apple-darwin
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: sqlite-ulid-macos-arm
path: dist/debug/*
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-ulid-macos-arm
path: dist/debug/
- uses: actions/setup-python@v3
- run: pip install wheel
- run: make python IS_MACOS_ARM=1
- run: make datasette
- uses: actions/upload-artifact@v3
with:
name: sqlite-ulid-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: 1.67.0
override: true
default: true
- run: rustup target add x86_64-pc-windows-gnu
- run: rustup set default-host x86_64-pc-windows-gnu
- run: cargo --version
- run: make loadable static target=x86_64-pc-windows-gnu
env:
RUSTFLAGS: "--print=native-static-libs --print=link-args"
- run: ls dist/debug
- run: ls target/debug
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: sqlite-ulid-windows
path: dist/debug/*
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-ulid-windows
path: dist/debug/
- uses: actions/setup-python@v3
- run: pip install wheel
- run: make python
- run: make datasette
- uses: actions/upload-artifact@v3
with:
name: sqlite-ulid-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-ulid-windows
path: dist/debug/
- uses: actions/download-artifact@v3
with:
name: sqlite-ulid-windows
path: npm/sqlite-ulid-windows-x64/lib
- uses: actions/download-artifact@v3
with:
name: sqlite-ulid-windows-wheels
path: dist/debug/
- run: pip install --find-links dist/debug/ sqlite_ulid
- run: make test-loadable
- run: make test-python
# for test-npm
- uses: actions/setup-node@v3
with:
cache: "npm"
cache-dependency-path: npm/sqlite-ulid/package.json
- run: npm install
working-directory: npm/sqlite-ulid
- 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_ULID_PATH: ${{ github.workspace }}/dist/debug/ulid0
test-macos-c:
runs-on: macos-latest
needs: [build-macos-extension]
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
name: sqlite-ulid-macos
path: dist/debug/
- run: brew install sqlite
- run: make demo
working-directory: examples/c
- run: examples/c/demo
test-ubuntu-c:
runs-on: ubuntu-20.04
needs: [build-ubuntu-extension]
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
name: sqlite-ulid-ubuntu
path: dist/debug/
- run: make demo CFLAGS="-pthread -ldl"
working-directory: examples/c
- run: examples/c/demo
test-windows-c:
runs-on: windows-latest
needs: [build-windows-extension]
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
name: sqlite-ulid-windows
path: dist/debug/
- run: |
mkdir -p ${{ github.workspace }}/sqlite
cd ${{ github.workspace }}/sqlite
curl -LO https://www.sqlite.org/2023/sqlite-amalgamation-3420000.zip
unzip sqlite-amalgamation-3420000.zip
mv sqlite-amalgamation-3420000/* .
curl -LO https://www.sqlite.org/2023/sqlite-tools-linux-x86-3420000.zip
unzip sqlite-tools-linux-x86-3420000.zip
- run: make demo CFLAGS="-I${{ github.workspace }}\sqlite -L${{ github.workspace }}\sqlite"
working-directory: examples/c
- run: examples/c/demo
test-windows-go:
runs-on: windows-latest
needs: [build-windows-extension]
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
name: sqlite-ulid-windows
path: dist/debug/
# sqlite3ext.h aint in windows github action runner, to download it ourself
- run: |
mkdir -p ${{ github.workspace }}/sqlite
cd ${{ github.workspace }}/sqlite
curl -LO https://www.sqlite.org/2023/sqlite-amalgamation-3420000.zip
unzip sqlite-amalgamation-3420000.zip
mv sqlite-amalgamation-3420000/* .
- run: echo "${{ github.workspace }}\dist\debug" >> $GITHUB_PATH
- run: ls ${{ github.workspace }}\dist\debug
- run: ls ${{ github.workspace }}\sqlite
- name: Setup tmate session
uses: mxschmitt/action-tmate@v3
with:
limit-access-to-actor: true
- run: go run demo.go
working-directory: examples/go
env:
CGO_LDFLAGS: -L${{ github.workspace }}\dist\debug
CGO_CFLAGS: -I${{ github.workspace }}\sqlite
CGO_ENABLED: 1
CC: x86_64-w64-mingw32-gcc