Skip to content

Commit

Permalink
add Makefile
Browse files Browse the repository at this point in the history
  • Loading branch information
jiacai2050 committed Sep 10, 2024
1 parent c40d3d8 commit 4aa0602
Show file tree
Hide file tree
Showing 5 changed files with 106 additions and 7 deletions.
65 changes: 65 additions & 0 deletions .github/workflows/metric-engine-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

name: Metric Engine CI

on:
merge_group:
workflow_dispatch:
push:
branches:
- main
- dev
paths:
- 'horaedb/**'
pull_request:
paths:
- 'src/**'
- 'horaedb/**'

# Common environment variables
env:
RUSTFLAGS: "-C debuginfo=1"
CARGO_TERM_COLOR: always
RUST_BACKTRACE: "1"
LOCK_FILE: Cargo.lock
RUST_VERSION: nightly-2024-01-28

jobs:
style-check:
name: style-check
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v3
with:
submodules: true
- run: |
rustup set auto-self-update disable
rustup toolchain install ${RUST_VERSION} --profile minimal
- name: Release Disk Quota
run: |
sudo make ensure-disk-quota
- name: Install check binaries
run: |
rustup component add clippy
rustup component add rustfmt
cargo install --git https://github.com/DevinR528/cargo-sort --rev 55ec890 --locked
- name: Run Style Check
working-directory: horaedb
run: |
make fmt sort clippy
5 changes: 1 addition & 4 deletions horaedb/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,7 @@ license = "Apache-2.0"

[workspace]
resolver = "2"
members = [
"metric_engine",
"server",
]
members = ["metric_engine", "server"]

[workspace.dependencies]
anyhow = { version = "1.0" }
Expand Down
28 changes: 28 additions & 0 deletions horaedb/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

SHELL = /bin/bash

clippy:
cargo clippy --all-targets --all-features -- -D warnings \
-A dead_code -A unused_variables

sort:
cargo sort --workspace --check

fmt:
cargo fmt -- --check
14 changes: 12 additions & 2 deletions horaedb/metric_engine/src/storage.rs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,12 @@ pub struct CompactContext {}
pub trait TMStorage {
fn schema(&self) -> Result<&Schema>;
async fn write(&self, batch: RecordBatch) -> Result<()>;
async fn scan(&self, range: TimeRange, predicate: Predicate) -> Result<()>;
async fn scan(
&self,
range: TimeRange,
predicate: Predicate,
projection: Vec<usize>,
) -> Result<RecordBatch>;
async fn compact(&self, ctx: CompactContext) -> Result<()>;
}

Expand Down Expand Up @@ -64,7 +69,12 @@ impl TMStorage for CloudObjectStorage {
todo!()
}

async fn scan(&self, range: TimeRange, predicate: Predicate) -> Result<()> {
async fn scan(
&self,
range: TimeRange,
predicate: Predicate,
projection: Vec<usize>,
) -> Result<RecordBatch> {
todo!()
}

Expand Down
1 change: 0 additions & 1 deletion horaedb/server/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
// under the License.

use tracing::info;
use tracing_subscriber;

fn main() {
// install global collector configured based on RUST_LOG env var.
Expand Down

0 comments on commit 4aa0602

Please sign in to comment.