Skip to content

Commit 7729a17

Browse files
committed
add: release workflow
1 parent 543de74 commit 7729a17

File tree

4 files changed

+37
-63
lines changed

4 files changed

+37
-63
lines changed

.github/workflows/release.yml

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
on:
2+
release:
3+
types: [created]
4+
5+
jobs:
6+
release:
7+
name: release ${{ matrix.target }}
8+
runs-on: ubuntu-latest
9+
strategy:
10+
fail-fast: false
11+
matrix:
12+
include:
13+
- target: x86_64-pc-windows-gnu
14+
archive: zip
15+
- target: x86_64-unknown-linux-musl
16+
archive: tar.gz tar.xz tar.zst
17+
- target: x86_64-apple-darwin
18+
archive: zip
19+
steps:
20+
- uses: actions/checkout@master
21+
- name: Compile and release
22+
uses: rust-build/[email protected]
23+
env:
24+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
25+
with:
26+
RUSTTARGET: ${{ matrix.target }}
27+
ARCHIVE_TYPES: ${{ matrix.archive }}
28+
STATIC_LINKING: true
29+
TOOLCHAIN_VERSION: 1.74.0

Cargo.toml

-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ resolver = "2"
1616
thiserror = "1.0"
1717
rayql-engine = { path = "rayql-engine" }
1818
wasm-bindgen = "0.2"
19-
annotate-snippets = "0.11.1"
2019

2120
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
2221
tokio = { version = "1.36.0", features = ["full"] }

rayql-engine/Cargo.toml

-1
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,3 @@ edition = "2021"
77

88
[dependencies]
99
thiserror.workspace = true
10-
annotate-snippets.workspace = true

rayql-engine/src/error.rs

+8-61
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,8 @@
1-
use annotate_snippets::{Level, Renderer, Snippet};
21
use rayql::{
32
schema::error::{ParseError, TokenizationError},
43
sql::error::{FunctionError, ToSQLError},
54
};
65

7-
struct ErrorMessageBuilder<'a> {
8-
code: &'a str,
9-
title: String,
10-
label: String,
11-
line: usize,
12-
span: std::ops::Range<usize>,
13-
}
14-
15-
impl<'a> ErrorMessageBuilder<'a> {
16-
fn new(code: &'a str) -> Self {
17-
ErrorMessageBuilder {
18-
code,
19-
title: String::new(),
20-
label: String::new(),
21-
line: 0,
22-
span: 0..0,
23-
}
24-
}
25-
26-
fn with_title(mut self, title: String) -> Self {
27-
self.title = title;
28-
self
29-
}
30-
31-
fn with_label(mut self, label: String) -> Self {
32-
self.label = label;
33-
self
34-
}
35-
36-
fn with_line(mut self, line: usize) -> Self {
37-
self.line = line;
38-
self
39-
}
40-
41-
fn with_span(mut self, span: std::ops::Range<usize>) -> Self {
42-
self.span = span;
43-
self
44-
}
45-
46-
fn build(self) -> String {
47-
let message = Level::Error.title(&self.title).snippet(
48-
Snippet::source(self.code.lines().nth(self.line - 1).unwrap())
49-
.line_start(self.line)
50-
.origin("schema.rayql")
51-
.fold(true)
52-
.annotation(Level::Error.span(self.span).label(&self.label)),
53-
);
54-
let renderer = Renderer::styled();
55-
let rendered_message = renderer.render(message);
56-
rendered_message.to_string()
57-
}
58-
}
59-
606
pub fn pretty_error_message(error: &ParseError, code: &str) -> String {
617
match error {
628
ParseError::TokenizationError(tokenization_error) => {
@@ -99,16 +45,17 @@ pub fn pretty_error_message(error: &ParseError, code: &str) -> String {
9945
}
10046
}
10147

102-
fn pretty_tokenization_error_message(tokenization_error: &TokenizationError, code: &str) -> String {
48+
fn pretty_tokenization_error_message(
49+
tokenization_error: &TokenizationError,
50+
_code: &str,
51+
) -> String {
10352
match tokenization_error {
10453
TokenizationError::UnexpectedCharacter { char, line, column }
10554
| TokenizationError::UnknownEscapeSequence { char, line, column } => {
106-
ErrorMessageBuilder::new(code)
107-
.with_title("Unexpected character".to_string())
108-
.with_label(format!("Unexpected character '{}'", char))
109-
.with_line(*line)
110-
.with_span(*column - 1..*column)
111-
.build()
55+
format!(
56+
"Unexpected character '{}' at line {}, column {}",
57+
char, line, column
58+
)
11259
}
11360
TokenizationError::StringLiteralOpened { line, column } => {
11461
format!("String literal opened at line {}, column {}", line, column)

0 commit comments

Comments
 (0)