Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat!: add parse module #89

Closed
wants to merge 29 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
f8be071
Add `parse` module
mbrobbel Mar 15, 2023
6679405
Remove .vscode settings
mbrobbel Apr 6, 2023
744394e
Fix typo and add missing license header
mbrobbel Apr 6, 2023
c5ccc8b
Merge branch 'main' into parse-dont-validate
mbrobbel Apr 6, 2023
a744283
Fix clippy warnings
mbrobbel Apr 6, 2023
af97462
Implement parse for simple extension declarations
mbrobbel Apr 17, 2023
325197a
Merge branch 'main' into parse-dont-validate
mbrobbel Apr 17, 2023
b01728e
Fix warnings, tests and docs workflow
mbrobbel Apr 17, 2023
f17b6f1
Merge branch 'main' into parse-dont-validate
mbrobbel Jun 6, 2023
55f0414
Move some items between modules and add wrapper abstraction
mbrobbel Jun 7, 2023
1fbd407
Merge branch 'main' into parse-dont-validate
mbrobbel Jun 7, 2023
2e73082
Bump MSRV to 1.65.0 for `let else`
mbrobbel Jun 7, 2023
0737ced
Bump MSRV to 1.66.0 for `map_first_last`
mbrobbel Jun 7, 2023
6ca6572
Add support for different simple extensions resolvers in the parser
mbrobbel Jun 8, 2023
3ae5dd1
Add missing headers
mbrobbel Jul 3, 2023
fa6b67d
Merge branch 'main' into parse-dont-validate
mbrobbel Jul 3, 2023
f34ac75
Fix clippy warning
mbrobbel Jul 3, 2023
f5e413c
Add cache for Rust jobs
mbrobbel Jul 4, 2023
4b25b5a
Merge branch 'main' into parse-dont-validate
mbrobbel Jul 4, 2023
4261655
Update cache keys
mbrobbel Jul 4, 2023
023c374
Update restore keys
mbrobbel Jul 4, 2023
3d76304
Remove build step from package job
mbrobbel Jul 4, 2023
c70f2d0
Trigger build script before package
mbrobbel Jul 4, 2023
8861eb5
Package needs build script output
mbrobbel Jul 4, 2023
d148244
Fix package problems
mbrobbel Jul 4, 2023
af15603
Fix serde feature build
mbrobbel Jul 4, 2023
ecedd7f
Only show the first error
mbrobbel Feb 2, 2024
63de23a
Merge branch 'main' into parse-dont-validate
mbrobbel Mar 5, 2024
aebd6cc
`anyhow` is a dependency of the `parse` feature
mbrobbel Mar 5, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion .github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,12 @@

name: Check

on: [push, pull_request]
on:
push:
pull_request:

permissions:
contents: read

jobs:
license:
Expand Down
33 changes: 29 additions & 4 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,15 @@

name: Docs

on: [push, pull_request]
on:
push:
pull_request:

permissions:
actions: write
contents: read
pages: write
id-token: write
pages: write

concurrency:
group: ${{ github.ref }}
Expand All @@ -16,16 +19,38 @@ jobs:
rustdoc:
name: Rustdoc
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
rust:
- nightly
feature:
- full
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
- uses: dtolnay/rust-toolchain@nightly
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ matrix.rust }}-${{ matrix.feature }}-rustdoc-${{ hashFiles('**/Cargo.toml') }}
restore-keys: |
${{ runner.os }}-cargo-${{ matrix.rust }}-${{ matrix.feature }}-rustdoc-
${{ runner.os }}-cargo-${{ matrix.rust }}-${{ matrix.feature }}-
${{ runner.os }}-cargo-${{ matrix.rust }}-
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
- uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- run: cargo rustdoc --features semver -- --cfg docsrs
- run: cargo rustdoc --lib --features ${{ matrix.feature }} -- --cfg docsrs
- run: chmod -c -R +rX "target/doc"
- run: echo "<meta http-equiv=refresh content=0;url=substrait>" > target/doc/index.html
- if: github.event_name == 'push' && github.ref == 'refs/heads/main'
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ on:
- edited
- synchronize

permissions:
contents: read

jobs:
conventional-commits:
name: Conventional Commits
Expand Down
32 changes: 29 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,22 +7,48 @@ on:
branches:
- main

permissions:
actions: write
contents: write

