Skip to content

Commit

Permalink
Update to github actions and cargo fmt (#5)
Browse files Browse the repository at this point in the history
  • Loading branch information
jonmcquillan authored Sep 1, 2023
1 parent ee10f79 commit f0e849b
Show file tree
Hide file tree
Showing 23 changed files with 2,536 additions and 2,440 deletions.
49 changes: 0 additions & 49 deletions .circleci/config.yml

This file was deleted.

18 changes: 12 additions & 6 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
version: 2
updates:
- package-ecosystem: cargo
open-pull-requests-limit: 25
directory: /
registries: []
schedule:
interval: daily
- package-ecosystem: cargo
open-pull-requests-limit: 25
directory: /
registries: []
schedule:
interval: daily
- package-ecosystem: github-actions
directory: /
registries: []
schedule:
interval: daily

27 changes: 27 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# (c) Copyright 2023 Hewlett Packard Enterprise Development LP

name: Release

on:
release:
types: [created]

jobs:
upload_artifacts:
runs-on: ubuntu-latest
env:
CARGO_TERM_COLOR: always

steps:
- name: Checkout
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744
- name: Update Tag
shell: bash
run: |
version=$(echo "$GITHUB_REF" | sed -e 's/^v//')
sed -i -e "s/version = \"0.1.0\"/version = \"$version\"/" Cargo.toml
- name: Publish
run: cargo publish --allow-dirty --locked
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}

22 changes: 22 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# (c) Copyright 2023 Hewlett Packard Enterprise Development LP

name: Rust Checks

on:
pull_request:

jobs:
build:
name: Rust Checks
runs-on: ubuntu-latest
env:
CARGO_TERM_COLOR: always
steps:
- name: Checkout
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744
- name: Rust Format
run: cargo fmt --check
- name: Clippy
run: cargo clippy
- name: Test
run: cargo test --verbose
5 changes: 1 addition & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,13 @@ license = "MIT"
keywords = ["parser", "prometheus", "pest"]
homepage = "https://github.com/HewlettPackard/prometheus-parser-rs/"
repository = "https://github.com/HewlettPackard/prometheus-parser-rs/"
exclude = [".circleci/**/*"]
exclude = [".github/**/*"]
readme = "README.md"

# NOTE: do not change the version here, it will be replaced with the git tag
# version by CI
version = "0.1.0"

[badges]
circle-ci = { repository = "HewlettPackard/prometheus-parser-rs", branch = "master" }

[dependencies]
pest = "2.1"
pest_consume = "1.1"
Expand Down
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# prometheus-parser-rs

