diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml new file mode 100644 index 0000000..c01d7fb --- /dev/null +++ b/.forgejo/workflows/build.yaml @@ -0,0 +1,21 @@ +on: + push: + branches: + - main +jobs: + build: + runs-on: docker + container: + # This image is from https://git.syndicate-lang.org/syndicate-lang/syndicate-rs/src/branch/main/.forgejo/workflows/builder-image + image: git.syndicate-lang.org/syndicate-lang/rust-builder:latest + steps: + - uses: actions/checkout@v3 + - run: CROSS_CONTAINER_IN_CONTAINER=true make ci-release + - uses: actions/upload-artifact@v3 + with: + name: syndicate-pty-driver-x86_64 + path: target/dist/x86_64 + - uses: actions/upload-artifact@v3 + with: + name: syndicate-pty-driver-aarch64 + path: target/dist/aarch64 diff --git a/Cargo.lock b/Cargo.lock index 5241496..5c45617 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -909,9 +909,9 @@ dependencies = [ [[package]] name = "syndicate" -version = "0.40.1" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12fc7874eb5f19c7b9880aacd69455482fece8c5ba8cb3d33844bb9332bae19c" +checksum = "1f227983d0dd044250016bb5afd4ed0718fba48ef481f79834aab2fe57589c68" dependencies = [ "blake2", "bytes", @@ -922,6 +922,7 @@ dependencies = [ "parking_lot", "preserves", "preserves-schema", + "syndicate-schema-plugin", "tokio", "tokio-util", "tracing", @@ -931,9 +932,9 @@ dependencies = [ [[package]] name = "syndicate-macros" -version = "0.32.0" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d22a8c9e17bcbb8be317777d2fa1e35eaf28d969a15cee396f263653c69caff2" +checksum = "a268673727a6c3c1d25930181871c141edfd2b653f22fe80211073802418715d" dependencies = [ "proc-macro2", "quote", @@ -943,7 +944,7 @@ dependencies = [ [[package]] name = "syndicate-pty-driver" -version = "0.1.0" +version = "0.1.1" dependencies = [ "lazy_static", "libc", @@ -958,12 +959,13 @@ dependencies = [ [[package]] name = "syndicate-schema-plugin" -version = "0.9.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ddf5665688a09ee12a1faef9225862a5351b5d1420b4a9ad8576d8d4cf43ebb" +checksum = "c95b1f42433fc89656440bd511d21d2f9e0f2b65c7d5c9236966fed5c1a2d5d6" dependencies = [ + "lazy_static", + "preserves", "preserves-schema", - "syndicate", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index f9ee0df..ab23e93 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "syndicate-pty-driver" -version = "0.1.0" +version = "0.1.1" authors = ["Tony Garnock-Jones "] edition = "2021" @@ -15,15 +15,15 @@ libc = "0.2.150" preserves-schema = "5.995.3" pty = "0.2.2" -syndicate = "0.40" -syndicate-macros = "0.32" +syndicate = "0.41" +syndicate-macros = "0.33" tokio = { version = "1.34.0", features = ["io-std", "fs"] } tracing = "0.1.40" [build-dependencies] preserves-schema = "5.995.3" -syndicate-schema-plugin = "0.9" +syndicate-schema-plugin = "0.10.1" [profile.release] strip = true diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..ba761e5 --- /dev/null +++ b/Makefile @@ -0,0 +1,19 @@ +all: + +clean: + rm -rf target + +ci-release: x86_64-binary-release aarch64-binary-release + rm -rf target/dist + for arch in x86_64 aarch64; do \ + mkdir -p target/dist/$$arch; \ + cp -a target/target.$$arch/$$arch-unknown-linux-musl*/release/syndicate-pty-driver target/dist/$$arch; \ + done + +%-binary: %-binary-release + +%-binary-release: + CARGO_TARGET_DIR=target/target.$* cross build --target $*-unknown-linux-musl --release --all-targets + +%-binary-debug: + CARGO_TARGET_DIR=target/target.$* cross build --target $*-unknown-linux-musl --all-targets diff --git a/build.rs b/build.rs index 3afa764..ea34fcc 100644 --- a/build.rs +++ b/build.rs @@ -7,7 +7,7 @@ fn main() -> std::io::Result<()> { gen_dir.push("src/schemas"); let mut c = CompilerConfig::new("crate::schemas".to_owned()); - c.plugins.push(Box::new(syndicate_schema_plugin::PatternPlugin)); + c.plugins.push(Box::new(syndicate_schema_plugin::PatternPlugin::new())); let inputs = expand_inputs(&vec!["protocols/schema-bundle.bin".to_owned()])?; c.load_schemas_and_bundles(&inputs, &vec![])?;