jobs:
release:
name: Release
runs-on: ubuntu-latest
concurrency: release
strategy:
fail-fast: false
matrix:
rust:
- stable
feature:
- full
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
- uses: dtolnay/rust-toolchain@stable
- run: cargo install cargo-smart-release --debug --locked
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ matrix.rust }}-${{ matrix.feature }}-release-${{ hashFiles('**/Cargo.toml') }}
restore-keys: |
${{ runner.os }}-cargo-${{ matrix.rust }}-${{ matrix.feature }}-release-
${{ runner.os }}-cargo-${{ matrix.rust }}-${{ matrix.feature }}-
${{ runner.os }}-cargo-${{ matrix.rust }}-
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
- uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- run: cargo check
- run: cargo install cargo-smart-release --debug --locked
- run: cargo check --features ${{ matrix.feature }}
- run: cargo changelog --execute substrait
- run: |
git config user.name github-actions[bot]
Expand Down
111 changes: 95 additions & 16 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,13 @@

name: Test

on: [push, pull_request]
on:
push:
pull_request:

permissions:
actions: write
contents: read

jobs:
check:
Expand All @@ -11,17 +17,37 @@ jobs:
strategy:
fail-fast: false
matrix:
rust:
- stable
- 1.66.0
feature:
- default
- pbjson
- full
- serde
- protoc
- semver,serde
exclude:
- rust: 1.66.0
feature: protoc
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
- uses: dtolnay/rust-toolchain@stable
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ matrix.rust }}-${{ matrix.feature }}-check-${{ hashFiles('**/Cargo.toml') }}
restore-keys: |
${{ runner.os }}-cargo-${{ matrix.rust }}-${{ matrix.feature }}-check-
${{ runner.os }}-cargo-${{ matrix.rust }}-${{ matrix.feature }}-
${{ runner.os }}-cargo-${{ matrix.rust }}-
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
- uses: arduino/setup-protoc@v3
if: matrix.feature != 'protoc'
with:
Expand All @@ -34,16 +60,32 @@ jobs:
strategy:
fail-fast: false
matrix:
rust:
- stable
feature:
- default
- pbjson
- semver,serde
- full
- serde
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
- uses: dtolnay/rust-toolchain@stable
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ matrix.rust }}-${{ matrix.feature }}-test-${{ hashFiles('**/Cargo.toml') }}
restore-keys: |
${{ runner.os }}-cargo-${{ matrix.rust }}-${{ matrix.feature }}-test-
${{ runner.os }}-cargo-${{ matrix.rust }}-${{ matrix.feature }}-
${{ runner.os }}-cargo-${{ matrix.rust }}-
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
- uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -65,17 +107,32 @@ jobs:
strategy:
fail-fast: false
matrix:
rust:
- stable
feature:
- default
- pbjson
- semver,serde
- full
- serde
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
- uses: dtolnay/rust-toolchain@stable
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ matrix.rust }}-${{ matrix.feature }}-clippy-${{ hashFiles('**/Cargo.toml') }}
restore-keys: |
${{ runner.os }}-cargo-${{ matrix.rust }}-${{ matrix.feature }}-clippy-
${{ runner.os }}-cargo-${{ matrix.rust }}-${{ matrix.feature }}-
${{ runner.os }}-cargo-${{ matrix.rust }}-
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
components: clippy
- uses: arduino/setup-protoc@v3
with:
Expand All @@ -85,14 +142,36 @@ jobs:
package:
name: Package
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
rust:
- stable
feature:
- full
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
- uses: dtolnay/rust-toolchain@stable
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ matrix.rust }}-${{ matrix.feature }}-package-${{ hashFiles('**/Cargo.toml') }}
restore-keys: |
${{ runner.os }}-cargo-${{ matrix.rust }}-${{ matrix.feature }}-package-
${{ runner.os }}-cargo-${{ matrix.rust }}-${{ matrix.feature }}-
${{ runner.os }}-cargo-${{ matrix.rust }}-
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
- uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- run: cargo build
- run: cargo package --allow-dirty
- run: cargo check --features ${{ matrix.feature }}
- run: cargo package --features ${{ matrix.feature }} --allow-dirty
11 changes: 7 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
# SPDX-License-Identifier: Apache-2.0

# Cargo
/target
Cargo.lock

# Generated by build.rs (substrait submodule version information)
src/version.in

# Editors
.idea
.vscode/

# Generated by build.rs
gen/

# Node.js tooling
package.json
package-lock.json
node_modules/
.vscode/
Loading
Loading