[![CircleCI](https://circleci.com/gh/HewlettPackard/prometheus-parser-rs.svg?style=svg)](https://circleci.com/gh/HewlettPackard/prometheus-parser-rs)
[![docs.rs](https://docs.rs/prometheus-parser/badge.svg)](https://docs.rs/prometheus-parser/)

prometheus-parser parses arbitrary Prometheus expressions into a syntax tree
Expand Down Expand Up @@ -225,7 +224,7 @@ though the [code of conduct] for some pointers to get started.

Note that - as mentioned in the code of conduct - code contributions must
indicate that you accept the [Developer Certificate of Origin][dco],
essentially asserting you have the necessary rights to submit the code you're
essentially asserting you have the necessary rights to submit the code you're
contributing under the project's license (MIT). If you agree, simply pass `-s`
to `git commit`:

Expand Down
76 changes: 38 additions & 38 deletions examples/label_drop.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,43 +7,43 @@ use prometheus_parser;
use prometheus_parser::ReturnKind;

fn main() {
let args: Vec<String> = env::args().collect();

let expr = &args[1];
let label = &args[2];
let res = prometheus_parser::parse_expr(expr);

match res {
Ok(r) => {
let return_value = r.return_value();

if let ReturnKind::Unknown(cause) = &return_value.kind {
println!("note: expression return type is unknown, result may be inaccurate");
println!(" reason: {}", cause.message);
println!(" expression: {}", cause.expression);
println!();
}

if let Some(drops) = return_value.drops(label) {
println!("label '{}' is dropped:\n", label);

if let Some(span) = drops.span {
println!("{}", expr);
println!(
"{}{}",
" ".repeat(span.start),
"-".repeat(span.end - span.start)
);
let args: Vec<String> = env::args().collect();

let expr = &args[1];
let label = &args[2];
let res = prometheus_parser::parse_expr(expr);

match res {
Ok(r) => {
let return_value = r.return_value();

if let ReturnKind::Unknown(cause) = &return_value.kind {
println!("note: expression return type is unknown, result may be inaccurate");
println!(" reason: {}", cause.message);
println!(" expression: {}", cause.expression);
println!();
}

if let Some(drops) = return_value.drops(label) {
println!("label '{}' is dropped:\n", label);

if let Some(span) = drops.span {
println!("{}", expr);
println!(
"{}{}",
" ".repeat(span.start),
"-".repeat(span.end - span.start)
);
}

println!();
println!("parent expression: {}", drops.expression);
} else {
println!("label '{}' is not dropped", label);
}
}

println!();
println!("parent expression: {}", drops.expression);
} else {
println!("label '{}' is not dropped", label);
}
},
Err(e) => {
eprintln!("error: {}", e);
}
};
Err(e) => {
eprintln!("error: {}", e);
}
};
}
26 changes: 13 additions & 13 deletions examples/label_passthrough.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,19 @@ use std::env;
use prometheus_parser;

fn main() {
let args: Vec<String> = env::args().collect();
let args: Vec<String> = env::args().collect();

let expr = &args[1];
let labels: Vec<&str> = args[2..].iter().map(|s| s.as_str()).collect();
let res = prometheus_parser::parse_expr(expr);
let expr = &args[1];
let labels: Vec<&str> = args[2..].iter().map(|s| s.as_str()).collect();
let res = prometheus_parser::parse_expr(expr);

match res {
Ok(r) => {
let return_value = r.return_value();
println!("{:#?}", return_value.passthrough(&labels));
},
Err(e) => {
eprintln!("error: {}", e);
}
};
match res {
Ok(r) => {
let return_value = r.return_value();
println!("{:#?}", return_value.passthrough(&labels));
}
Err(e) => {
eprintln!("error: {}", e);
}
};
}
20 changes: 10 additions & 10 deletions examples/parse.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ use std::env;
use prometheus_parser;

fn main() {
let args: Vec<String> = env::args().collect();
let res = prometheus_parser::parse_expr(&args[1]);
let args: Vec<String> = env::args().collect();
let res = prometheus_parser::parse_expr(&args[1]);

match res {
Ok(r) => {
println!("{:#?}", r);
},
Err(e) => {
eprintln!("error: {}", e);
}
};
match res {
Ok(r) => {
println!("{:#?}", r);
}
Err(e) => {
eprintln!("error: {}", e);
}
};
}
20 changes: 10 additions & 10 deletions examples/reformat.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ use std::env;
use prometheus_parser;

fn main() {
let args: Vec<String> = env::args().collect();
let res = prometheus_parser::parse_expr(&args[1]);
let args: Vec<String> = env::args().collect();
let res = prometheus_parser::parse_expr(&args[1]);

match res {
Ok(r) => {
println!("{}", r);
},
Err(e) => {
eprintln!("error: {}", e);
}
};
match res {
Ok(r) => {
println!("{}", r);
}
Err(e) => {
eprintln!("error: {}", e);
}
};
}
20 changes: 10 additions & 10 deletions examples/return_value.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ use std::env;
use prometheus_parser;

fn main() {
let args: Vec<String> = env::args().collect();
let res = prometheus_parser::parse_expr(&args[1]);
let args: Vec<String> = env::args().collect();
let res = prometheus_parser::parse_expr(&args[1]);

match res {
Ok(r) => {
println!("{:#?}", r.return_value());
},
Err(e) => {
eprintln!("error: {}", e);
}
};
match res {
Ok(r) => {
println!("{:#?}", r.return_value());
}
Err(e) => {
eprintln!("error: {}", e);
}
};
}
5 changes: 2 additions & 3 deletions src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@

// (C) Copyright 2019-2020 Hewlett Packard Enterprise Development LP

#![forbid(unsafe_code)]

mod types;
mod parser;
mod types;

pub use types::*;
pub use parser::{parse_expr, Result};
pub use types::*;
Loading

0 comments on commit f0e849b

Please sign in to comment.