win: rustup?? #184
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: stable | |
- run: rustup set default-host x86_64-pc-windows-gnu | |
- 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 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
- run: rustup set default-host x86_64-pc-windows-gnu | |
#- uses: msys2/setup-msys2@v2 | |
# with: | |
# install: mingw-w64-x86_64-go mingw-w64-x86_64-make mingw-w64-x86_64-rust mingw-w64-x86_64-gcc | |
- run: echo $env:PATH | |
- run: go run demo.go | |
working-directory: examples/go | |
env: | |
#CGO_LDFLAGS: -LC:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib -L${{ github.workspace }}\dist\debug -Wl,-Bdynamic -lbcrypt -ladvapi32 -lkernel32 -ladvapi32 -ladvapi32 -lbcrypt -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lntdll -lntdll -lntdll -lntdll -luserenv -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lkernel32 -lkernel32 | |
#CGO_CFLAGS: -IC:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\include -I${{ github.workspace }}\sqlite | |
CGO_LDFLAGS: -LC:\\Users\\runneradmin\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib -L${{ github.workspace }}\dist\debug -Wl,-Bdynamic -lbcrypt -ladvapi32 -lkernel32 -ladvapi32 -ladvapi32 -lbcrypt -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lkernel32 -lntdll -lntdll -lntdll -lntdll -luserenv -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lkernel32 -lkernel32 | |
CGO_CFLAGS: -IC:\\Users\\runneradmin\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-gnu\\include -I${{ github.workspace }}\sqlite | |
CGO_ENABLED: 1 | |
CC: x86_64-w64-mingw32-gcc |