Make sure queues are created correctly, also ensure pg_partman
is e…
#1
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: Cargo lint and test | |
on: | |
push: | |
branches: ["main"] | |
paths-ignore: | |
- 'tembo-py/**' | |
pull_request: | |
branches: ["main"] | |
paths-ignore: | |
- 'tembo-py/**' | |
jobs: | |
find_directories: | |
name: Find changed Cargo projects | |
runs-on: ubuntu-20.04 | |
outputs: | |
directories: ${{ steps.find_directories.outputs.build_matrix }} | |
steps: | |
- name: Check out the repo | |
uses: actions/checkout@v4 | |
- name: Find directories with Dockerfiles that changed | |
id: find_directories | |
uses: ./.github/actions/find-changed-directories | |
with: | |
contains_the_file: Cargo.toml | |
changed_relative_to_ref: origin/${{ github.base_ref || 'not-a-branch' }} | |
ignore_dirs: ".coredb examples tembo-cli/temboclient tembo-cli/tembodataclient" | |
lint: | |
name: Run linters | |
runs-on: | |
- self-hosted | |
- dind | |
- small | |
needs: | |
- find_directories | |
strategy: | |
fail-fast: false | |
matrix: ${{ fromJson(needs.find_directories.outputs.directories) }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install system dependencies | |
run: | | |
set -xe | |
sudo apt-get update | |
sudo apt-get install -y pkg-config libssl-dev | |
- name: Install minimal nightly with clippy and rustfmt | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: stable | |
components: rustfmt, clippy | |
- name: Install minimal stable with clippy and rustfmt | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: stable | |
components: rustfmt, clippy | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
prefix-key: "${{ matrix.name }}-lint" | |
workspaces: | | |
${{ matrix.path }} | |
- name: Cargo format and clippy | |
run: | | |
set -xe | |
cd ${{ matrix.path }} | |
cargo --version | |
cargo fmt --all --check | |
cargo clippy | |
test: | |
name: Run tests | |
runs-on: | |
- self-hosted | |
- dind | |
- large-8x8 | |
needs: | |
- find_directories | |
strategy: | |
fail-fast: false | |
matrix: ${{ fromJson(needs.find_directories.outputs.directories) }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: stable | |
- name: Install system dependencies | |
run: | | |
set -xe | |
sudo apt-get update | |
sudo apt-get install -y pkg-config libssl-dev lsb-release | |
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' | |
wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /etc/apt/trusted.gpg.d/pgdg.asc &>/dev/null | |
sudo apt-get update && sudo apt-get install -y postgresql-client | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
prefix-key: "${{ matrix.name }}-test" | |
workspaces: | | |
${{ matrix.path }} | |
- name: Unit tests | |
run: | | |
set -xe | |
export PROMETHEUS_URL=https://prometheus-data-1.use1.dev.plat.cdb-svc.com | |
cd ${{ matrix.path }} && cargo test | |
env: | |
ORG_ID: ${{ secrets.ORG_ID }} | |
ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }} | |
TEMBO_HOST: ${{ secrets.TEMBO_HOST }} | |
TEMBO_DATA_HOST: ${{ secrets.TEMBO_DATA_HOST }} |