Skip to content

Initial CI Workflows #13

Initial CI Workflows

Initial CI Workflows #13

Workflow file for this run

on:
workflow_call:
workflow_dispatch:
push:
branches:
- main
- refs/tags/*
pull_request:
branches:
- '*' # must quote since "*" is a YAML reserved character; we want a string
concurrency:
group: ${{ github.head_ref || github.run_id }}
cancel-in-progress: true
name: Stable Build and Test
# Make sure CI fails on all warnings, including Clippy lints
env:
RUSTFLAGS: "-Dwarnings -C link-args=-Wl,-rpath,/opt/tiledb/lib"
RELEASES_URL: "https://github.com/TileDB-Inc/TileDB/releases/download"
jobs:
build_and_test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Install TileDB
run: |
set -e pipefail
mkdir -p /opt/tiledb
cd /opt/tiledb
wget -q ${RELEASES_URL}/2.21.0-rc1/tiledb-linux-x86_64-2.21.0-rc1-0ea9c13.tar.gz
wget -q ${RELEASES_URL}/2.21.0-rc1/tiledb-linux-x86_64-2.21.0-rc1-0ea9c13.tar.gz.sha256
sha256sum tiledb*.sha256
tar -C /opt/tiledb -xzf tiledb*.tar.gz
- name: Show Environment
run: cargo config get build.rustflags
- name: Lint
run: cargo clippy --all-targets --all-features
- name: Build
run: cargo build --all-targets --all-features
- name: Test
run: cargo test --all-targets --all-features