diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 1aad7c1..1e1301c 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -56,7 +56,7 @@ jobs: runs-on: ${{ matrix.job.os }} needs: crate_metadata strategy: - fail-fast: true + fail-fast: false matrix: job: # Windows ( MinGW ) @@ -100,12 +100,17 @@ jobs: shell: bash run: echo "VERSION=${{ needs.crate_metadata.outputs.version }}" >> $GITHUB_OUTPUT - - name: install prerequisites + - name: Install Prerequisites + if: contains(matrix.job.os, 'ubuntu') shell: bash run: | + sudo apt-get -y update + sudo apt-get remove -y libssl-dev case ${{ matrix.job.target }} in - arm-unknown-linux-*) sudo apt-get -y update && sudo apt-get -y install gcc-arm-linux-gnueabihf ;; - aarch64-unknown-linux-gnu) sudo apt-get -y update && sudo apt-get -y install gcc-aarch64-linux-gnu ;; + arm-unknown-linux-*) sudo apt-get -y install gcc-arm-linux-gnueabihf ;; + aarch64-unknown-linux-gnu) sudo apt-get -y install gcc-aarch64-linux-gnu ;; + i686-unknown-linux-gnu) sudo apt-get -y install gcc-multilib g++-multilib ;; + arm-unknown-linux-gnueabihf) sudo apt-get -y install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf qemu-user ;; esac - name: install Rust toolchain diff --git a/Cargo.lock b/Cargo.lock index ca0710a..b3432e7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -970,25 +970,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9985c9503b412198aa4197559e9a318524ebc4519c229bfa05a535828c950b9d" -[[package]] -name = "h2" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e" -dependencies = [ - "atomic-waker", - "bytes", - "fnv", - "futures-core", - "futures-sink", - "http", - "indexmap", - "slab", - "tokio", - "tokio-util", - "tracing", -] - [[package]] name = "half" version = "2.4.1" @@ -1091,7 +1072,6 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "h2", "http", "http-body", "httparse", @@ -1102,23 +1082,6 @@ dependencies = [ "want", ] -[[package]] -name = "hyper-rustls" -version = "0.27.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" -dependencies = [ - "futures-util", - "http", - "hyper", - "hyper-util", - "rustls", - "rustls-pki-types", - "tokio", - "tokio-rustls", - "tower-service", -] - [[package]] name = "hyper-tls" version = "0.6.0" @@ -1446,7 +1409,7 @@ checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "mago" -version = "0.0.12" +version = "0.0.13" dependencies = [ "ahash", "async-walkdir", @@ -1469,12 +1432,11 @@ dependencies = [ "mago-source", "mago-span", "num_cpus", - "reqwest", + "openssl", "self_update", "serde", "serde_json", "strum", - "tempfile", "termtree", "tokio", "toml", @@ -1483,7 +1445,7 @@ dependencies = [ [[package]] name = "mago-ast" -version = "0.0.12" +version = "0.0.13" dependencies = [ "mago-interner", "mago-source", @@ -1496,7 +1458,7 @@ dependencies = [ [[package]] name = "mago-ast-utils" -version = "0.0.12" +version = "0.0.13" dependencies = [ "mago-ast", "mago-span", @@ -1504,14 +1466,14 @@ dependencies = [ [[package]] name = "mago-casing" -version = "0.0.12" +version = "0.0.13" dependencies = [ "cruet", ] [[package]] name = "mago-composer" -version = "0.0.12" +version = "0.0.13" dependencies = [ "ahash", "serde", @@ -1520,7 +1482,7 @@ dependencies = [ [[package]] name = "mago-docblock" -version = "0.0.12" +version = "0.0.13" dependencies = [ "mago-ast", "mago-interner", @@ -1531,7 +1493,7 @@ dependencies = [ [[package]] name = "mago-feedback" -version = "0.0.12" +version = "0.0.13" dependencies = [ "indicatif", "tracing", @@ -1540,7 +1502,7 @@ dependencies = [ [[package]] name = "mago-fixer" -version = "0.0.12" +version = "0.0.13" dependencies = [ "pretty_assertions", "serde", @@ -1550,7 +1512,7 @@ dependencies = [ [[package]] name = "mago-formatter" -version = "0.0.12" +version = "0.0.13" dependencies = [ "ahash", "bitflags", @@ -1569,7 +1531,7 @@ dependencies = [ [[package]] name = "mago-interner" -version = "0.0.12" +version = "0.0.13" dependencies = [ "criterion", "lasso", @@ -1578,7 +1540,7 @@ dependencies = [ [[package]] name = "mago-lexer" -version = "0.0.12" +version = "0.0.13" dependencies = [ "mago-interner", "mago-reporting", @@ -1592,7 +1554,7 @@ dependencies = [ [[package]] name = "mago-linter" -version = "0.0.12" +version = "0.0.13" dependencies = [ "ahash", "mago-ast", @@ -1616,7 +1578,7 @@ dependencies = [ [[package]] name = "mago-names" -version = "0.0.12" +version = "0.0.13" dependencies = [ "ahash", "mago-ast", @@ -1629,7 +1591,7 @@ dependencies = [ [[package]] name = "mago-parser" -version = "0.0.12" +version = "0.0.13" dependencies = [ "either", "mago-ast", @@ -1650,7 +1612,7 @@ dependencies = [ [[package]] name = "mago-reflection" -version = "0.0.12" +version = "0.0.13" dependencies = [ "ahash", "mago-interner", @@ -1663,7 +1625,7 @@ dependencies = [ [[package]] name = "mago-reflector" -version = "0.0.12" +version = "0.0.13" dependencies = [ "ahash", "mago-ast", @@ -1679,7 +1641,7 @@ dependencies = [ [[package]] name = "mago-reporting" -version = "0.0.12" +version = "0.0.13" dependencies = [ "ahash", "codespan-reporting", @@ -1695,7 +1657,7 @@ dependencies = [ [[package]] name = "mago-semantics" -version = "0.0.12" +version = "0.0.13" dependencies = [ "mago-ast", "mago-ast-utils", @@ -1713,7 +1675,7 @@ dependencies = [ [[package]] name = "mago-source" -version = "0.0.12" +version = "0.0.13" dependencies = [ "dashmap", "mago-interner", @@ -1723,7 +1685,7 @@ dependencies = [ [[package]] name = "mago-span" -version = "0.0.12" +version = "0.0.13" dependencies = [ "mago-source", "serde", @@ -1731,7 +1693,7 @@ dependencies = [ [[package]] name = "mago-symbol-table" -version = "0.0.12" +version = "0.0.13" dependencies = [ "mago-ast", "mago-interner", @@ -1744,7 +1706,7 @@ dependencies = [ [[package]] name = "mago-token" -version = "0.0.12" +version = "0.0.13" dependencies = [ "mago-interner", "mago-span", @@ -1754,14 +1716,14 @@ dependencies = [ [[package]] name = "mago-traverser" -version = "0.0.12" +version = "0.0.13" dependencies = [ "mago-ast", ] [[package]] name = "mago-trinary" -version = "0.0.12" +version = "0.0.13" dependencies = [ "serde", "strum", @@ -1769,7 +1731,7 @@ dependencies = [ [[package]] name = "mago-typing" -version = "0.0.12" +version = "0.0.13" dependencies = [ "ahash", "mago-ast", @@ -1784,7 +1746,7 @@ dependencies = [ [[package]] name = "mago-walker" -version = "0.0.12" +version = "0.0.13" dependencies = [ "mago-ast", "paste", @@ -1792,7 +1754,7 @@ dependencies = [ [[package]] name = "mago-wasm" -version = "0.0.12" +version = "0.0.13" dependencies = [ "getrandom", "mago-ast", @@ -1987,6 +1949,15 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +[[package]] +name = "openssl-src" +version = "300.3.2+3.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a211a18d945ef7e648cc6e0058f4c548ee46aab922ea203e0d30e966ea23647b" +dependencies = [ + "cc", +] + [[package]] name = "openssl-sys" version = "0.9.104" @@ -1995,6 +1966,7 @@ checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" dependencies = [ "cc", "libc", + "openssl-src", "pkg-config", "vcpkg", ] @@ -2325,16 +2297,13 @@ checksum = "a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f" dependencies = [ "base64 0.22.1", "bytes", - "encoding_rs", "futures-channel", "futures-core", "futures-util", - "h2", "http", "http-body", "http-body-util", "hyper", - "hyper-rustls", "hyper-tls", "hyper-util", "ipnet", @@ -2350,7 +2319,6 @@ dependencies = [ "serde_json", "serde_urlencoded", "sync_wrapper", - "system-configuration", "tokio", "tokio-native-tls", "tower-service", @@ -2361,21 +2329,6 @@ dependencies = [ "windows-registry", ] -[[package]] -name = "ring" -version = "0.17.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" -dependencies = [ - "cc", - "cfg-if", - "getrandom", - "libc", - "spin", - "untrusted", - "windows-sys 0.52.0", -] - [[package]] name = "ron" version = "0.8.1" @@ -2426,19 +2379,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "rustls" -version = "0.23.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5065c3f250cbd332cd894be57c40fa52387247659b14a2d6041d121547903b1b" -dependencies = [ - "once_cell", - "rustls-pki-types", - "rustls-webpki", - "subtle", - "zeroize", -] - [[package]] name = "rustls-pemfile" version = "2.2.0" @@ -2454,17 +2394,6 @@ version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37" -[[package]] -name = "rustls-webpki" -version = "0.102.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" -dependencies = [ - "ring", - "rustls-pki-types", - "untrusted", -] - [[package]] name = "rustversion" version = "1.0.18" @@ -2690,12 +2619,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" - [[package]] name = "spki" version = "0.7.3" @@ -2777,27 +2700,6 @@ dependencies = [ "syn", ] -[[package]] -name = "system-configuration" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" -dependencies = [ - "bitflags", - "core-foundation", - "system-configuration-sys", -] - -[[package]] -name = "system-configuration-sys" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" -dependencies = [ - "core-foundation-sys", - "libc", -] - [[package]] name = "tar" version = "0.4.43" @@ -2982,29 +2884,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "tokio-rustls" -version = "0.26.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37" -dependencies = [ - "rustls", - "tokio", -] - -[[package]] -name = "tokio-util" -version = "0.7.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio", -] - [[package]] name = "toml" version = "0.8.19" @@ -3154,12 +3033,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" -[[package]] -name = "untrusted" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" - [[package]] name = "url" version = "2.5.4" diff --git a/Cargo.toml b/Cargo.toml index cc2f115..5976cf8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "mago" -version = "0.0.12" +version = "0.0.13" edition = "2021" authors = ["Saif Eddin Gmati "] license = "MIT OR Apache-2.0" @@ -13,7 +13,7 @@ rust-version = "1.83.0" package.edition = "2021" package.authors = ["Saif Eddin Gmati "] package.license = "MIT OR Apache-2.0" -package.version = "0.0.12" +package.version = "0.0.13" package.homepage = "https://github.com/carthage-software/mago" package.repository = "https://github.com/carthage-software/mago" package.rust-version = "1.83.0" @@ -26,32 +26,32 @@ declare_interior_mutable_const = { level = "allow" } large_enum_variant = { level = "allow" } [workspace.dependencies] -mago-ast = { path = "crates/ast", version = "0.0.12" } -mago-ast-utils = { path = "crates/ast-utils", version = "0.0.12" } -mago-casing = { path = "crates/casing", version = "0.0.12" } -mago-composer = { path = "crates/composer", version = "0.0.12" } -mago-docblock = { path = "crates/docblock", version = "0.0.12" } -mago-feedback = { path = "crates/feedback", version = "0.0.12" } -mago-fixer = { path = "crates/fixer", version = "0.0.12" } -mago-formatter = { path = "crates/formatter", version = "0.0.12" } -mago-interner = { path = "crates/interner", version = "0.0.12" } -mago-lexer = { path = "crates/lexer", version = "0.0.12" } -mago-linter = { path = "crates/linter", version = "0.0.12" } -mago-names = { path = "crates/names", version = "0.0.12" } -mago-parser = { path = "crates/parser", version = "0.0.12" } -mago-reflection = { path = "crates/reflection", version = "0.0.12" } -mago-reflector = { path = "crates/reflector", version = "0.0.12" } -mago-reporting = { path = "crates/reporting", version = "0.0.12" } -mago-semantics = { path = "crates/semantics", version = "0.0.12" } -mago-source = { path = "crates/source", version = "0.0.12" } -mago-span = { path = "crates/span", version = "0.0.12" } -mago-symbol-table = { path = "crates/symbol-table", version = "0.0.12" } -mago-token = { path = "crates/token", version = "0.0.12" } -mago-traverser = { path = "crates/traverser", version = "0.0.12" } -mago-trinary = { path = "crates/trinary", version = "0.0.12" } -mago-typing = { path = "crates/typing", version = "0.0.12" } -mago-walker = { path = "crates/walker", version = "0.0.12" } -mago-wasm = { path = "crates/wasm", version = "0.0.12" } +mago-ast = { path = "crates/ast", version = "0.0.13" } +mago-ast-utils = { path = "crates/ast-utils", version = "0.0.13" } +mago-casing = { path = "crates/casing", version = "0.0.13" } +mago-composer = { path = "crates/composer", version = "0.0.13" } +mago-docblock = { path = "crates/docblock", version = "0.0.13" } +mago-feedback = { path = "crates/feedback", version = "0.0.13" } +mago-fixer = { path = "crates/fixer", version = "0.0.13" } +mago-formatter = { path = "crates/formatter", version = "0.0.13" } +mago-interner = { path = "crates/interner", version = "0.0.13" } +mago-lexer = { path = "crates/lexer", version = "0.0.13" } +mago-linter = { path = "crates/linter", version = "0.0.13" } +mago-names = { path = "crates/names", version = "0.0.13" } +mago-parser = { path = "crates/parser", version = "0.0.13" } +mago-reflection = { path = "crates/reflection", version = "0.0.13" } +mago-reflector = { path = "crates/reflector", version = "0.0.13" } +mago-reporting = { path = "crates/reporting", version = "0.0.13" } +mago-semantics = { path = "crates/semantics", version = "0.0.13" } +mago-source = { path = "crates/source", version = "0.0.13" } +mago-span = { path = "crates/span", version = "0.0.13" } +mago-symbol-table = { path = "crates/symbol-table", version = "0.0.13" } +mago-token = { path = "crates/token", version = "0.0.13" } +mago-traverser = { path = "crates/traverser", version = "0.0.13" } +mago-trinary = { path = "crates/trinary", version = "0.0.13" } +mago-typing = { path = "crates/typing", version = "0.0.13" } +mago-walker = { path = "crates/walker", version = "0.0.13" } +mago-wasm = { path = "crates/wasm", version = "0.0.13" } dashmap = { version = "6.1.0" } tracing = { version = "0.1.40" } ahash = { version = "0.8.11" } @@ -99,13 +99,12 @@ serde-wasm-bindgen = "0.4" diffy = "0.4.0" termcolor = "1.4.1" indoc = "2" -reqwest = { version = "0.12.9", features = ["json"] } -tempfile = "3.14.0" self_update = { version = "0.41.0", features = [ "archive-tar", "archive-zip", "compression-flate2", ] } +openssl = { version = "0.10", features = ["vendored"] } [lints] workspace = true @@ -131,8 +130,6 @@ ahash = { workspace = true } termtree = { workspace = true } serde_json = { workspace = true } strum = { workspace = true } -reqwest = { workspace = true } -tempfile = { workspace = true } self_update = { workspace = true } async-walkdir = { workspace = true } futures = { workspace = true } @@ -143,6 +140,9 @@ toml = { workspace = true } num_cpus = { workspace = true } diffy = { workspace = true } +[target.'cfg(target_os = "linux")'.dependencies] +openssl = { workspace = true } + [profile.release] opt-level = 3 debug = false diff --git a/Justfile b/Justfile index 2ba7bd7..c8f4315 100644 --- a/Justfile +++ b/Justfile @@ -44,6 +44,5 @@ publish: cargo publish -p mago-typing --allow-dirty cargo publish -p mago-reflector --allow-dirty cargo publish -p mago-linter --allow-dirty - cargo publish -p mago-service --allow-dirty cargo publish -p mago-wasm --allow-dirty cargo publish --allow-dirty