mirror of
https://github.com/kjuulh/dagger-rs.git
synced 2025-08-17 20:53:29 +02:00
Compare commits
24 Commits
feat/add-w
...
main
Author | SHA1 | Date | |
---|---|---|---|
39693774e3
|
|||
107d3ca0bf | |||
3a9abb97c2 | |||
66ab2f552c
|
|||
b72920e235
|
|||
c8bdf42e86
|
|||
40ece05140
|
|||
2a29a66217 | |||
7d186c477d | |||
cf92018a1e | |||
09fd7c89b8 | |||
e39ee28ec0 | |||
4dac924783 | |||
eb7470c604 | |||
6937ef0ace
|
|||
09881ee39b
|
|||
8011c42dc0
|
|||
9d3c21d16b
|
|||
ff06cde662
|
|||
f82075c238
|
|||
9ea18700e7 | |||
114f411cdb | |||
1ddbd7a590 | |||
|
696007cf45 |
8
.github/workflows/ci.yaml
vendored
8
.github/workflows/ci.yaml
vendored
@@ -8,7 +8,6 @@ env:
|
||||
CARGO_TERM_COLOR: always
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
_EXPERIMENTAL_DAGGER_CACHE_CONFIG: type=gha;mode=max
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -28,5 +27,10 @@ jobs:
|
||||
uses: docker/setup-qemu-action@v2
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v2.0.0
|
||||
-
|
||||
name: Expose GitHub Runtime
|
||||
uses: crazy-max/ghaction-github-runtime@v2
|
||||
- name: Run dagger [CI]
|
||||
run: cargo run -p ci -- pr
|
||||
run: |
|
||||
export _EXPERIMENTAL_DAGGER_CACHE_CONFIG="type=gha,mode=max,url=$ACTIONS_CACHE_URL,token=$ACTIONS_RUNTIME_TOKEN"
|
||||
cargo run -p ci -- pr
|
||||
|
448
Cargo.lock
generated
448
Cargo.lock
generated
@@ -17,6 +17,55 @@ version = "1.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
|
||||
|
||||
[[package]]
|
||||
name = "anstream"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6342bd4f5a1205d7f41e94a41a901f5647c938cdfa96036338e8533c9d6c2450"
|
||||
dependencies = [
|
||||
"anstyle",
|
||||
"anstyle-parse",
|
||||
"anstyle-query",
|
||||
"anstyle-wincon",
|
||||
"colorchoice",
|
||||
"is-terminal",
|
||||
"utf8parse",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "anstyle"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d"
|
||||
|
||||
[[package]]
|
||||
name = "anstyle-parse"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee"
|
||||
dependencies = [
|
||||
"utf8parse",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "anstyle-query"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
|
||||
dependencies = [
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "anstyle-wincon"
|
||||
version = "1.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188"
|
||||
dependencies = [
|
||||
"anstyle",
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ascii"
|
||||
version = "0.9.3"
|
||||
@@ -25,13 +74,13 @@ checksum = "eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e"
|
||||
|
||||
[[package]]
|
||||
name = "async-trait"
|
||||
version = "0.1.67"
|
||||
version = "0.1.68"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "86ea188f25f0255d8f92797797c97ebf5631fa88178beb1a46fdf5622c9a00e4"
|
||||
checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.2",
|
||||
"syn 2.0.15",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -67,12 +116,6 @@ version = "1.3.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
|
||||
|
||||
[[package]]
|
||||
name = "bitflags"
|
||||
version = "2.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d5dd14596c0e5b954530d0e6f1fd99b89c03e313aa2086e8da4303701a09e1cf"
|
||||
|
||||
[[package]]
|
||||
name = "block-buffer"
|
||||
version = "0.10.4"
|
||||
@@ -84,9 +127,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "bumpalo"
|
||||
version = "3.12.0"
|
||||
version = "3.12.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535"
|
||||
checksum = "9b1ce199063694f33ffb7dd4e0ee620741495c32833cde5aa08f02a0bf96f0c8"
|
||||
|
||||
[[package]]
|
||||
name = "byteorder"
|
||||
@@ -125,25 +168,31 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "clap"
|
||||
version = "4.1.11"
|
||||
version = "4.2.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "42dfd32784433290c51d92c438bb72ea5063797fc3cc9a21a8c4346bebbb2098"
|
||||
checksum = "956ac1f6381d8d82ab4684768f89c0ea3afe66925ceadb4eeb3fc452ffc55d62"
|
||||
dependencies = [
|
||||
"bitflags 2.0.1",
|
||||
"clap_builder",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "clap_builder"
|
||||
version = "4.2.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "84080e799e54cff944f4b4a4b0e71630b0e0443b25b985175c7dddc1a859b749"
|
||||
dependencies = [
|
||||
"anstream",
|
||||
"anstyle",
|
||||
"bitflags",
|
||||
"clap_lex",
|
||||
"is-terminal",
|
||||
"strsim",
|
||||
"termcolor",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "clap_lex"
|
||||
version = "0.3.3"
|
||||
version = "0.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "033f6b7a4acb1f358c742aaca805c939ee73b4c6209ae4318ec7aca81c42e646"
|
||||
dependencies = [
|
||||
"os_str_bytes",
|
||||
]
|
||||
checksum = "8a2dd5a6fe8c6e3502f568a6353e5273bbb15193ad9a89e457b9970798efbea1"
|
||||
|
||||
[[package]]
|
||||
name = "color-eyre"
|
||||
@@ -172,6 +221,12 @@ dependencies = [
|
||||
"tracing-error",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "colorchoice"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
|
||||
|
||||
[[package]]
|
||||
name = "combine"
|
||||
version = "3.8.1"
|
||||
@@ -196,9 +251,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "cpufeatures"
|
||||
version = "0.2.5"
|
||||
version = "0.2.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320"
|
||||
checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
@@ -262,7 +317,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "dagger-core"
|
||||
version = "0.2.8"
|
||||
version = "0.2.11"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"base64",
|
||||
@@ -279,6 +334,7 @@ dependencies = [
|
||||
"sha2",
|
||||
"tar",
|
||||
"tempfile",
|
||||
"thiserror",
|
||||
"tokio",
|
||||
"tracing",
|
||||
"tracing-subscriber",
|
||||
@@ -286,7 +342,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "dagger-sdk"
|
||||
version = "0.2.19"
|
||||
version = "0.2.22"
|
||||
dependencies = [
|
||||
"dagger-core",
|
||||
"derive_builder",
|
||||
@@ -297,6 +353,7 @@ dependencies = [
|
||||
"rand",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"thiserror",
|
||||
"tokio",
|
||||
"tracing",
|
||||
"tracing-subscriber",
|
||||
@@ -422,13 +479,13 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "errno"
|
||||
version = "0.2.8"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1"
|
||||
checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
|
||||
dependencies = [
|
||||
"errno-dragonfly",
|
||||
"libc",
|
||||
"winapi",
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -462,14 +519,14 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "filetime"
|
||||
version = "0.2.20"
|
||||
version = "0.2.21"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8a3de6e8d11b22ff9edc6d916f890800597d60f8b2da1caf2955c274638d6412"
|
||||
checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"libc",
|
||||
"redox_syscall",
|
||||
"windows-sys 0.45.0",
|
||||
"redox_syscall 0.2.16",
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -499,9 +556,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "futures"
|
||||
version = "0.3.27"
|
||||
version = "0.3.28"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "531ac96c6ff5fd7c62263c5e3c67a603af4fcaee2e1a0ae5565ba3a11e69e549"
|
||||
checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40"
|
||||
dependencies = [
|
||||
"futures-channel",
|
||||
"futures-core",
|
||||
@@ -514,9 +571,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "futures-channel"
|
||||
version = "0.3.27"
|
||||
version = "0.3.28"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "164713a5a0dcc3e7b4b1ed7d3b433cabc18025386f9339346e8daf15963cf7ac"
|
||||
checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
|
||||
dependencies = [
|
||||
"futures-core",
|
||||
"futures-sink",
|
||||
@@ -524,15 +581,15 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "futures-core"
|
||||
version = "0.3.27"
|
||||
version = "0.3.28"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "86d7a0c1aa76363dac491de0ee99faf6941128376f1cf96f07db7603b7de69dd"
|
||||
checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
|
||||
|
||||
[[package]]
|
||||
name = "futures-executor"
|
||||
version = "0.3.27"
|
||||
version = "0.3.28"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1997dd9df74cdac935c76252744c1ed5794fac083242ea4fe77ef3ed60ba0f83"
|
||||
checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0"
|
||||
dependencies = [
|
||||
"futures-core",
|
||||
"futures-task",
|
||||
@@ -541,38 +598,38 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "futures-io"
|
||||
version = "0.3.27"
|
||||
version = "0.3.28"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "89d422fa3cbe3b40dca574ab087abb5bc98258ea57eea3fd6f1fa7162c778b91"
|
||||
checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
|
||||
|
||||
[[package]]
|
||||
name = "futures-macro"
|
||||
version = "0.3.27"
|
||||
version = "0.3.28"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3eb14ed937631bd8b8b8977f2c198443447a8355b6e3ca599f38c975e5a963b6"
|
||||
checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 1.0.109",
|
||||
"syn 2.0.15",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "futures-sink"
|
||||
version = "0.3.27"
|
||||
version = "0.3.28"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ec93083a4aecafb2a80a885c9de1f0ccae9dbd32c2bb54b0c3a65690e0b8d2f2"
|
||||
checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
|
||||
|
||||
[[package]]
|
||||
name = "futures-task"
|
||||
version = "0.3.27"
|
||||
version = "0.3.28"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fd65540d33b37b16542a0438c12e6aeead10d4ac5d05bd3f805b8f35ab592879"
|
||||
checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
|
||||
|
||||
[[package]]
|
||||
name = "futures-util"
|
||||
version = "0.3.27"
|
||||
version = "0.3.28"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3ef6b17e481503ec85211fed8f39d1970f128935ca1f814cd32ac4a6842e84ab"
|
||||
checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
|
||||
dependencies = [
|
||||
"futures-channel",
|
||||
"futures-core",
|
||||
@@ -588,9 +645,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "genco"
|
||||
version = "0.17.3"
|
||||
version = "0.17.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "43de41c8ce1ed5ac84a1b11fb3e4ef604bf6773068798490eaa95e8151abad20"
|
||||
checksum = "6973ce8518068a71d404f428f6a5b563088545546a6bd8f9c0a7f2608149bc8a"
|
||||
dependencies = [
|
||||
"genco-macros",
|
||||
"relative-path",
|
||||
@@ -599,9 +656,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "genco-macros"
|
||||
version = "0.17.3"
|
||||
version = "0.17.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c85fd34848b1f708e6344a4af6f7bfc05172ae20ce4b35c8e417efffb4f306aa"
|
||||
checksum = "9c2c778cf01917d0fbed53900259d6604a421fab4916a2e738856ead9f1d926a"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@@ -610,9 +667,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "generic-array"
|
||||
version = "0.14.6"
|
||||
version = "0.14.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9"
|
||||
checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
|
||||
dependencies = [
|
||||
"typenum",
|
||||
"version_check",
|
||||
@@ -620,9 +677,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "getrandom"
|
||||
version = "0.2.8"
|
||||
version = "0.2.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
|
||||
checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"libc",
|
||||
@@ -696,9 +753,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "h2"
|
||||
version = "0.3.16"
|
||||
version = "0.3.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5be7b54589b581f624f566bf5d8eb2bab1db736c51528720b6bd36b96b55924d"
|
||||
checksum = "17f8a914c2987b688368b5138aa05321db91f4090cf26118185672ad588bce21"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"fnv",
|
||||
@@ -788,9 +845,9 @@ checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
|
||||
|
||||
[[package]]
|
||||
name = "hyper"
|
||||
version = "0.14.25"
|
||||
version = "0.14.26"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cc5e554ff619822309ffd57d8734d77cd5ce6238bc956f037ea06c58238c9899"
|
||||
checksum = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"futures-channel",
|
||||
@@ -847,9 +904,9 @@ checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683"
|
||||
|
||||
[[package]]
|
||||
name = "indexmap"
|
||||
version = "1.9.2"
|
||||
version = "1.9.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
|
||||
checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"hashbrown",
|
||||
@@ -866,31 +923,31 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "io-lifetimes"
|
||||
version = "1.0.8"
|
||||
version = "1.0.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0dd6da19f25979c7270e70fa95ab371ec3b701cd0eefc47667a09785b3c59155"
|
||||
checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220"
|
||||
dependencies = [
|
||||
"hermit-abi 0.3.1",
|
||||
"libc",
|
||||
"windows-sys 0.45.0",
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ipnet"
|
||||
version = "2.7.1"
|
||||
version = "2.7.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146"
|
||||
checksum = "12b6ee2129af8d4fb011108c73d99a1b83a85977f23b82460c0ae2e25bb4b57f"
|
||||
|
||||
[[package]]
|
||||
name = "is-terminal"
|
||||
version = "0.4.5"
|
||||
version = "0.4.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8687c819457e979cc940d09cb16e42a1bf70aa6b60a549de6d3a62a0ee90c69e"
|
||||
checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f"
|
||||
dependencies = [
|
||||
"hermit-abi 0.3.1",
|
||||
"io-lifetimes",
|
||||
"rustix",
|
||||
"windows-sys 0.45.0",
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -925,15 +982,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.140"
|
||||
version = "0.2.142"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c"
|
||||
checksum = "6a987beff54b60ffa6d51982e1aa1146bc42f19bd26be28b0586f252fccf5317"
|
||||
|
||||
[[package]]
|
||||
name = "linux-raw-sys"
|
||||
version = "0.1.4"
|
||||
version = "0.3.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
|
||||
checksum = "36eb31c1778188ae1e64398743890d0877fef36d11521ac60406b42016e8c2cf"
|
||||
|
||||
[[package]]
|
||||
name = "lock_api"
|
||||
@@ -971,9 +1028,9 @@ checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
|
||||
|
||||
[[package]]
|
||||
name = "mime"
|
||||
version = "0.3.16"
|
||||
version = "0.3.17"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
|
||||
checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
|
||||
|
||||
[[package]]
|
||||
name = "miniz_oxide"
|
||||
@@ -1031,12 +1088,6 @@ version = "1.17.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
|
||||
|
||||
[[package]]
|
||||
name = "os_str_bytes"
|
||||
version = "6.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee"
|
||||
|
||||
[[package]]
|
||||
name = "output_vt100"
|
||||
version = "0.1.3"
|
||||
@@ -1076,7 +1127,7 @@ checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"libc",
|
||||
"redox_syscall",
|
||||
"redox_syscall 0.2.16",
|
||||
"smallvec",
|
||||
"windows-sys 0.45.0",
|
||||
]
|
||||
@@ -1129,9 +1180,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.52"
|
||||
version = "1.0.56"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1d0e1ae9e836cc3beddd63db0df682593d7e2d3d891ae8c9083d2113e1744224"
|
||||
checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
@@ -1181,7 +1232,16 @@ version = "0.2.16"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
|
||||
dependencies = [
|
||||
"bitflags 1.3.2",
|
||||
"bitflags",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "redox_syscall"
|
||||
version = "0.3.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1191,17 +1251,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
|
||||
dependencies = [
|
||||
"getrandom",
|
||||
"redox_syscall",
|
||||
"redox_syscall 0.2.16",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex"
|
||||
version = "1.7.1"
|
||||
version = "1.8.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733"
|
||||
checksum = "af83e617f331cc6ae2da5443c602dfa5af81e517212d9d611a5b3ba1777b5370"
|
||||
dependencies = [
|
||||
"regex-syntax",
|
||||
"regex-syntax 0.7.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1210,14 +1270,20 @@ version = "0.1.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
|
||||
dependencies = [
|
||||
"regex-syntax",
|
||||
"regex-syntax 0.6.29",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex-syntax"
|
||||
version = "0.6.28"
|
||||
version = "0.6.29"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
|
||||
checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
|
||||
|
||||
[[package]]
|
||||
name = "regex-syntax"
|
||||
version = "0.7.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a5996294f19bd3aae0453a862ad728f60e6600695733dd5df01da90c54363a3c"
|
||||
|
||||
[[package]]
|
||||
name = "relative-path"
|
||||
@@ -1227,9 +1293,9 @@ checksum = "4bf2521270932c3c7bed1a59151222bd7643c79310f2916f01925e1e16255698"
|
||||
|
||||
[[package]]
|
||||
name = "reqwest"
|
||||
version = "0.11.14"
|
||||
version = "0.11.16"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "21eed90ec8570952d53b772ecf8f206aa1ec9a3d76b2521c56c42973f2d91ee9"
|
||||
checksum = "27b71749df584b7f4cac2c426c127a7c785a5106cc98f7a8feb044115f0fa254"
|
||||
dependencies = [
|
||||
"base64",
|
||||
"bytes",
|
||||
@@ -1283,22 +1349,22 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "rustc-demangle"
|
||||
version = "0.1.21"
|
||||
version = "0.1.23"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342"
|
||||
checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
|
||||
|
||||
[[package]]
|
||||
name = "rustix"
|
||||
version = "0.36.10"
|
||||
version = "0.37.14"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2fe885c3a125aa45213b68cc1472a49880cb5923dc23f522ad2791b882228778"
|
||||
checksum = "d9b864d3c18a5785a05953adeed93e2dca37ed30f18e69bba9f30079d51f363f"
|
||||
dependencies = [
|
||||
"bitflags 1.3.2",
|
||||
"bitflags",
|
||||
"errno",
|
||||
"io-lifetimes",
|
||||
"libc",
|
||||
"linux-raw-sys",
|
||||
"windows-sys 0.45.0",
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1346,29 +1412,29 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.157"
|
||||
version = "1.0.160"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "707de5fcf5df2b5788fca98dd7eab490bc2fd9b7ef1404defc462833b83f25ca"
|
||||
checksum = "bb2f3770c8bce3bcda7e149193a069a0f4365bda1fa5cd88e03bca26afc1216c"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.157"
|
||||
version = "1.0.160"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "78997f4555c22a7971214540c4a661291970619afd56de19f77e0de86296e1e5"
|
||||
checksum = "291a097c63d8497e00160b166a967a4a79c64f3facdd01cbd7502231688d77df"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.2",
|
||||
"syn 2.0.15",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_json"
|
||||
version = "1.0.94"
|
||||
version = "1.0.96"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1c533a59c9d8a93a09c6ab31f0fd5e5f4dd1b8fc9434804029839884765d04ea"
|
||||
checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1"
|
||||
dependencies = [
|
||||
"itoa",
|
||||
"ryu",
|
||||
@@ -1466,9 +1532,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.2"
|
||||
version = "2.0.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "59d3276aee1fa0c33612917969b5172b5be2db051232a6e4826f1a1a9191b045"
|
||||
checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@@ -1488,24 +1554,15 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "tempfile"
|
||||
version = "3.4.0"
|
||||
version = "3.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "af18f7ae1acd354b992402e9ec5864359d693cd8a79dcbef59f76891701c1e95"
|
||||
checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"fastrand",
|
||||
"redox_syscall",
|
||||
"redox_syscall 0.3.5",
|
||||
"rustix",
|
||||
"windows-sys 0.42.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "termcolor"
|
||||
version = "1.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
|
||||
dependencies = [
|
||||
"winapi-util",
|
||||
"windows-sys 0.45.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1525,7 +1582,7 @@ checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.2",
|
||||
"syn 2.0.15",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1555,14 +1612,13 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
|
||||
|
||||
[[package]]
|
||||
name = "tokio"
|
||||
version = "1.26.0"
|
||||
version = "1.27.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "03201d01c3c27a29c8a5cee5b55a93ddae1ccf6f08f65365c2c918f8c1b76f64"
|
||||
checksum = "d0de47a4eecbe11f498978a9b29d792f0d2692d1dd003650c24c76510e3bc001"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"bytes",
|
||||
"libc",
|
||||
"memchr",
|
||||
"mio",
|
||||
"num_cpus",
|
||||
"parking_lot",
|
||||
@@ -1575,13 +1631,13 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "tokio-macros"
|
||||
version = "1.8.2"
|
||||
version = "2.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8"
|
||||
checksum = "61a573bdc87985e9d6ddeed1b3d864e8a302c847e40d647746df2f1de209d1ce"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 1.0.109",
|
||||
"syn 2.0.15",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1630,13 +1686,13 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "tracing-attributes"
|
||||
version = "0.1.23"
|
||||
version = "0.1.24"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a"
|
||||
checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 1.0.109",
|
||||
"syn 2.0.15",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1672,9 +1728,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "tracing-subscriber"
|
||||
version = "0.3.16"
|
||||
version = "0.3.17"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a6176eae26dd70d0c919749377897b54a9276bd7061339665dd68777926b5a70"
|
||||
checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77"
|
||||
dependencies = [
|
||||
"matchers",
|
||||
"nu-ansi-term",
|
||||
@@ -1725,9 +1781,9 @@ checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-bidi"
|
||||
version = "0.3.12"
|
||||
version = "0.3.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7d502c968c6a838ead8e69b2ee18ec708802f99db92a0d156705ec9ef801993b"
|
||||
checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
@@ -1776,6 +1832,12 @@ dependencies = [
|
||||
"percent-encoding",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "utf8parse"
|
||||
version = "0.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
|
||||
|
||||
[[package]]
|
||||
name = "valuable"
|
||||
version = "0.1.0"
|
||||
@@ -1934,43 +1996,28 @@ version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
|
||||
|
||||
[[package]]
|
||||
name = "winapi-util"
|
||||
version = "0.1.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
|
||||
dependencies = [
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "winapi-x86_64-pc-windows-gnu"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
||||
|
||||
[[package]]
|
||||
name = "windows-sys"
|
||||
version = "0.42.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
|
||||
dependencies = [
|
||||
"windows_aarch64_gnullvm",
|
||||
"windows_aarch64_msvc",
|
||||
"windows_i686_gnu",
|
||||
"windows_i686_msvc",
|
||||
"windows_x86_64_gnu",
|
||||
"windows_x86_64_gnullvm",
|
||||
"windows_x86_64_msvc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-sys"
|
||||
version = "0.45.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
|
||||
dependencies = [
|
||||
"windows-targets",
|
||||
"windows-targets 0.42.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-sys"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
|
||||
dependencies = [
|
||||
"windows-targets 0.48.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1979,13 +2026,28 @@ version = "0.42.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
|
||||
dependencies = [
|
||||
"windows_aarch64_gnullvm",
|
||||
"windows_aarch64_msvc",
|
||||
"windows_i686_gnu",
|
||||
"windows_i686_msvc",
|
||||
"windows_x86_64_gnu",
|
||||
"windows_x86_64_gnullvm",
|
||||
"windows_x86_64_msvc",
|
||||
"windows_aarch64_gnullvm 0.42.2",
|
||||
"windows_aarch64_msvc 0.42.2",
|
||||
"windows_i686_gnu 0.42.2",
|
||||
"windows_i686_msvc 0.42.2",
|
||||
"windows_x86_64_gnu 0.42.2",
|
||||
"windows_x86_64_gnullvm 0.42.2",
|
||||
"windows_x86_64_msvc 0.42.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-targets"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
|
||||
dependencies = [
|
||||
"windows_aarch64_gnullvm 0.48.0",
|
||||
"windows_aarch64_msvc 0.48.0",
|
||||
"windows_i686_gnu 0.48.0",
|
||||
"windows_i686_msvc 0.48.0",
|
||||
"windows_x86_64_gnu 0.48.0",
|
||||
"windows_x86_64_gnullvm 0.48.0",
|
||||
"windows_x86_64_msvc 0.48.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1994,42 +2056,84 @@ version = "0.42.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_gnullvm"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_msvc"
|
||||
version = "0.42.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_msvc"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnu"
|
||||
version = "0.42.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnu"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_msvc"
|
||||
version = "0.42.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_msvc"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnu"
|
||||
version = "0.42.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnu"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnullvm"
|
||||
version = "0.42.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnullvm"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_msvc"
|
||||
version = "0.42.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_msvc"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
|
||||
|
||||
[[package]]
|
||||
name = "winreg"
|
||||
version = "0.10.1"
|
||||
|
@@ -9,7 +9,7 @@ members = [
|
||||
|
||||
[workspace.dependencies]
|
||||
dagger-codegen = { path = "crates/dagger-codegen", version = "^0.2.5" }
|
||||
dagger-core = { path = "crates/dagger-core", version = "^0.2.8" }
|
||||
dagger-core = { path = "crates/dagger-core", version = "^0.2.10" }
|
||||
dagger-bootstrap = { path = "crates/dagger-bootstrap", version = "^0.2.10" }
|
||||
dagger-sdk = { path = "crates/dagger-sdk", version = "^0.2.19" }
|
||||
|
||||
@@ -23,3 +23,4 @@ tracing-subscriber = { version = "0.3.16", features = [
|
||||
"tracing-log",
|
||||
"tracing",
|
||||
] }
|
||||
thiserror = "1.0.40"
|
||||
|
54
README.md
54
README.md
@@ -1,55 +1,7 @@
|
||||
# dagger-sdk
|
||||
|
||||
A dagger sdk written in rust for rust.
|
||||
A dagger sdk written in rust
|
||||
|
||||
## Examples
|
||||
## Disclaimer:
|
||||
|
||||
See [examples](./crates/dagger-sdk/examples/)
|
||||
|
||||
Run them like so
|
||||
|
||||
```bash
|
||||
cargo run --example first-pipeline
|
||||
```
|
||||
|
||||
The examples match the folder name in each directory in examples
|
||||
|
||||
## Install
|
||||
|
||||
Simply install like:
|
||||
|
||||
```bash
|
||||
cargo add dagger-sdk
|
||||
```
|
||||
|
||||
### Usage
|
||||
|
||||
```rust
|
||||
#[tokio::main]
|
||||
async fn main() -> eyre::Result<()> {
|
||||
let client = dagger_sdk::connect().await?;
|
||||
|
||||
let version = client
|
||||
.container()
|
||||
.from("golang:1.19")
|
||||
.with_exec(vec!["go", "version"])
|
||||
.stdout()
|
||||
.await?;
|
||||
|
||||
println!("Hello from Dagger and {}", version.trim());
|
||||
|
||||
Ok(())
|
||||
}
|
||||
```
|
||||
|
||||
And run it like a normal application:
|
||||
|
||||
```bash
|
||||
cargo run
|
||||
```
|
||||
|
||||
### Contributing
|
||||
|
||||
See [CONTRIBUTING](./CONTRIBUTING.md)
|
||||
|
||||
or just cargo make codegen
|
||||
Repository has moved to: https://github.com/dagger/dagger/tree/main/sdk/rust
|
||||
|
@@ -8,6 +8,6 @@ edition = "2021"
|
||||
[dependencies]
|
||||
clap = "4.1.6"
|
||||
color-eyre = "0.6.2"
|
||||
dagger-sdk = { path = "../crates/dagger-sdk/", version = "^0.2.19" }
|
||||
dagger-sdk = { path = "../crates/dagger-sdk/", version = "^0.2.22" }
|
||||
eyre = "0.6.8"
|
||||
tokio = { version = "1.25.0", features = ["full"] }
|
||||
|
@@ -48,6 +48,8 @@ async fn run_codegen(client: Arc<Query>, _subm: &ArgMatches) -> eyre::Result<()>
|
||||
.with_exec(vec![
|
||||
"cargo",
|
||||
"run",
|
||||
"-p",
|
||||
"dagger-bootstrap",
|
||||
"--",
|
||||
"generate",
|
||||
"--output",
|
||||
|
@@ -13,7 +13,7 @@ use self::generator::DynGenerator;
|
||||
fn set_schema_parents(mut schema: Schema) -> Schema {
|
||||
for t in schema.types.as_mut().into_iter().flatten().flatten() {
|
||||
let t_parent = t.full_type.clone();
|
||||
for mut field in t.full_type.fields.as_mut().into_iter().flatten() {
|
||||
for field in t.full_type.fields.as_mut().into_iter().flatten() {
|
||||
field.parent_type = Some(t_parent.clone());
|
||||
}
|
||||
}
|
||||
|
@@ -235,8 +235,10 @@ fn render_output_type(funcs: &CommonFunctions, type_ref: &TypeRef) -> rust::Toke
|
||||
};
|
||||
}
|
||||
|
||||
let dagger_error = rust::import("crate::errors", "DaggerError");
|
||||
|
||||
quote! {
|
||||
eyre::Result<$output_type>
|
||||
Result<$output_type, $dagger_error>
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -18,7 +18,7 @@ pub fn render_object(funcs: &CommonFunctions, t: &FullType) -> eyre::Result<rust
|
||||
Ok(quote! {
|
||||
#[derive(Clone)]
|
||||
pub struct $(t.name.pipe(|s| format_name(s))) {
|
||||
pub proc: $arc<$child>,
|
||||
pub proc: Option<$arc<$child>>,
|
||||
pub selection: $selection,
|
||||
pub graphql_client: $graphql_client
|
||||
}
|
||||
|
@@ -5,6 +5,108 @@ All notable changes to this project will be documented in this file.
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## v0.2.11 (2023-04-29)
|
||||
|
||||
### New Features
|
||||
|
||||
- <csr-id-2a29a66217fa4d6c530ea1ce670c8836383e7051/> dagger-run support
|
||||
- <csr-id-eb7470c604169d1a15976078c0889d5cc7011257/> update to dagger-5.1
|
||||
|
||||
### Commit Statistics
|
||||
|
||||
<csr-read-only-do-not-edit/>
|
||||
|
||||
- 2 commits contributed to the release.
|
||||
- 4 days passed between releases.
|
||||
- 2 commits were understood as [conventional](https://www.conventionalcommits.org).
|
||||
- 0 issues like '(#ID)' were seen in commit messages
|
||||
|
||||
### Commit Details
|
||||
|
||||
<csr-read-only-do-not-edit/>
|
||||
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **Uncategorized**
|
||||
- dagger-run support ([`2a29a66`](https://github.com/kjuulh/dagger-sdk/commit/2a29a66217fa4d6c530ea1ce670c8836383e7051))
|
||||
- update to dagger-5.1 ([`eb7470c`](https://github.com/kjuulh/dagger-sdk/commit/eb7470c604169d1a15976078c0889d5cc7011257))
|
||||
</details>
|
||||
|
||||
## v0.2.10 (2023-04-25)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- <csr-id-9d3c21d16b4a64eb7a7b1888365a4c4ea56d7225/> delete other files/folder in downloads: #57
|
||||
|
||||
### Commit Statistics
|
||||
|
||||
<csr-read-only-do-not-edit/>
|
||||
|
||||
- 2 commits contributed to the release.
|
||||
- 21 days passed between releases.
|
||||
- 1 commit was understood as [conventional](https://www.conventionalcommits.org).
|
||||
- 0 issues like '(#ID)' were seen in commit messages
|
||||
|
||||
### Commit Details
|
||||
|
||||
<csr-read-only-do-not-edit/>
|
||||
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **Uncategorized**
|
||||
- Release dagger-core v0.2.10 ([`8011c42`](https://github.com/kjuulh/dagger-sdk/commit/8011c42dc077d101b1bccaf231fac17636dd249d))
|
||||
- delete other files/folder in downloads: #57 ([`9d3c21d`](https://github.com/kjuulh/dagger-sdk/commit/9d3c21d16b4a64eb7a7b1888365a4c4ea56d7225))
|
||||
</details>
|
||||
|
||||
## v0.2.9 (2023-04-03)
|
||||
|
||||
<csr-id-b55bcc159ffc6a61ecfcc5e3aa3de00a1a73b5b8/>
|
||||
|
||||
### New Features
|
||||
|
||||
- <csr-id-114f411cdb0e1043071c0ccc1768d344f78d4fcb/> with 0.4.2
|
||||
- <csr-id-b094ae4f539a880b0bde12841b7db1fbfcc0f123/> add musl ci
|
||||
This pr adds musl ci support for #50
|
||||
- <csr-id-2faabb0e502a9b15c88b0bdf5673d1b458198d70/> with multi platform ci
|
||||
This adds the first iteration of multi platform ci. This is the lowest level of testing added: pinned all the way to nightly. Next up will be macos, then musl and arm. And lastly windows. Each will probably require special handling, especially because of how cross and qemu interacts with the dagger-engine and docker.
|
||||
- <csr-id-11d20935c697e28caaa671e8da0e70a99d4310fc/> extract client
|
||||
This extracts the client (strategy pattern), this is so that it is will be possible to test the actual querier, without hitting / requiring the dagger-engine running.
|
||||
- <csr-id-384294b39038123b02c406a1038105b111c3b9be/> rename projects to point to github/kjuulh/dagger-sdk
|
||||
- <csr-id-79d931e908c58a0464fd9cf7d6ef02eb50f14c23/> with loggers
|
||||
|
||||
### Refactor
|
||||
|
||||
- <csr-id-b55bcc159ffc6a61ecfcc5e3aa3de00a1a73b5b8/> move dagger-rs and adopt workspace.deps
|
||||
|
||||
### Commit Statistics
|
||||
|
||||
<csr-read-only-do-not-edit/>
|
||||
|
||||
- 8 commits contributed to the release over the course of 19 calendar days.
|
||||
- 23 days passed between releases.
|
||||
- 7 commits were understood as [conventional](https://www.conventionalcommits.org).
|
||||
- 3 unique issues were worked on: [#46](https://github.com/kjuulh/dagger-sdk/issues/46), [#48](https://github.com/kjuulh/dagger-sdk/issues/48), [#51](https://github.com/kjuulh/dagger-sdk/issues/51)
|
||||
|
||||
### Commit Details
|
||||
|
||||
<csr-read-only-do-not-edit/>
|
||||
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **[#46](https://github.com/kjuulh/dagger-sdk/issues/46)**
|
||||
- with multi platform ci ([`2faabb0`](https://github.com/kjuulh/dagger-sdk/commit/2faabb0e502a9b15c88b0bdf5673d1b458198d70))
|
||||
* **[#48](https://github.com/kjuulh/dagger-sdk/issues/48)**
|
||||
- extract client ([`11d2093`](https://github.com/kjuulh/dagger-sdk/commit/11d20935c697e28caaa671e8da0e70a99d4310fc))
|
||||
* **[#51](https://github.com/kjuulh/dagger-sdk/issues/51)**
|
||||
- add musl ci ([`b094ae4`](https://github.com/kjuulh/dagger-sdk/commit/b094ae4f539a880b0bde12841b7db1fbfcc0f123))
|
||||
* **Uncategorized**
|
||||
- Release dagger-core v0.2.9, dagger-sdk v0.2.20 ([`f82075c`](https://github.com/kjuulh/dagger-sdk/commit/f82075c23808073d9500df63c1cd347cd9b99cef))
|
||||
- with 0.4.2 ([`114f411`](https://github.com/kjuulh/dagger-sdk/commit/114f411cdb0e1043071c0ccc1768d344f78d4fcb))
|
||||
- rename projects to point to github/kjuulh/dagger-sdk ([`384294b`](https://github.com/kjuulh/dagger-sdk/commit/384294b39038123b02c406a1038105b111c3b9be))
|
||||
- with loggers ([`79d931e`](https://github.com/kjuulh/dagger-sdk/commit/79d931e908c58a0464fd9cf7d6ef02eb50f14c23))
|
||||
- move dagger-rs and adopt workspace.deps ([`b55bcc1`](https://github.com/kjuulh/dagger-sdk/commit/b55bcc159ffc6a61ecfcc5e3aa3de00a1a73b5b8))
|
||||
</details>
|
||||
|
||||
## v0.2.8 (2023-03-10)
|
||||
|
||||
### New Features
|
||||
@@ -23,7 +125,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
<csr-read-only-do-not-edit/>
|
||||
|
||||
- 4 commits contributed to the release over the course of 13 calendar days.
|
||||
- 5 commits contributed to the release over the course of 13 calendar days.
|
||||
- 13 days passed between releases.
|
||||
- 4 commits were understood as [conventional](https://www.conventionalcommits.org).
|
||||
- 0 issues like '(#ID)' were seen in commit messages
|
||||
@@ -35,10 +137,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **Uncategorized**
|
||||
- bump version ([`41b20b6`](https://github.com/kjuulh/dagger-rs/commit/41b20b6268db9d8defe333694e4d3ec019d7c923))
|
||||
- set internal warnings as errors ([`5f9b3a1`](https://github.com/kjuulh/dagger-rs/commit/5f9b3a19c0ab6988bc335b020052074f3f101305))
|
||||
- introduce tests again ([`f9e7af9`](https://github.com/kjuulh/dagger-rs/commit/f9e7af931d94fbedacf74f5da9a2f71b1992324b))
|
||||
- fix builder pattern to actually work with default values ([`ecca036`](https://github.com/kjuulh/dagger-rs/commit/ecca036bc644fee93fbcb69bf6da9f29169e473e))
|
||||
- Release dagger-core v0.2.8, dagger-sdk v0.2.16 ([`f390eac`](https://github.com/kjuulh/dagger-sdk/commit/f390eac29f1d041d18d2207a5aa0a8d993aab68c))
|
||||
- bump version ([`41b20b6`](https://github.com/kjuulh/dagger-sdk/commit/41b20b6268db9d8defe333694e4d3ec019d7c923))
|
||||
- set internal warnings as errors ([`5f9b3a1`](https://github.com/kjuulh/dagger-sdk/commit/5f9b3a19c0ab6988bc335b020052074f3f101305))
|
||||
- introduce tests again ([`f9e7af9`](https://github.com/kjuulh/dagger-sdk/commit/f9e7af931d94fbedacf74f5da9a2f71b1992324b))
|
||||
- fix builder pattern to actually work with default values ([`ecca036`](https://github.com/kjuulh/dagger-sdk/commit/ecca036bc644fee93fbcb69bf6da9f29169e473e))
|
||||
</details>
|
||||
|
||||
## v0.2.7 (2023-02-24)
|
||||
@@ -63,8 +166,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **Uncategorized**
|
||||
- Release dagger-core v0.2.7, dagger-sdk v0.2.15 ([`6a9a560`](https://github.com/kjuulh/dagger-rs/commit/6a9a560cdca097abf23371d44599a2f1b726ae7f))
|
||||
- update to dagger-v0.3.13 ([`3e8ca8d`](https://github.com/kjuulh/dagger-rs/commit/3e8ca8d86eafdc1f9d5e8b69f14fb60509549e0f))
|
||||
- Release dagger-core v0.2.7, dagger-sdk v0.2.15 ([`6a9a560`](https://github.com/kjuulh/dagger-sdk/commit/6a9a560cdca097abf23371d44599a2f1b726ae7f))
|
||||
- update to dagger-v0.3.13 ([`3e8ca8d`](https://github.com/kjuulh/dagger-sdk/commit/3e8ca8d86eafdc1f9d5e8b69f14fb60509549e0f))
|
||||
</details>
|
||||
|
||||
## v0.2.6 (2023-02-20)
|
||||
@@ -94,9 +197,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **Uncategorized**
|
||||
- Release dagger-core v0.2.6, dagger-codegen v0.2.7, dagger-sdk v0.2.12 ([`7179f8b`](https://github.com/kjuulh/dagger-rs/commit/7179f8b598ef04e62925e39d3f55740253c01686))
|
||||
- ran clippy ([`1f77d90`](https://github.com/kjuulh/dagger-rs/commit/1f77d90c0f0ac832a181b2322350ea395612986c))
|
||||
- cli session keep session alive ([`8dfecf9`](https://github.com/kjuulh/dagger-rs/commit/8dfecf976c5537cc2c03881de2b2fd2b2508683a))
|
||||
- Release dagger-core v0.2.6, dagger-codegen v0.2.7, dagger-sdk v0.2.12 ([`7179f8b`](https://github.com/kjuulh/dagger-sdk/commit/7179f8b598ef04e62925e39d3f55740253c01686))
|
||||
- ran clippy ([`1f77d90`](https://github.com/kjuulh/dagger-sdk/commit/1f77d90c0f0ac832a181b2322350ea395612986c))
|
||||
- cli session keep session alive ([`8dfecf9`](https://github.com/kjuulh/dagger-sdk/commit/8dfecf976c5537cc2c03881de2b2fd2b2508683a))
|
||||
</details>
|
||||
|
||||
## v0.2.5 (2023-02-20)
|
||||
@@ -120,8 +223,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **Uncategorized**
|
||||
- Release dagger-core v0.2.5, dagger-sdk v0.2.12, dagger-codegen v0.2.7 ([`1725c51`](https://github.com/kjuulh/dagger-rs/commit/1725c5188e8a81069ec4a4de569484c921a94927))
|
||||
- race condition in process ([`a13a2a9`](https://github.com/kjuulh/dagger-rs/commit/a13a2a9ecbfdfac80ed8eb0cbb9e9db317da65de))
|
||||
- Release dagger-core v0.2.5, dagger-sdk v0.2.12, dagger-codegen v0.2.7 ([`1725c51`](https://github.com/kjuulh/dagger-sdk/commit/1725c5188e8a81069ec4a4de569484c921a94927))
|
||||
- race condition in process ([`a13a2a9`](https://github.com/kjuulh/dagger-sdk/commit/a13a2a9ecbfdfac80ed8eb0cbb9e9db317da65de))
|
||||
</details>
|
||||
|
||||
## v0.2.4 (2023-02-20)
|
||||
@@ -146,10 +249,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **Uncategorized**
|
||||
- Release dagger-core v0.2.4, dagger-codegen v0.2.6, dagger-sdk v0.2.11 ([`f869e57`](https://github.com/kjuulh/dagger-rs/commit/f869e574dd788cd60e5b1b5d502bec68e300694c))
|
||||
- remove blocking ([`921e61b`](https://github.com/kjuulh/dagger-rs/commit/921e61b5e248013cb5fbf4f1bad3eef5a2673145))
|
||||
- Release dagger-core v0.2.4, dagger-codegen v0.2.6, dagger-sdk v0.2.11 ([`17ec62a`](https://github.com/kjuulh/dagger-rs/commit/17ec62a5d58232ff57391523b9851fb7b07d02ab))
|
||||
- remove blocking ([`8385aa8`](https://github.com/kjuulh/dagger-rs/commit/8385aa8a15ff7b45fecc3462c482b998118c14eb))
|
||||
- Release dagger-core v0.2.4, dagger-codegen v0.2.6, dagger-sdk v0.2.11 ([`f869e57`](https://github.com/kjuulh/dagger-sdk/commit/f869e574dd788cd60e5b1b5d502bec68e300694c))
|
||||
- remove blocking ([`921e61b`](https://github.com/kjuulh/dagger-sdk/commit/921e61b5e248013cb5fbf4f1bad3eef5a2673145))
|
||||
- Release dagger-core v0.2.4, dagger-codegen v0.2.6, dagger-sdk v0.2.11 ([`17ec62a`](https://github.com/kjuulh/dagger-sdk/commit/17ec62a5d58232ff57391523b9851fb7b07d02ab))
|
||||
- remove blocking ([`8385aa8`](https://github.com/kjuulh/dagger-sdk/commit/8385aa8a15ff7b45fecc3462c482b998118c14eb))
|
||||
</details>
|
||||
|
||||
## v0.2.3 (2023-02-20)
|
||||
@@ -174,8 +277,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **Uncategorized**
|
||||
- Release dagger-core v0.2.3, dagger-sdk v0.2.9, dagger-rs v0.2.10 ([`82de43a`](https://github.com/kjuulh/dagger-rs/commit/82de43aa91d6a5e09a247d1959137fdc36a40d35))
|
||||
- Fix async panic on blocking #19 ([`75bc17e`](https://github.com/kjuulh/dagger-rs/commit/75bc17e57db222492c6ffd2dfe80208d2bda75c9))
|
||||
- Release dagger-core v0.2.3, dagger-sdk v0.2.9, dagger-rs v0.2.10 ([`82de43a`](https://github.com/kjuulh/dagger-sdk/commit/82de43aa91d6a5e09a247d1959137fdc36a40d35))
|
||||
- Fix async panic on blocking #19 ([`75bc17e`](https://github.com/kjuulh/dagger-sdk/commit/75bc17e57db222492c6ffd2dfe80208d2bda75c9))
|
||||
</details>
|
||||
|
||||
## v0.2.2 (2023-02-19)
|
||||
@@ -199,8 +302,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **Uncategorized**
|
||||
- Release dagger-core v0.2.2, dagger-codegen v0.2.2, dagger-rs v0.2.8 ([`1638f15`](https://github.com/kjuulh/dagger-rs/commit/1638f15fba9d16512e8452f87b908d6dce417cd9))
|
||||
- update to dagger v0.3.12 ([`6e5f407`](https://github.com/kjuulh/dagger-rs/commit/6e5f4074329ab0462445b31d4153f8497c483438))
|
||||
- Release dagger-core v0.2.2, dagger-codegen v0.2.2, dagger-rs v0.2.8 ([`1638f15`](https://github.com/kjuulh/dagger-sdk/commit/1638f15fba9d16512e8452f87b908d6dce417cd9))
|
||||
- update to dagger v0.3.12 ([`6e5f407`](https://github.com/kjuulh/dagger-sdk/commit/6e5f4074329ab0462445b31d4153f8497c483438))
|
||||
</details>
|
||||
|
||||
## v0.2.1 (2023-02-18)
|
||||
@@ -215,7 +318,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
- 16 commits contributed to the release over the course of 19 calendar days.
|
||||
- 1 commit was understood as [conventional](https://www.conventionalcommits.org).
|
||||
- 2 unique issues were worked on: [#5](https://github.com/kjuulh/dagger-rs/issues/5), [#6](https://github.com/kjuulh/dagger-rs/issues/6)
|
||||
- 2 unique issues were worked on: [#5](https://github.com/kjuulh/dagger-sdk/issues/5), [#6](https://github.com/kjuulh/dagger-sdk/issues/6)
|
||||
|
||||
### Commit Details
|
||||
|
||||
@@ -223,24 +326,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **[#5](https://github.com/kjuulh/dagger-rs/issues/5)**
|
||||
- update all dependencies ([`789b0e6`](https://github.com/kjuulh/dagger-rs/commit/789b0e69c8c53d0e86d9cec89ab5345507aad514))
|
||||
* **[#6](https://github.com/kjuulh/dagger-rs/issues/6)**
|
||||
- feature/add impl ([`4a4c03f`](https://github.com/kjuulh/dagger-rs/commit/4a4c03f3c2ee7f6268c65976715e70767b4ea78d))
|
||||
* **[#5](https://github.com/kjuulh/dagger-sdk/issues/5)**
|
||||
- update all dependencies ([`789b0e6`](https://github.com/kjuulh/dagger-sdk/commit/789b0e69c8c53d0e86d9cec89ab5345507aad514))
|
||||
* **[#6](https://github.com/kjuulh/dagger-sdk/issues/6)**
|
||||
- feature/add impl ([`4a4c03f`](https://github.com/kjuulh/dagger-sdk/commit/4a4c03f3c2ee7f6268c65976715e70767b4ea78d))
|
||||
* **Uncategorized**
|
||||
- Release dagger-core v0.2.1, dagger-codegen v0.2.1, dagger-rs v0.2.1 ([`1332bc8`](https://github.com/kjuulh/dagger-rs/commit/1332bc842ce2ea0254c651419813b63b36ca590c))
|
||||
- add changelogs ([`a064684`](https://github.com/kjuulh/dagger-rs/commit/a064684fcf80196188a57d9ff9067c0b5769fb09))
|
||||
- Adjusting changelogs prior to release of dagger-core v0.2.1, dagger-codegen v0.2.1, dagger-rs v0.2.1 ([`f4a20fd`](https://github.com/kjuulh/dagger-rs/commit/f4a20fda79063b29829cc899793775ba8cb17214))
|
||||
- with publish ([`989d5bc`](https://github.com/kjuulh/dagger-rs/commit/989d5bc26036d46a199d939b5cbbe72aff2f8fb1))
|
||||
- with repo ([`e5383b5`](https://github.com/kjuulh/dagger-rs/commit/e5383b51f3b290a87b729929c377e93bda3873e0))
|
||||
- with readme and license ([`1e26b38`](https://github.com/kjuulh/dagger-rs/commit/1e26b383d4f6dbcbe20f5f7c19c749e743f6e607))
|
||||
- bump version ([`36b0ecd`](https://github.com/kjuulh/dagger-rs/commit/36b0ecdabf4c220cffb2d0660fb6480387e3249a))
|
||||
- with println ([`d1726a0`](https://github.com/kjuulh/dagger-rs/commit/d1726a052a6dc4e57f364864446cab3cbda7e0bf))
|
||||
- context and querier done ([`52a0db3`](https://github.com/kjuulh/dagger-rs/commit/52a0db3e311f9f88447882f1406701d4cd612b1c))
|
||||
- tested full flow initially ([`7a008be`](https://github.com/kjuulh/dagger-rs/commit/7a008be59e5ca183809e5840cdfae1d87665aa20))
|
||||
- move code to dagger-core ([`ec0d0b2`](https://github.com/kjuulh/dagger-rs/commit/ec0d0b22e646c97acb3ce93f3afb3ddb8590e68f))
|
||||
- add fields ([`496a687`](https://github.com/kjuulh/dagger-rs/commit/496a687bc34f7c58cc86df60c183be741b0b8a9c))
|
||||
- with objects ([`5fef514`](https://github.com/kjuulh/dagger-rs/commit/5fef5148010f384d0158361d64b8e17d357d4819))
|
||||
- with enum ([`2a1f7c3`](https://github.com/kjuulh/dagger-rs/commit/2a1f7c3f2666f1f4caebf7c22707709741c2cfad))
|
||||
- Release dagger-core v0.2.1, dagger-codegen v0.2.1, dagger-rs v0.2.1 ([`1332bc8`](https://github.com/kjuulh/dagger-sdk/commit/1332bc842ce2ea0254c651419813b63b36ca590c))
|
||||
- add changelogs ([`a064684`](https://github.com/kjuulh/dagger-sdk/commit/a064684fcf80196188a57d9ff9067c0b5769fb09))
|
||||
- Adjusting changelogs prior to release of dagger-core v0.2.1, dagger-codegen v0.2.1, dagger-rs v0.2.1 ([`f4a20fd`](https://github.com/kjuulh/dagger-sdk/commit/f4a20fda79063b29829cc899793775ba8cb17214))
|
||||
- with publish ([`989d5bc`](https://github.com/kjuulh/dagger-sdk/commit/989d5bc26036d46a199d939b5cbbe72aff2f8fb1))
|
||||
- with repo ([`e5383b5`](https://github.com/kjuulh/dagger-sdk/commit/e5383b51f3b290a87b729929c377e93bda3873e0))
|
||||
- with readme and license ([`1e26b38`](https://github.com/kjuulh/dagger-sdk/commit/1e26b383d4f6dbcbe20f5f7c19c749e743f6e607))
|
||||
- bump version ([`36b0ecd`](https://github.com/kjuulh/dagger-sdk/commit/36b0ecdabf4c220cffb2d0660fb6480387e3249a))
|
||||
- with println ([`d1726a0`](https://github.com/kjuulh/dagger-sdk/commit/d1726a052a6dc4e57f364864446cab3cbda7e0bf))
|
||||
- context and querier done ([`52a0db3`](https://github.com/kjuulh/dagger-sdk/commit/52a0db3e311f9f88447882f1406701d4cd612b1c))
|
||||
- tested full flow initially ([`7a008be`](https://github.com/kjuulh/dagger-sdk/commit/7a008be59e5ca183809e5840cdfae1d87665aa20))
|
||||
- move code to dagger-core ([`ec0d0b2`](https://github.com/kjuulh/dagger-sdk/commit/ec0d0b22e646c97acb3ce93f3afb3ddb8590e68f))
|
||||
- add fields ([`496a687`](https://github.com/kjuulh/dagger-sdk/commit/496a687bc34f7c58cc86df60c183be741b0b8a9c))
|
||||
- with objects ([`5fef514`](https://github.com/kjuulh/dagger-sdk/commit/5fef5148010f384d0158361d64b8e17d357d4819))
|
||||
- with enum ([`2a1f7c3`](https://github.com/kjuulh/dagger-sdk/commit/2a1f7c3f2666f1f4caebf7c22707709741c2cfad))
|
||||
</details>
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "dagger-core"
|
||||
version = "0.2.8"
|
||||
version = "0.2.11"
|
||||
edition = "2021"
|
||||
readme = "README.md"
|
||||
license-file = "LICENSE.MIT"
|
||||
@@ -16,6 +16,7 @@ serde_json = { workspace = true }
|
||||
tokio = { workspace = true }
|
||||
tracing = { workspace = true }
|
||||
tracing-subscriber = { workspace = true }
|
||||
thiserror.workspace = true
|
||||
|
||||
base64 = "0.21.0"
|
||||
dirs = "4.0.0"
|
||||
|
@@ -89,6 +89,7 @@ impl InnerCliSession {
|
||||
while let Ok(Some(line)) = stdout_bufr.next_line().await {
|
||||
if let Ok(conn) = serde_json::from_str::<ConnectParams>(&line) {
|
||||
sender.send(conn).await.unwrap();
|
||||
continue;
|
||||
}
|
||||
|
||||
if let Some(logger) = &logger {
|
||||
|
@@ -135,20 +135,6 @@ impl Downloader {
|
||||
.context("failed to download CLI from archive")?;
|
||||
}
|
||||
|
||||
for file in self.cache_dir()?.read_dir()? {
|
||||
if let Ok(entry) = file {
|
||||
let path = entry.path();
|
||||
if path != cli_bin_path {
|
||||
tracing::debug!(
|
||||
path = path.display().to_string(),
|
||||
cli_bin_path = cli_bin_path.display().to_string(),
|
||||
"deleting existing dagger-engine"
|
||||
);
|
||||
std::fs::remove_file(path)?;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ok(cli_bin_path)
|
||||
}
|
||||
|
||||
|
@@ -23,10 +23,25 @@ impl Engine {
|
||||
pub async fn start(
|
||||
&self,
|
||||
cfg: &Config,
|
||||
) -> eyre::Result<(ConnectParams, tokio::process::Child)> {
|
||||
) -> eyre::Result<(ConnectParams, Option<tokio::process::Child>)> {
|
||||
tracing::info!("starting dagger-engine");
|
||||
|
||||
// TODO: Add from existing session as well
|
||||
self.from_cli(cfg).await
|
||||
if let Ok(conn) = self.from_session_env().await {
|
||||
return Ok((conn, None));
|
||||
}
|
||||
|
||||
let (conn, proc) = self.from_cli(cfg).await?;
|
||||
|
||||
Ok((conn, Some(proc)))
|
||||
}
|
||||
|
||||
async fn from_session_env(&self) -> eyre::Result<ConnectParams> {
|
||||
let port = std::env::var("DAGGER_SESSION_PORT").map(|p| p.parse::<u64>())??;
|
||||
let token = std::env::var("DAGGER_SESSION_TOKEN")?;
|
||||
|
||||
Ok(ConnectParams {
|
||||
port,
|
||||
session_token: token,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
@@ -15,7 +15,7 @@ pub struct GraphQLError {
|
||||
#[derive(Deserialize, Debug, Clone)]
|
||||
#[allow(dead_code)]
|
||||
pub struct GraphQLErrorMessage {
|
||||
message: String,
|
||||
pub message: String,
|
||||
locations: Option<Vec<GraphQLErrorLocation>>,
|
||||
extensions: Option<HashMap<String, String>>,
|
||||
path: Option<Vec<GraphQLErrorPathParam>>,
|
||||
|
@@ -4,13 +4,14 @@ use std::sync::Arc;
|
||||
use async_trait::async_trait;
|
||||
use base64::engine::general_purpose;
|
||||
use base64::Engine;
|
||||
use thiserror::Error;
|
||||
|
||||
use crate::connect_params::ConnectParams;
|
||||
use crate::gql_client::{ClientConfig, GQLClient};
|
||||
|
||||
#[async_trait]
|
||||
pub trait GraphQLClient {
|
||||
async fn query(&self, query: &str) -> eyre::Result<Option<serde_json::Value>>;
|
||||
async fn query(&self, query: &str) -> Result<Option<serde_json::Value>, GraphQLError>;
|
||||
}
|
||||
|
||||
pub type DynGraphQLClient = Arc<dyn GraphQLClient + Send + Sync>;
|
||||
@@ -40,13 +41,50 @@ impl DefaultGraphQLClient {
|
||||
|
||||
#[async_trait]
|
||||
impl GraphQLClient for DefaultGraphQLClient {
|
||||
async fn query(&self, query: &str) -> eyre::Result<Option<serde_json::Value>> {
|
||||
let res: Option<serde_json::Value> = self
|
||||
.client
|
||||
.query(&query)
|
||||
.await
|
||||
.map_err(|r| eyre::anyhow!(r.to_string()))?;
|
||||
async fn query(&self, query: &str) -> Result<Option<serde_json::Value>, GraphQLError> {
|
||||
let res: Option<serde_json::Value> =
|
||||
self.client.query(&query).await.map_err(map_graphql_error)?;
|
||||
|
||||
return Ok(res);
|
||||
}
|
||||
}
|
||||
|
||||
fn map_graphql_error(gql_error: crate::gql_client::GraphQLError) -> GraphQLError {
|
||||
let message = gql_error.message().to_string();
|
||||
let json = gql_error.json();
|
||||
|
||||
if let Some(json) = json {
|
||||
if !json.is_empty() {
|
||||
return GraphQLError::DomainError {
|
||||
message,
|
||||
fields: GraphqlErrorMessages(json.into_iter().map(|e| e.message).collect()),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
GraphQLError::HttpError(message)
|
||||
}
|
||||
|
||||
#[derive(Error, Debug)]
|
||||
pub enum GraphQLError {
|
||||
#[error("http error: {0}")]
|
||||
HttpError(String),
|
||||
#[error("domain error:\n{message}\n{fields}")]
|
||||
DomainError {
|
||||
message: String,
|
||||
fields: GraphqlErrorMessages,
|
||||
},
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct GraphqlErrorMessages(Vec<String>);
|
||||
|
||||
impl std::fmt::Display for GraphqlErrorMessages {
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||
for error in self.0.iter() {
|
||||
f.write_fmt(format_args!("{error}\n"))?;
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
@@ -1,6 +1,6 @@
|
||||
#![deny(warnings)]
|
||||
|
||||
pub const DAGGER_ENGINE_VERSION: &'static str = "0.4.0";
|
||||
pub const DAGGER_ENGINE_VERSION: &'static str = "0.5.1";
|
||||
|
||||
pub mod cli_session;
|
||||
pub mod config;
|
||||
|
@@ -6,8 +6,124 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to
|
||||
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## v0.2.22 (2023-04-29)
|
||||
|
||||
### New Features
|
||||
|
||||
- <csr-id-2a29a66217fa4d6c530ea1ce670c8836383e7051/> dagger-run support
|
||||
- <csr-id-eb7470c604169d1a15976078c0889d5cc7011257/> update to dagger-5.1
|
||||
|
||||
### Commit Statistics
|
||||
|
||||
<csr-read-only-do-not-edit/>
|
||||
|
||||
- 2 commits contributed to the release.
|
||||
- 4 days passed between releases.
|
||||
- 2 commits were understood as [conventional](https://www.conventionalcommits.org).
|
||||
- 0 issues like '(#ID)' were seen in commit messages
|
||||
|
||||
### Commit Details
|
||||
|
||||
<csr-read-only-do-not-edit/>
|
||||
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **Uncategorized**
|
||||
- dagger-run support ([`2a29a66`](https://github.com/kjuulh/dagger-sdk/commit/2a29a66217fa4d6c530ea1ce670c8836383e7051))
|
||||
- update to dagger-5.1 ([`eb7470c`](https://github.com/kjuulh/dagger-sdk/commit/eb7470c604169d1a15976078c0889d5cc7011257))
|
||||
</details>
|
||||
|
||||
## v0.2.21 (2023-04-25)
|
||||
|
||||
<csr-id-09881ee39bdfb9201d104e4679a51c3b76b5fe27/>
|
||||
|
||||
### Chore
|
||||
|
||||
- <csr-id-09881ee39bdfb9201d104e4679a51c3b76b5fe27/> add new dagger-core-version
|
||||
|
||||
### Commit Statistics
|
||||
|
||||
<csr-read-only-do-not-edit/>
|
||||
|
||||
- 2 commits contributed to the release.
|
||||
- 21 days passed between releases.
|
||||
- 1 commit was understood as [conventional](https://www.conventionalcommits.org).
|
||||
- 0 issues like '(#ID)' were seen in commit messages
|
||||
|
||||
### Commit Details
|
||||
|
||||
<csr-read-only-do-not-edit/>
|
||||
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **Uncategorized**
|
||||
- Release dagger-sdk v0.2.21 ([`6937ef0`](https://github.com/kjuulh/dagger-sdk/commit/6937ef0ace797315013513aa7e2af39a9206a738))
|
||||
- add new dagger-core-version ([`09881ee`](https://github.com/kjuulh/dagger-sdk/commit/09881ee39bdfb9201d104e4679a51c3b76b5fe27))
|
||||
</details>
|
||||
|
||||
## v0.2.20 (2023-04-03)
|
||||
|
||||
<csr-id-ea27fa8168cc54b20fac87c016f479061c6eda91/>
|
||||
<csr-id-6ef4bdf587e4aea290b722e7a0aed3184e72d6bb/>
|
||||
<csr-id-b55bcc159ffc6a61ecfcc5e3aa3de00a1a73b5b8/>
|
||||
|
||||
### Chore
|
||||
|
||||
- <csr-id-ea27fa8168cc54b20fac87c016f479061c6eda91/> fmt
|
||||
|
||||
### New Features
|
||||
|
||||
- <csr-id-9ea18700e78a7ee09f43e6976b0339dfc2747458/> with gen
|
||||
- <csr-id-11d20935c697e28caaa671e8da0e70a99d4310fc/> extract client
|
||||
This extracts the client (strategy pattern), this is so that it is will be possible to test the actual querier, without hitting / requiring the dagger-engine running.
|
||||
- <csr-id-384294b39038123b02c406a1038105b111c3b9be/> rename projects to point to github/kjuulh/dagger-sdk
|
||||
- <csr-id-79d931e908c58a0464fd9cf7d6ef02eb50f14c23/> with loggers
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- <csr-id-696007cf45ccbdfc1b8eb45e726940a040f52494/> update rust crate futures to 0.3.28
|
||||
- <csr-id-756a0805336d477f33e7868570a89a86fc14c1dd/> stable input fields and args
|
||||
- <csr-id-71f98d0293a773df3917f13174273c536854a197/> stable enum entries
|
||||
|
||||
### Refactor
|
||||
|
||||
- <csr-id-6ef4bdf587e4aea290b722e7a0aed3184e72d6bb/> add basic cargo make gen command
|
||||
- <csr-id-b55bcc159ffc6a61ecfcc5e3aa3de00a1a73b5b8/> move dagger-rs and adopt workspace.deps
|
||||
|
||||
### Commit Statistics
|
||||
|
||||
<csr-read-only-do-not-edit/>
|
||||
|
||||
- 11 commits contributed to the release over the course of 19 calendar days.
|
||||
- 20 days passed between releases.
|
||||
- 10 commits were understood as [conventional](https://www.conventionalcommits.org).
|
||||
- 1 unique issue was worked on: [#48](https://github.com/kjuulh/dagger-sdk/issues/48)
|
||||
|
||||
### Commit Details
|
||||
|
||||
<csr-read-only-do-not-edit/>
|
||||
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **[#48](https://github.com/kjuulh/dagger-sdk/issues/48)**
|
||||
- extract client ([`11d2093`](https://github.com/kjuulh/dagger-sdk/commit/11d20935c697e28caaa671e8da0e70a99d4310fc))
|
||||
* **Uncategorized**
|
||||
- Release dagger-core v0.2.9, dagger-sdk v0.2.20 ([`f82075c`](https://github.com/kjuulh/dagger-sdk/commit/f82075c23808073d9500df63c1cd347cd9b99cef))
|
||||
- with gen ([`9ea1870`](https://github.com/kjuulh/dagger-sdk/commit/9ea18700e78a7ee09f43e6976b0339dfc2747458))
|
||||
- update rust crate futures to 0.3.28 ([`696007c`](https://github.com/kjuulh/dagger-sdk/commit/696007cf45ccbdfc1b8eb45e726940a040f52494))
|
||||
- rename projects to point to github/kjuulh/dagger-sdk ([`384294b`](https://github.com/kjuulh/dagger-sdk/commit/384294b39038123b02c406a1038105b111c3b9be))
|
||||
- with loggers ([`79d931e`](https://github.com/kjuulh/dagger-sdk/commit/79d931e908c58a0464fd9cf7d6ef02eb50f14c23))
|
||||
- stable input fields and args ([`756a080`](https://github.com/kjuulh/dagger-sdk/commit/756a0805336d477f33e7868570a89a86fc14c1dd))
|
||||
- fmt ([`ea27fa8`](https://github.com/kjuulh/dagger-sdk/commit/ea27fa8168cc54b20fac87c016f479061c6eda91))
|
||||
- stable enum entries ([`71f98d0`](https://github.com/kjuulh/dagger-sdk/commit/71f98d0293a773df3917f13174273c536854a197))
|
||||
- add basic cargo make gen command ([`6ef4bdf`](https://github.com/kjuulh/dagger-sdk/commit/6ef4bdf587e4aea290b722e7a0aed3184e72d6bb))
|
||||
- move dagger-rs and adopt workspace.deps ([`b55bcc1`](https://github.com/kjuulh/dagger-sdk/commit/b55bcc159ffc6a61ecfcc5e3aa3de00a1a73b5b8))
|
||||
</details>
|
||||
|
||||
## v0.2.19 (2023-03-14)
|
||||
|
||||
<csr-id-6629d2db4fbc7cdba9b2e4a241e4b0a2592cf384/>
|
||||
|
||||
### Chore
|
||||
|
||||
- <csr-id-6629d2db4fbc7cdba9b2e4a241e4b0a2592cf384/> fix release version
|
||||
@@ -20,9 +136,9 @@ and this project adheres to
|
||||
|
||||
<csr-read-only-do-not-edit/>
|
||||
|
||||
- 2 commits contributed to the release.
|
||||
- 3 commits contributed to the release.
|
||||
- 2 commits were understood as [conventional](https://www.conventionalcommits.org).
|
||||
- 1 unique issue was worked on: [#34](https://github.com/kjuulh/dagger-rs/issues/34)
|
||||
- 1 unique issue was worked on: [#34](https://github.com/kjuulh/dagger-sdk/issues/34)
|
||||
|
||||
### Commit Details
|
||||
|
||||
@@ -30,10 +146,11 @@ and this project adheres to
|
||||
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **[#34](https://github.com/kjuulh/dagger-rs/issues/34)**
|
||||
- serialization of enum args for graphql ([`8fd6bb9`](https://github.com/kjuulh/dagger-rs/commit/8fd6bb983ef00b1aa2cf1ba3088028329033c38f))
|
||||
* **[#34](https://github.com/kjuulh/dagger-sdk/issues/34)**
|
||||
- serialization of enum args for graphql ([`8fd6bb9`](https://github.com/kjuulh/dagger-sdk/commit/8fd6bb983ef00b1aa2cf1ba3088028329033c38f))
|
||||
* **Uncategorized**
|
||||
- fix release version ([`6629d2d`](https://github.com/kjuulh/dagger-rs/commit/6629d2db4fbc7cdba9b2e4a241e4b0a2592cf384))
|
||||
- Release dagger-sdk v0.2.19 ([`76fab3f`](https://github.com/kjuulh/dagger-sdk/commit/76fab3f4662020c33af9b57daed715f6f65a8c7c))
|
||||
- fix release version ([`6629d2d`](https://github.com/kjuulh/dagger-sdk/commit/6629d2db4fbc7cdba9b2e4a241e4b0a2592cf384))
|
||||
</details>
|
||||
|
||||
## v0.2.17 (2023-03-13)
|
||||
@@ -77,16 +194,16 @@ and this project adheres to
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **Uncategorized**
|
||||
- Release dagger-sdk v0.2.17 ([`a8e6dde`](https://github.com/kjuulh/dagger-rs/commit/a8e6dde615029d9a94d159ed84b5373121cd201f))
|
||||
- make sure tests have a command to execute ([`1bfd084`](https://github.com/kjuulh/dagger-rs/commit/1bfd084cd28e2b984c61de7f3f9a065cc41be007))
|
||||
- remove unused imports ([`5593fce`](https://github.com/kjuulh/dagger-rs/commit/5593fce2e16e0aa97a2e6843f15d3bb1121048f5))
|
||||
- remove export and instead use exitcode ([`2cc0231`](https://github.com/kjuulh/dagger-rs/commit/2cc0231c5f29993081f0f7e15e44cac95a7d6086))
|
||||
- move issues to actual tests and refactor ([`9ba0139`](https://github.com/kjuulh/dagger-rs/commit/9ba01396cb44ee02cf7a16008e3f0bdae9f78754))
|
||||
- add support for String as well ([`c025d17`](https://github.com/kjuulh/dagger-rs/commit/c025d1742482d701946c292dcf104421d3cade8e))
|
||||
- move issues to another folder ([`e9e35ed`](https://github.com/kjuulh/dagger-rs/commit/e9e35edb1cb67eee8cc033212aba3b1888def78f))
|
||||
- add public tuple field and into func ([`d7317e5`](https://github.com/kjuulh/dagger-rs/commit/d7317e5cf34ee84a7b092357f5fbb15cd2bae2e3))
|
||||
- initial issue ([`f679281`](https://github.com/kjuulh/dagger-rs/commit/f67928155f02076cbb41abd4010523879ff3caf1))
|
||||
- update rust crate futures to 0.3.27 ([`44fa024`](https://github.com/kjuulh/dagger-rs/commit/44fa0240f8197f49fdf942b5c3d89079b59195d1))
|
||||
- Release dagger-sdk v0.2.17 ([`a8e6dde`](https://github.com/kjuulh/dagger-sdk/commit/a8e6dde615029d9a94d159ed84b5373121cd201f))
|
||||
- make sure tests have a command to execute ([`1bfd084`](https://github.com/kjuulh/dagger-sdk/commit/1bfd084cd28e2b984c61de7f3f9a065cc41be007))
|
||||
- remove unused imports ([`5593fce`](https://github.com/kjuulh/dagger-sdk/commit/5593fce2e16e0aa97a2e6843f15d3bb1121048f5))
|
||||
- remove export and instead use exitcode ([`2cc0231`](https://github.com/kjuulh/dagger-sdk/commit/2cc0231c5f29993081f0f7e15e44cac95a7d6086))
|
||||
- move issues to actual tests and refactor ([`9ba0139`](https://github.com/kjuulh/dagger-sdk/commit/9ba01396cb44ee02cf7a16008e3f0bdae9f78754))
|
||||
- add support for String as well ([`c025d17`](https://github.com/kjuulh/dagger-sdk/commit/c025d1742482d701946c292dcf104421d3cade8e))
|
||||
- move issues to another folder ([`e9e35ed`](https://github.com/kjuulh/dagger-sdk/commit/e9e35edb1cb67eee8cc033212aba3b1888def78f))
|
||||
- add public tuple field and into func ([`d7317e5`](https://github.com/kjuulh/dagger-sdk/commit/d7317e5cf34ee84a7b092357f5fbb15cd2bae2e3))
|
||||
- initial issue ([`f679281`](https://github.com/kjuulh/dagger-sdk/commit/f67928155f02076cbb41abd4010523879ff3caf1))
|
||||
- update rust crate futures to 0.3.27 ([`44fa024`](https://github.com/kjuulh/dagger-sdk/commit/44fa0240f8197f49fdf942b5c3d89079b59195d1))
|
||||
</details>
|
||||
|
||||
## v0.2.16 (2023-03-10)
|
||||
@@ -129,13 +246,13 @@ and this project adheres to
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **Uncategorized**
|
||||
- Release dagger-core v0.2.8, dagger-sdk v0.2.16 ([`f390eac`](https://github.com/kjuulh/dagger-rs/commit/f390eac29f1d041d18d2207a5aa0a8d993aab68c))
|
||||
- fix tasks ([`e642778`](https://github.com/kjuulh/dagger-rs/commit/e642778d9028726dfb07217814e15ad1dd3b83f2))
|
||||
- with dagger-engine v.0.4.0 ([`7133bfa`](https://github.com/kjuulh/dagger-rs/commit/7133bfae9508bc5977548e373c49342a1248d6e4))
|
||||
- fix missing await in connect ([`13b7805`](https://github.com/kjuulh/dagger-rs/commit/13b7805e7e6fcf47e0a1318adcc25b4ab773a3c9))
|
||||
- add tests to sdk ([`4381af0`](https://github.com/kjuulh/dagger-rs/commit/4381af029521c2cbac9325278d261db79a994657))
|
||||
- set internal warnings as errors ([`5f9b3a1`](https://github.com/kjuulh/dagger-rs/commit/5f9b3a19c0ab6988bc335b020052074f3f101305))
|
||||
- fix builder pattern to actually work with default values ([`ecca036`](https://github.com/kjuulh/dagger-rs/commit/ecca036bc644fee93fbcb69bf6da9f29169e473e))
|
||||
- Release dagger-core v0.2.8, dagger-sdk v0.2.16 ([`f390eac`](https://github.com/kjuulh/dagger-sdk/commit/f390eac29f1d041d18d2207a5aa0a8d993aab68c))
|
||||
- fix tasks ([`e642778`](https://github.com/kjuulh/dagger-sdk/commit/e642778d9028726dfb07217814e15ad1dd3b83f2))
|
||||
- with dagger-engine v.0.4.0 ([`7133bfa`](https://github.com/kjuulh/dagger-sdk/commit/7133bfae9508bc5977548e373c49342a1248d6e4))
|
||||
- fix missing await in connect ([`13b7805`](https://github.com/kjuulh/dagger-sdk/commit/13b7805e7e6fcf47e0a1318adcc25b4ab773a3c9))
|
||||
- add tests to sdk ([`4381af0`](https://github.com/kjuulh/dagger-sdk/commit/4381af029521c2cbac9325278d261db79a994657))
|
||||
- set internal warnings as errors ([`5f9b3a1`](https://github.com/kjuulh/dagger-sdk/commit/5f9b3a19c0ab6988bc335b020052074f3f101305))
|
||||
- fix builder pattern to actually work with default values ([`ecca036`](https://github.com/kjuulh/dagger-sdk/commit/ecca036bc644fee93fbcb69bf6da9f29169e473e))
|
||||
</details>
|
||||
|
||||
## v0.2.15 (2023-02-24)
|
||||
@@ -164,9 +281,9 @@ and this project adheres to
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **Uncategorized**
|
||||
- Release dagger-core v0.2.7, dagger-sdk v0.2.15 ([`6a9a560`](https://github.com/kjuulh/dagger-rs/commit/6a9a560cdca097abf23371d44599a2f1b726ae7f))
|
||||
- set deserialize on enums as well ([`e578b0e`](https://github.com/kjuulh/dagger-rs/commit/e578b0e371e13bc30ada793b7cd6ebe75ba83a07))
|
||||
- update to dagger-v0.3.13 ([`3e8ca8d`](https://github.com/kjuulh/dagger-rs/commit/3e8ca8d86eafdc1f9d5e8b69f14fb60509549e0f))
|
||||
- Release dagger-core v0.2.7, dagger-sdk v0.2.15 ([`6a9a560`](https://github.com/kjuulh/dagger-sdk/commit/6a9a560cdca097abf23371d44599a2f1b726ae7f))
|
||||
- set deserialize on enums as well ([`e578b0e`](https://github.com/kjuulh/dagger-sdk/commit/e578b0e371e13bc30ada793b7cd6ebe75ba83a07))
|
||||
- update to dagger-v0.3.13 ([`3e8ca8d`](https://github.com/kjuulh/dagger-sdk/commit/3e8ca8d86eafdc1f9d5e8b69f14fb60509549e0f))
|
||||
</details>
|
||||
|
||||
## v0.2.14 (2023-02-22)
|
||||
@@ -192,8 +309,8 @@ and this project adheres to
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **Uncategorized**
|
||||
- Release dagger-sdk v0.2.14 ([`88b055c`](https://github.com/kjuulh/dagger-rs/commit/88b055cb47d3d474e2c37d8fa8259df5faad9da5))
|
||||
- fix whitespace ([`e331ca0`](https://github.com/kjuulh/dagger-rs/commit/e331ca003546f4ebe00f33b65c3b45c6b0586514))
|
||||
- Release dagger-sdk v0.2.14 ([`88b055c`](https://github.com/kjuulh/dagger-sdk/commit/88b055cb47d3d474e2c37d8fa8259df5faad9da5))
|
||||
- fix whitespace ([`e331ca0`](https://github.com/kjuulh/dagger-sdk/commit/e331ca003546f4ebe00f33b65c3b45c6b0586514))
|
||||
</details>
|
||||
|
||||
## v0.2.13 (2023-02-22)
|
||||
@@ -230,13 +347,13 @@ and this project adheres to
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **Uncategorized**
|
||||
- Release dagger-codegen v0.2.8, dagger-sdk v0.2.13 ([`456f483`](https://github.com/kjuulh/dagger-rs/commit/456f48389b5514d7f743a600a7732fb02dd87418))
|
||||
- ran clippy ([`7c3654d`](https://github.com/kjuulh/dagger-rs/commit/7c3654d276bb5f66e692a210cb60cdf46b19e226))
|
||||
- with clone ([`266ad32`](https://github.com/kjuulh/dagger-rs/commit/266ad32dff4c8957c7cdd291f9ef6f8a8c1d055c))
|
||||
- Release dagger-core v0.2.6, dagger-codegen v0.2.7, dagger-sdk v0.2.12 ([`7179f8b`](https://github.com/kjuulh/dagger-rs/commit/7179f8b598ef04e62925e39d3f55740253c01686))
|
||||
- ran clippy ([`1f77d90`](https://github.com/kjuulh/dagger-rs/commit/1f77d90c0f0ac832a181b2322350ea395612986c))
|
||||
- Release dagger-core v0.2.5, dagger-sdk v0.2.12, dagger-codegen v0.2.7 ([`1725c51`](https://github.com/kjuulh/dagger-rs/commit/1725c5188e8a81069ec4a4de569484c921a94927))
|
||||
- race condition in process ([`a13a2a9`](https://github.com/kjuulh/dagger-rs/commit/a13a2a9ecbfdfac80ed8eb0cbb9e9db317da65de))
|
||||
- Release dagger-codegen v0.2.8, dagger-sdk v0.2.13 ([`456f483`](https://github.com/kjuulh/dagger-sdk/commit/456f48389b5514d7f743a600a7732fb02dd87418))
|
||||
- ran clippy ([`7c3654d`](https://github.com/kjuulh/dagger-sdk/commit/7c3654d276bb5f66e692a210cb60cdf46b19e226))
|
||||
- with clone ([`266ad32`](https://github.com/kjuulh/dagger-sdk/commit/266ad32dff4c8957c7cdd291f9ef6f8a8c1d055c))
|
||||
- Release dagger-core v0.2.6, dagger-codegen v0.2.7, dagger-sdk v0.2.12 ([`7179f8b`](https://github.com/kjuulh/dagger-sdk/commit/7179f8b598ef04e62925e39d3f55740253c01686))
|
||||
- ran clippy ([`1f77d90`](https://github.com/kjuulh/dagger-sdk/commit/1f77d90c0f0ac832a181b2322350ea395612986c))
|
||||
- Release dagger-core v0.2.5, dagger-sdk v0.2.12, dagger-codegen v0.2.7 ([`1725c51`](https://github.com/kjuulh/dagger-sdk/commit/1725c5188e8a81069ec4a4de569484c921a94927))
|
||||
- race condition in process ([`a13a2a9`](https://github.com/kjuulh/dagger-sdk/commit/a13a2a9ecbfdfac80ed8eb0cbb9e9db317da65de))
|
||||
</details>
|
||||
|
||||
## v0.2.12 (2023-02-20)
|
||||
@@ -274,9 +391,9 @@ and this project adheres to
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **Uncategorized**
|
||||
- Release dagger-core v0.2.4, dagger-codegen v0.2.6, dagger-sdk v0.2.11 ([`f869e57`](https://github.com/kjuulh/dagger-rs/commit/f869e574dd788cd60e5b1b5d502bec68e300694c))
|
||||
- Release dagger-core v0.2.4, dagger-codegen v0.2.6, dagger-sdk v0.2.11 ([`17ec62a`](https://github.com/kjuulh/dagger-rs/commit/17ec62a5d58232ff57391523b9851fb7b07d02ab))
|
||||
- ran clippy ([`803cfc4`](https://github.com/kjuulh/dagger-rs/commit/803cfc4f8c4d72ab7d011be5523b3bfc6039de39))
|
||||
- Release dagger-core v0.2.4, dagger-codegen v0.2.6, dagger-sdk v0.2.11 ([`f869e57`](https://github.com/kjuulh/dagger-sdk/commit/f869e574dd788cd60e5b1b5d502bec68e300694c))
|
||||
- Release dagger-core v0.2.4, dagger-codegen v0.2.6, dagger-sdk v0.2.11 ([`17ec62a`](https://github.com/kjuulh/dagger-sdk/commit/17ec62a5d58232ff57391523b9851fb7b07d02ab))
|
||||
- ran clippy ([`803cfc4`](https://github.com/kjuulh/dagger-sdk/commit/803cfc4f8c4d72ab7d011be5523b3bfc6039de39))
|
||||
</details>
|
||||
|
||||
## v0.2.10 (2023-02-20)
|
||||
@@ -302,14 +419,14 @@ Alignment release
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **Uncategorized**
|
||||
- Release dagger-sdk v0.2.10 ([`5cb9729`](https://github.com/kjuulh/dagger-rs/commit/5cb97296b61677fb37e4bdb8519d30a484f93621))
|
||||
- changelog ([`b100285`](https://github.com/kjuulh/dagger-rs/commit/b100285312df522218bfd4bc00bbf41b857a81bf))
|
||||
- Adjusting changelogs prior to release of dagger-sdk v0.2.10 ([`8ed0647`](https://github.com/kjuulh/dagger-rs/commit/8ed06476e56f3290a419d2a67e7f25da575c63ad))
|
||||
- update changelog ([`09aa658`](https://github.com/kjuulh/dagger-rs/commit/09aa658b6fb3c1e9a2de668c4a69bbe5be13202f))
|
||||
- Adjusting changelogs prior to release of dagger-sdk v0.2.10 ([`b436f27`](https://github.com/kjuulh/dagger-rs/commit/b436f27a535f085bb8a4e66c7c4b3df461e74c21))
|
||||
- Adjusting changelogs prior to release of dagger-sdk v0.2.10, dagger-rs v0.2.10 ([`577a293`](https://github.com/kjuulh/dagger-rs/commit/577a293c6777b9305a4f5fc7c3abee4aff4d74b5))
|
||||
- Adjusting changelogs prior to release of dagger-sdk v0.2.10, dagger-rs v0.2.10 ([`76bb1fc`](https://github.com/kjuulh/dagger-rs/commit/76bb1fcedd03bd2d3b1e0f841f10325e4a85e108))
|
||||
- Release dagger-rs v0.2.10 ([`dc3487b`](https://github.com/kjuulh/dagger-rs/commit/dc3487b840beb9543699f72d4282147e4ebc72f2))
|
||||
- Release dagger-sdk v0.2.10 ([`5cb9729`](https://github.com/kjuulh/dagger-sdk/commit/5cb97296b61677fb37e4bdb8519d30a484f93621))
|
||||
- changelog ([`b100285`](https://github.com/kjuulh/dagger-sdk/commit/b100285312df522218bfd4bc00bbf41b857a81bf))
|
||||
- Adjusting changelogs prior to release of dagger-sdk v0.2.10 ([`8ed0647`](https://github.com/kjuulh/dagger-sdk/commit/8ed06476e56f3290a419d2a67e7f25da575c63ad))
|
||||
- update changelog ([`09aa658`](https://github.com/kjuulh/dagger-sdk/commit/09aa658b6fb3c1e9a2de668c4a69bbe5be13202f))
|
||||
- Adjusting changelogs prior to release of dagger-sdk v0.2.10 ([`b436f27`](https://github.com/kjuulh/dagger-sdk/commit/b436f27a535f085bb8a4e66c7c4b3df461e74c21))
|
||||
- Adjusting changelogs prior to release of dagger-sdk v0.2.10, dagger-rs v0.2.10 ([`577a293`](https://github.com/kjuulh/dagger-sdk/commit/577a293c6777b9305a4f5fc7c3abee4aff4d74b5))
|
||||
- Adjusting changelogs prior to release of dagger-sdk v0.2.10, dagger-rs v0.2.10 ([`76bb1fc`](https://github.com/kjuulh/dagger-sdk/commit/76bb1fcedd03bd2d3b1e0f841f10325e4a85e108))
|
||||
- Release dagger-rs v0.2.10 ([`dc3487b`](https://github.com/kjuulh/dagger-sdk/commit/dc3487b840beb9543699f72d4282147e4ebc72f2))
|
||||
</details>
|
||||
|
||||
## v0.2.10
|
||||
@@ -362,8 +479,8 @@ Alignment release
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **Uncategorized**
|
||||
- Release dagger-core v0.2.3, dagger-sdk v0.2.9, dagger-rs v0.2.10 ([`82de43a`](https://github.com/kjuulh/dagger-rs/commit/82de43aa91d6a5e09a247d1959137fdc36a40d35))
|
||||
- Fix async panic on blocking #19 ([`75bc17e`](https://github.com/kjuulh/dagger-rs/commit/75bc17e57db222492c6ffd2dfe80208d2bda75c9))
|
||||
- Release dagger-core v0.2.3, dagger-sdk v0.2.9, dagger-rs v0.2.10 ([`82de43a`](https://github.com/kjuulh/dagger-sdk/commit/82de43aa91d6a5e09a247d1959137fdc36a40d35))
|
||||
- Fix async panic on blocking #19 ([`75bc17e`](https://github.com/kjuulh/dagger-sdk/commit/75bc17e57db222492c6ffd2dfe80208d2bda75c9))
|
||||
</details>
|
||||
|
||||
## v0.2.8 (2023-02-19)
|
||||
@@ -387,8 +504,8 @@ Alignment release
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **Uncategorized**
|
||||
- Release dagger-sdk v0.2.8, dagger-codegen v0.2.5 ([`0499024`](https://github.com/kjuulh/dagger-rs/commit/04990247ba8e9d0555847f582fef14849dbedebf))
|
||||
- add documentation strings ([`978ede6`](https://github.com/kjuulh/dagger-rs/commit/978ede68ae52f5b5150a2aa45b8d6e1fbbbee2f4))
|
||||
- Release dagger-sdk v0.2.8, dagger-codegen v0.2.5 ([`0499024`](https://github.com/kjuulh/dagger-sdk/commit/04990247ba8e9d0555847f582fef14849dbedebf))
|
||||
- add documentation strings ([`978ede6`](https://github.com/kjuulh/dagger-sdk/commit/978ede68ae52f5b5150a2aa45b8d6e1fbbbee2f4))
|
||||
</details>
|
||||
|
||||
## v0.2.7 (2023-02-19)
|
||||
@@ -437,9 +554,9 @@ Alignment release
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **Uncategorized**
|
||||
- Release dagger-sdk v0.2.7 ([`a1887af`](https://github.com/kjuulh/dagger-rs/commit/a1887afc8b51f61491ba7f13c5e7a5b7619623c4))
|
||||
- change to await syntax ([`93f40b3`](https://github.com/kjuulh/dagger-rs/commit/93f40b356c48f14e910968516bed9487912095c1))
|
||||
- Use async runtime instead of blocking. ([`9be6f43`](https://github.com/kjuulh/dagger-rs/commit/9be6f435d9ea39f31a8906e55dbd3e8b1e5ec598))
|
||||
- Release dagger-sdk v0.2.7 ([`a1887af`](https://github.com/kjuulh/dagger-sdk/commit/a1887afc8b51f61491ba7f13c5e7a5b7619623c4))
|
||||
- change to await syntax ([`93f40b3`](https://github.com/kjuulh/dagger-sdk/commit/93f40b356c48f14e910968516bed9487912095c1))
|
||||
- Use async runtime instead of blocking. ([`9be6f43`](https://github.com/kjuulh/dagger-sdk/commit/9be6f435d9ea39f31a8906e55dbd3e8b1e5ec598))
|
||||
</details>
|
||||
|
||||
## v0.2.6 (2023-02-19)
|
||||
@@ -463,8 +580,8 @@ Alignment release
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **Uncategorized**
|
||||
- Release dagger-sdk v0.2.6 ([`c312bc5`](https://github.com/kjuulh/dagger-rs/commit/c312bc57ad3e5380b6a2a927f3bb758aa5344efd))
|
||||
- fix readme ([`04e70ce`](https://github.com/kjuulh/dagger-rs/commit/04e70ce964b343e28b3dbd0c46d10ccda958ab8c))
|
||||
- Release dagger-sdk v0.2.6 ([`c312bc5`](https://github.com/kjuulh/dagger-sdk/commit/c312bc57ad3e5380b6a2a927f3bb758aa5344efd))
|
||||
- fix readme ([`04e70ce`](https://github.com/kjuulh/dagger-sdk/commit/04e70ce964b343e28b3dbd0c46d10ccda958ab8c))
|
||||
</details>
|
||||
|
||||
## v0.2.5 (2023-02-19)
|
||||
@@ -525,13 +642,13 @@ Alignment release
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **Uncategorized**
|
||||
- Release dagger-sdk v0.2.5, dagger-codegen v0.2.4 ([`f727318`](https://github.com/kjuulh/dagger-rs/commit/f72731807d8358fdb3d80432136b7a08bb7b1773))
|
||||
- cargo clippy ([`c627595`](https://github.com/kjuulh/dagger-rs/commit/c627595fd2695e236924175d137c42f1480ccd6b))
|
||||
- without Some in _opts functions ([`f29ff83`](https://github.com/kjuulh/dagger-rs/commit/f29ff836cfd72d5e051ca6a71a230ba1e9933091))
|
||||
- with _opts methods ([`9762da8`](https://github.com/kjuulh/dagger-rs/commit/9762da895a164e30c5dc60e89a83e934ceae47ab))
|
||||
- without phantom data ([`02006d4`](https://github.com/kjuulh/dagger-rs/commit/02006d40fc2c0383e0412c15c36db9af7eda991f))
|
||||
- move to &str instead of String and introduce builder. ([`94336d0`](https://github.com/kjuulh/dagger-rs/commit/94336d06378f035464e233b921dc3858070f582d))
|
||||
- dependencies ([`6e2292c`](https://github.com/kjuulh/dagger-rs/commit/6e2292cf11942fbd26a52fe4e0fc8471e6eb70a3))
|
||||
- Release dagger-sdk v0.2.5, dagger-codegen v0.2.4 ([`f727318`](https://github.com/kjuulh/dagger-sdk/commit/f72731807d8358fdb3d80432136b7a08bb7b1773))
|
||||
- cargo clippy ([`c627595`](https://github.com/kjuulh/dagger-sdk/commit/c627595fd2695e236924175d137c42f1480ccd6b))
|
||||
- without Some in _opts functions ([`f29ff83`](https://github.com/kjuulh/dagger-sdk/commit/f29ff836cfd72d5e051ca6a71a230ba1e9933091))
|
||||
- with _opts methods ([`9762da8`](https://github.com/kjuulh/dagger-sdk/commit/9762da895a164e30c5dc60e89a83e934ceae47ab))
|
||||
- without phantom data ([`02006d4`](https://github.com/kjuulh/dagger-sdk/commit/02006d40fc2c0383e0412c15c36db9af7eda991f))
|
||||
- move to &str instead of String and introduce builder. ([`94336d0`](https://github.com/kjuulh/dagger-sdk/commit/94336d06378f035464e233b921dc3858070f582d))
|
||||
- dependencies ([`6e2292c`](https://github.com/kjuulh/dagger-sdk/commit/6e2292cf11942fbd26a52fe4e0fc8471e6eb70a3))
|
||||
</details>
|
||||
|
||||
## v0.2.4 (2023-02-19)
|
||||
@@ -556,8 +673,8 @@ Alignment release
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **Uncategorized**
|
||||
- Release dagger-sdk v0.2.4 ([`cc81124`](https://github.com/kjuulh/dagger-rs/commit/cc81124f899f44f80c1ee7d1e23a7e02d8cc4b7c))
|
||||
- readme dagger-rs -> dagger-sdk ([`7d04ab1`](https://github.com/kjuulh/dagger-rs/commit/7d04ab1240e497e7804fed23a378d28c78f50a0a))
|
||||
- Release dagger-sdk v0.2.4 ([`cc81124`](https://github.com/kjuulh/dagger-sdk/commit/cc81124f899f44f80c1ee7d1e23a7e02d8cc4b7c))
|
||||
- readme dagger-rs -> dagger-sdk ([`7d04ab1`](https://github.com/kjuulh/dagger-sdk/commit/7d04ab1240e497e7804fed23a378d28c78f50a0a))
|
||||
</details>
|
||||
|
||||
## v0.2.3 (2023-02-19)
|
||||
@@ -587,10 +704,10 @@ Alignment release
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **Uncategorized**
|
||||
- Release dagger-sdk v0.2.3, dagger-codegen v0.2.3, dagger-rs v0.2.9 ([`9235030`](https://github.com/kjuulh/dagger-rs/commit/92350306b3f0da40b4fc6dcaffcd90b891e83f70))
|
||||
- re-export through lib.rs ([`19ed6c2`](https://github.com/kjuulh/dagger-rs/commit/19ed6c267f779b72430422c463ceed553f6fc618))
|
||||
- with return result instead of unwrap ([`de063ea`](https://github.com/kjuulh/dagger-rs/commit/de063eae858eb3335d2558a57ee6a88689635200))
|
||||
- remove unnecessary option returns ([`5d66736`](https://github.com/kjuulh/dagger-rs/commit/5d667369900a47d3a6015cd3814c240bc5c54436))
|
||||
- Release dagger-sdk v0.2.3, dagger-codegen v0.2.3, dagger-rs v0.2.9 ([`9235030`](https://github.com/kjuulh/dagger-sdk/commit/92350306b3f0da40b4fc6dcaffcd90b891e83f70))
|
||||
- re-export through lib.rs ([`19ed6c2`](https://github.com/kjuulh/dagger-sdk/commit/19ed6c267f779b72430422c463ceed553f6fc618))
|
||||
- with return result instead of unwrap ([`de063ea`](https://github.com/kjuulh/dagger-sdk/commit/de063eae858eb3335d2558a57ee6a88689635200))
|
||||
- remove unnecessary option returns ([`5d66736`](https://github.com/kjuulh/dagger-sdk/commit/5d667369900a47d3a6015cd3814c240bc5c54436))
|
||||
</details>
|
||||
|
||||
## v0.2.2 (2023-02-19)
|
||||
@@ -618,10 +735,10 @@ Alignment release
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **Uncategorized**
|
||||
- Release dagger-sdk v0.2.2 ([`e921ba1`](https://github.com/kjuulh/dagger-rs/commit/e921ba13638987ccf5beaa48c4be9be5fd879bd0))
|
||||
- Release dagger-core v0.2.2, dagger-codegen v0.2.2, dagger-rs v0.2.8 ([`1638f15`](https://github.com/kjuulh/dagger-rs/commit/1638f15fba9d16512e8452f87b908d6dce417cd9))
|
||||
- fixed fmt errors ([`10bc6f3`](https://github.com/kjuulh/dagger-rs/commit/10bc6f3846b65cc82c2fb343d8cfe921784bef1b))
|
||||
- update to dagger v0.3.12 ([`6e5f407`](https://github.com/kjuulh/dagger-rs/commit/6e5f4074329ab0462445b31d4153f8497c483438))
|
||||
- Release dagger-sdk v0.2.2 ([`e921ba1`](https://github.com/kjuulh/dagger-sdk/commit/e921ba13638987ccf5beaa48c4be9be5fd879bd0))
|
||||
- Release dagger-core v0.2.2, dagger-codegen v0.2.2, dagger-rs v0.2.8 ([`1638f15`](https://github.com/kjuulh/dagger-sdk/commit/1638f15fba9d16512e8452f87b908d6dce417cd9))
|
||||
- fixed fmt errors ([`10bc6f3`](https://github.com/kjuulh/dagger-sdk/commit/10bc6f3846b65cc82c2fb343d8cfe921784bef1b))
|
||||
- update to dagger v0.3.12 ([`6e5f407`](https://github.com/kjuulh/dagger-sdk/commit/6e5f4074329ab0462445b31d4153f8497c483438))
|
||||
</details>
|
||||
|
||||
## v0.2.1 (2023-02-18)
|
||||
@@ -636,7 +753,7 @@ Alignment release
|
||||
|
||||
- 40 commits contributed to the release over the course of 20 calendar days.
|
||||
- 1 commit was understood as [conventional](https://www.conventionalcommits.org).
|
||||
- 2 unique issues were worked on: [#5](https://github.com/kjuulh/dagger-rs/issues/5), [#6](https://github.com/kjuulh/dagger-rs/issues/6)
|
||||
- 2 unique issues were worked on: [#5](https://github.com/kjuulh/dagger-sdk/issues/5), [#6](https://github.com/kjuulh/dagger-sdk/issues/6)
|
||||
|
||||
### Commit Details
|
||||
|
||||
@@ -644,48 +761,48 @@ Alignment release
|
||||
|
||||
<details><summary>view details</summary>
|
||||
|
||||
* **[#5](https://github.com/kjuulh/dagger-rs/issues/5)**
|
||||
- update all dependencies ([`789b0e6`](https://github.com/kjuulh/dagger-rs/commit/789b0e69c8c53d0e86d9cec89ab5345507aad514))
|
||||
* **[#6](https://github.com/kjuulh/dagger-rs/issues/6)**
|
||||
- feature/add impl ([`4a4c03f`](https://github.com/kjuulh/dagger-rs/commit/4a4c03f3c2ee7f6268c65976715e70767b4ea78d))
|
||||
* **[#5](https://github.com/kjuulh/dagger-sdk/issues/5)**
|
||||
- update all dependencies ([`789b0e6`](https://github.com/kjuulh/dagger-sdk/commit/789b0e69c8c53d0e86d9cec89ab5345507aad514))
|
||||
* **[#6](https://github.com/kjuulh/dagger-sdk/issues/6)**
|
||||
- feature/add impl ([`4a4c03f`](https://github.com/kjuulh/dagger-sdk/commit/4a4c03f3c2ee7f6268c65976715e70767b4ea78d))
|
||||
* **Uncategorized**
|
||||
- Release dagger-sdk v0.2.1 ([`aa0c397`](https://github.com/kjuulh/dagger-rs/commit/aa0c397b15566840eb59ca6186c083f631cc460b))
|
||||
- add dagger-sdk changelog ([`11a5247`](https://github.com/kjuulh/dagger-rs/commit/11a5247933736bc6a4c5300c29599c88597fefb7))
|
||||
- Release dagger-rs v0.2.7, dagger-sdk v0.2.1 ([`20c7118`](https://github.com/kjuulh/dagger-rs/commit/20c71189f6d5d978286ee16f8e958c6045756d80))
|
||||
- Adjusting changelogs prior to release of dagger-core v0.2.1, dagger-codegen v0.2.1, dagger-rs v0.2.1 ([`f4a20fd`](https://github.com/kjuulh/dagger-rs/commit/f4a20fda79063b29829cc899793775ba8cb17214))
|
||||
- with actual versions ([`7153c24`](https://github.com/kjuulh/dagger-rs/commit/7153c24f0105a05f170efd10ef2535d83ce0c87e))
|
||||
- with publish ([`989d5bc`](https://github.com/kjuulh/dagger-rs/commit/989d5bc26036d46a199d939b5cbbe72aff2f8fb1))
|
||||
- with repo ([`e5383b5`](https://github.com/kjuulh/dagger-rs/commit/e5383b51f3b290a87b729929c377e93bda3873e0))
|
||||
- with wildcard version ([`533b9df`](https://github.com/kjuulh/dagger-rs/commit/533b9dfef0165c514127a8437d08daf52adf5739))
|
||||
- cargo version 0.2.0 ([`bec62de`](https://github.com/kjuulh/dagger-rs/commit/bec62de62ff5638428174e232a36eee3ddd0f5ef))
|
||||
- bump version ([`36b0ecd`](https://github.com/kjuulh/dagger-rs/commit/36b0ecdabf4c220cffb2d0660fb6480387e3249a))
|
||||
- document usage ([`578c2a6`](https://github.com/kjuulh/dagger-rs/commit/578c2a68830eb40da888823a8770af4a764ed4c7))
|
||||
- fix all clippy ([`6be8482`](https://github.com/kjuulh/dagger-rs/commit/6be8482b461e098384bbf1371ed7d67b259197fa))
|
||||
- add with dockerfile ([`0cbd179`](https://github.com/kjuulh/dagger-rs/commit/0cbd1790b0b4030c68f0a0dd619325da26f14f60))
|
||||
- with caching ([`728840c`](https://github.com/kjuulh/dagger-rs/commit/728840ca8e48b8bec66da4e5fa677bfa60d1d147))
|
||||
- add more quickstart ([`59e2572`](https://github.com/kjuulh/dagger-rs/commit/59e2572173872c8091a0613a387a01e0cccc51bf))
|
||||
- build the application ([`d894def`](https://github.com/kjuulh/dagger-rs/commit/d894def70c85ff2fc567bf614e3be6f4134965e2))
|
||||
- add test-the-application ([`cb9a4dd`](https://github.com/kjuulh/dagger-rs/commit/cb9a4dd84fc13ef03ca3ad539646e95c3c047676))
|
||||
- with println ([`d1726a0`](https://github.com/kjuulh/dagger-rs/commit/d1726a052a6dc4e57f364864446cab3cbda7e0bf))
|
||||
- unpack response ([`3b5b59b`](https://github.com/kjuulh/dagger-rs/commit/3b5b59ba1c20cc68218dc5c0af18ff7a78f6953d))
|
||||
- tested full flow initially ([`7a008be`](https://github.com/kjuulh/dagger-rs/commit/7a008be59e5ca183809e5840cdfae1d87665aa20))
|
||||
- move code to dagger-core ([`ec0d0b2`](https://github.com/kjuulh/dagger-rs/commit/ec0d0b22e646c97acb3ce93f3afb3ddb8590e68f))
|
||||
- with selection impl default ([`9f0021b`](https://github.com/kjuulh/dagger-rs/commit/9f0021b7086046c80b3f455f205149e03eb72da2))
|
||||
- fix warnings ([`2b49f9c`](https://github.com/kjuulh/dagger-rs/commit/2b49f9c19098d96df2bb735253710774b0831c94))
|
||||
- fix test ([`03366b7`](https://github.com/kjuulh/dagger-rs/commit/03366b7c5b3cce5ec42b5c7655843170236c56a1))
|
||||
- test marshaller ([`c5dfceb`](https://github.com/kjuulh/dagger-rs/commit/c5dfcebaad9c255b10ba8c6e4d4dba00821c8941))
|
||||
- test marshaller ([`c4ec6f0`](https://github.com/kjuulh/dagger-rs/commit/c4ec6f0c976ce0af2e05e818731b5e2bed7f0522))
|
||||
- implement sort by name and type ([`d9b51c1`](https://github.com/kjuulh/dagger-rs/commit/d9b51c1ac90c00fb3af24332b6140e1201bc9be7))
|
||||
- fix optional types for real ([`26069a8`](https://github.com/kjuulh/dagger-rs/commit/26069a82a69ec7265216c8ddaceb37228dd0fb81))
|
||||
- fix description ([`f4581ba`](https://github.com/kjuulh/dagger-rs/commit/f4581ba4cd1693a906eaf6c58054398ceae3bfac))
|
||||
- with proper optional types ([`f4a812a`](https://github.com/kjuulh/dagger-rs/commit/f4a812a7d24e9e09cb4e3cbde56ee0b3ac774b62))
|
||||
- set proper option type ([`8549cfc`](https://github.com/kjuulh/dagger-rs/commit/8549cfc3a7d9f831febaeadc22db36604e465ea8))
|
||||
- add fields ([`496a687`](https://github.com/kjuulh/dagger-rs/commit/496a687bc34f7c58cc86df60c183be741b0b8a9c))
|
||||
- add input_fields ([`d2cddff`](https://github.com/kjuulh/dagger-rs/commit/d2cddff365c636feceb3f20a73df812fcab11a19))
|
||||
- with objects ([`5fef514`](https://github.com/kjuulh/dagger-rs/commit/5fef5148010f384d0158361d64b8e17d357d4819))
|
||||
- with enum ([`2a1f7c3`](https://github.com/kjuulh/dagger-rs/commit/2a1f7c3f2666f1f4caebf7c22707709741c2cfad))
|
||||
- with codegen output ([`0bf6b0e`](https://github.com/kjuulh/dagger-rs/commit/0bf6b0e91ecc31c1f6b51338234137eb185810a0))
|
||||
- split out codegen parts ([`3263f1d`](https://github.com/kjuulh/dagger-rs/commit/3263f1d589aee78065401c666533cb0cbadd06ce))
|
||||
- add dagger-sdk ([`9dccb83`](https://github.com/kjuulh/dagger-rs/commit/9dccb83d94a720dd58deffe9f3e5aaea784336f3))
|
||||
- Release dagger-sdk v0.2.1 ([`aa0c397`](https://github.com/kjuulh/dagger-sdk/commit/aa0c397b15566840eb59ca6186c083f631cc460b))
|
||||
- add dagger-sdk changelog ([`11a5247`](https://github.com/kjuulh/dagger-sdk/commit/11a5247933736bc6a4c5300c29599c88597fefb7))
|
||||
- Release dagger-rs v0.2.7, dagger-sdk v0.2.1 ([`20c7118`](https://github.com/kjuulh/dagger-sdk/commit/20c71189f6d5d978286ee16f8e958c6045756d80))
|
||||
- Adjusting changelogs prior to release of dagger-core v0.2.1, dagger-codegen v0.2.1, dagger-rs v0.2.1 ([`f4a20fd`](https://github.com/kjuulh/dagger-sdk/commit/f4a20fda79063b29829cc899793775ba8cb17214))
|
||||
- with actual versions ([`7153c24`](https://github.com/kjuulh/dagger-sdk/commit/7153c24f0105a05f170efd10ef2535d83ce0c87e))
|
||||
- with publish ([`989d5bc`](https://github.com/kjuulh/dagger-sdk/commit/989d5bc26036d46a199d939b5cbbe72aff2f8fb1))
|
||||
- with repo ([`e5383b5`](https://github.com/kjuulh/dagger-sdk/commit/e5383b51f3b290a87b729929c377e93bda3873e0))
|
||||
- with wildcard version ([`533b9df`](https://github.com/kjuulh/dagger-sdk/commit/533b9dfef0165c514127a8437d08daf52adf5739))
|
||||
- cargo version 0.2.0 ([`bec62de`](https://github.com/kjuulh/dagger-sdk/commit/bec62de62ff5638428174e232a36eee3ddd0f5ef))
|
||||
- bump version ([`36b0ecd`](https://github.com/kjuulh/dagger-sdk/commit/36b0ecdabf4c220cffb2d0660fb6480387e3249a))
|
||||
- document usage ([`578c2a6`](https://github.com/kjuulh/dagger-sdk/commit/578c2a68830eb40da888823a8770af4a764ed4c7))
|
||||
- fix all clippy ([`6be8482`](https://github.com/kjuulh/dagger-sdk/commit/6be8482b461e098384bbf1371ed7d67b259197fa))
|
||||
- add with dockerfile ([`0cbd179`](https://github.com/kjuulh/dagger-sdk/commit/0cbd1790b0b4030c68f0a0dd619325da26f14f60))
|
||||
- with caching ([`728840c`](https://github.com/kjuulh/dagger-sdk/commit/728840ca8e48b8bec66da4e5fa677bfa60d1d147))
|
||||
- add more quickstart ([`59e2572`](https://github.com/kjuulh/dagger-sdk/commit/59e2572173872c8091a0613a387a01e0cccc51bf))
|
||||
- build the application ([`d894def`](https://github.com/kjuulh/dagger-sdk/commit/d894def70c85ff2fc567bf614e3be6f4134965e2))
|
||||
- add test-the-application ([`cb9a4dd`](https://github.com/kjuulh/dagger-sdk/commit/cb9a4dd84fc13ef03ca3ad539646e95c3c047676))
|
||||
- with println ([`d1726a0`](https://github.com/kjuulh/dagger-sdk/commit/d1726a052a6dc4e57f364864446cab3cbda7e0bf))
|
||||
- unpack response ([`3b5b59b`](https://github.com/kjuulh/dagger-sdk/commit/3b5b59ba1c20cc68218dc5c0af18ff7a78f6953d))
|
||||
- tested full flow initially ([`7a008be`](https://github.com/kjuulh/dagger-sdk/commit/7a008be59e5ca183809e5840cdfae1d87665aa20))
|
||||
- move code to dagger-core ([`ec0d0b2`](https://github.com/kjuulh/dagger-sdk/commit/ec0d0b22e646c97acb3ce93f3afb3ddb8590e68f))
|
||||
- with selection impl default ([`9f0021b`](https://github.com/kjuulh/dagger-sdk/commit/9f0021b7086046c80b3f455f205149e03eb72da2))
|
||||
- fix warnings ([`2b49f9c`](https://github.com/kjuulh/dagger-sdk/commit/2b49f9c19098d96df2bb735253710774b0831c94))
|
||||
- fix test ([`03366b7`](https://github.com/kjuulh/dagger-sdk/commit/03366b7c5b3cce5ec42b5c7655843170236c56a1))
|
||||
- test marshaller ([`c5dfceb`](https://github.com/kjuulh/dagger-sdk/commit/c5dfcebaad9c255b10ba8c6e4d4dba00821c8941))
|
||||
- test marshaller ([`c4ec6f0`](https://github.com/kjuulh/dagger-sdk/commit/c4ec6f0c976ce0af2e05e818731b5e2bed7f0522))
|
||||
- implement sort by name and type ([`d9b51c1`](https://github.com/kjuulh/dagger-sdk/commit/d9b51c1ac90c00fb3af24332b6140e1201bc9be7))
|
||||
- fix optional types for real ([`26069a8`](https://github.com/kjuulh/dagger-sdk/commit/26069a82a69ec7265216c8ddaceb37228dd0fb81))
|
||||
- fix description ([`f4581ba`](https://github.com/kjuulh/dagger-sdk/commit/f4581ba4cd1693a906eaf6c58054398ceae3bfac))
|
||||
- with proper optional types ([`f4a812a`](https://github.com/kjuulh/dagger-sdk/commit/f4a812a7d24e9e09cb4e3cbde56ee0b3ac774b62))
|
||||
- set proper option type ([`8549cfc`](https://github.com/kjuulh/dagger-sdk/commit/8549cfc3a7d9f831febaeadc22db36604e465ea8))
|
||||
- add fields ([`496a687`](https://github.com/kjuulh/dagger-sdk/commit/496a687bc34f7c58cc86df60c183be741b0b8a9c))
|
||||
- add input_fields ([`d2cddff`](https://github.com/kjuulh/dagger-sdk/commit/d2cddff365c636feceb3f20a73df812fcab11a19))
|
||||
- with objects ([`5fef514`](https://github.com/kjuulh/dagger-sdk/commit/5fef5148010f384d0158361d64b8e17d357d4819))
|
||||
- with enum ([`2a1f7c3`](https://github.com/kjuulh/dagger-sdk/commit/2a1f7c3f2666f1f4caebf7c22707709741c2cfad))
|
||||
- with codegen output ([`0bf6b0e`](https://github.com/kjuulh/dagger-sdk/commit/0bf6b0e91ecc31c1f6b51338234137eb185810a0))
|
||||
- split out codegen parts ([`3263f1d`](https://github.com/kjuulh/dagger-sdk/commit/3263f1d589aee78065401c666533cb0cbadd06ce))
|
||||
- add dagger-sdk ([`9dccb83`](https://github.com/kjuulh/dagger-sdk/commit/9dccb83d94a720dd58deffe9f3e5aaea784336f3))
|
||||
</details>
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "dagger-sdk"
|
||||
version = "0.2.19"
|
||||
version = "0.2.22"
|
||||
edition = "2021"
|
||||
readme = "README.md"
|
||||
license-file = "LICENSE.MIT"
|
||||
@@ -11,7 +11,7 @@ publish = true
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
dagger-core = { workspace = true }
|
||||
dagger-core = { workspace = true, version = "^0.2.11" }
|
||||
|
||||
eyre = { workspace = true }
|
||||
tokio = { workspace = true }
|
||||
@@ -19,8 +19,9 @@ serde = { workspace = true }
|
||||
serde_json = { workspace = true }
|
||||
tracing.workspace = true
|
||||
tracing-subscriber.workspace = true
|
||||
thiserror.workspace = true
|
||||
|
||||
futures = "0.3.27"
|
||||
futures = "0.3.28"
|
||||
derive_builder = "0.12.0"
|
||||
|
||||
[dev-dependencies]
|
||||
|
@@ -7,7 +7,7 @@ async fn main() -> eyre::Result<()> {
|
||||
let host_source_dir = client.host().directory_opts(
|
||||
"./examples/caching/app",
|
||||
dagger_sdk::HostDirectoryOptsBuilder::default()
|
||||
.exclude(vec!["node_modules", "ci/"])
|
||||
.exclude(vec!["node_modules/", "ci/"])
|
||||
.build()?,
|
||||
);
|
||||
|
||||
|
@@ -5,23 +5,27 @@ use dagger_core::graphql_client::DefaultGraphQLClient;
|
||||
use dagger_core::config::Config;
|
||||
use dagger_core::engine::Engine as DaggerEngine;
|
||||
|
||||
use crate::errors::ConnectError;
|
||||
use crate::gen::Query;
|
||||
use crate::logging::StdLogger;
|
||||
use crate::querybuilder::query;
|
||||
|
||||
pub type DaggerConn = Arc<Query>;
|
||||
|
||||
pub async fn connect() -> eyre::Result<DaggerConn> {
|
||||
pub async fn connect() -> Result<DaggerConn, ConnectError> {
|
||||
let cfg = Config::new(None, None, None, None, Some(Arc::new(StdLogger::default())));
|
||||
|
||||
connect_opts(cfg).await
|
||||
}
|
||||
|
||||
pub async fn connect_opts(cfg: Config) -> eyre::Result<DaggerConn> {
|
||||
let (conn, proc) = DaggerEngine::new().start(&cfg).await?;
|
||||
pub async fn connect_opts(cfg: Config) -> Result<DaggerConn, ConnectError> {
|
||||
let (conn, proc) = DaggerEngine::new()
|
||||
.start(&cfg)
|
||||
.await
|
||||
.map_err(ConnectError::FailedToConnect)?;
|
||||
|
||||
Ok(Arc::new(Query {
|
||||
proc: Arc::new(proc),
|
||||
proc: proc.map(|p| Arc::new(p)),
|
||||
selection: query(),
|
||||
graphql_client: Arc::new(DefaultGraphQLClient::new(&conn)),
|
||||
}))
|
||||
|
27
crates/dagger-sdk/src/errors.rs
Normal file
27
crates/dagger-sdk/src/errors.rs
Normal file
@@ -0,0 +1,27 @@
|
||||
use thiserror::Error;
|
||||
|
||||
#[derive(Error, Debug)]
|
||||
pub enum ConnectError {
|
||||
#[error("failed to connect to dagger engine")]
|
||||
FailedToConnect(#[source] eyre::Error),
|
||||
}
|
||||
|
||||
#[derive(Error, Debug)]
|
||||
pub enum DaggerError {
|
||||
#[error("failed to build dagger internal graph")]
|
||||
Build(#[source] eyre::Error),
|
||||
#[error("failed to parse input type")]
|
||||
Serialize(#[source] eyre::Error),
|
||||
#[error("failed to query dagger engine: {0}")]
|
||||
Query(#[source] dagger_core::graphql_client::GraphQLError),
|
||||
#[error("failed to unpack response")]
|
||||
Unpack(#[source] DaggerUnpackError),
|
||||
}
|
||||
|
||||
#[derive(Error, Debug)]
|
||||
pub enum DaggerUnpackError {
|
||||
#[error("Too many nested objects inside graphql response")]
|
||||
TooManyNestedObjects,
|
||||
#[error("failed to deserialize response")]
|
||||
Deserialize(#[source] serde_json::Error),
|
||||
}
|
@@ -1,3 +1,4 @@
|
||||
use crate::errors::DaggerError;
|
||||
use crate::querybuilder::Selection;
|
||||
use dagger_core::graphql_client::DynGraphQLClient;
|
||||
use derive_builder::Builder;
|
||||
@@ -115,13 +116,13 @@ pub struct PipelineLabel {
|
||||
}
|
||||
#[derive(Clone)]
|
||||
pub struct CacheVolume {
|
||||
pub proc: Arc<Child>,
|
||||
pub proc: Option<Arc<Child>>,
|
||||
pub selection: Selection,
|
||||
pub graphql_client: DynGraphQLClient,
|
||||
}
|
||||
|
||||
impl CacheVolume {
|
||||
pub async fn id(&self) -> eyre::Result<CacheId> {
|
||||
pub async fn id(&self) -> Result<CacheId, DaggerError> {
|
||||
let query = self.selection.select("id");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
@@ -129,7 +130,7 @@ impl CacheVolume {
|
||||
}
|
||||
#[derive(Clone)]
|
||||
pub struct Container {
|
||||
pub proc: Arc<Child>,
|
||||
pub proc: Option<Arc<Child>>,
|
||||
pub selection: Selection,
|
||||
pub graphql_client: DynGraphQLClient,
|
||||
}
|
||||
@@ -143,6 +144,10 @@ pub struct ContainerBuildOpts<'a> {
|
||||
/// Default: './Dockerfile'.
|
||||
#[builder(setter(into, strip_option), default)]
|
||||
pub dockerfile: Option<&'a str>,
|
||||
/// Secrets to pass to the build.
|
||||
/// They will be mounted at /run/secrets/[secret-name].
|
||||
#[builder(setter(into, strip_option), default)]
|
||||
pub secrets: Option<Vec<SecretId>>,
|
||||
/// Target build stage to build.
|
||||
#[builder(setter(into, strip_option), default)]
|
||||
pub target: Option<&'a str>,
|
||||
@@ -184,6 +189,13 @@ pub struct ContainerExportOpts {
|
||||
pub platform_variants: Option<Vec<ContainerId>>,
|
||||
}
|
||||
#[derive(Builder, Debug, PartialEq)]
|
||||
pub struct ContainerImportOpts<'a> {
|
||||
/// Identifies the tag to import from the archive, if the archive bundles
|
||||
/// multiple tags.
|
||||
#[builder(setter(into, strip_option), default)]
|
||||
pub tag: Option<&'a str>,
|
||||
}
|
||||
#[derive(Builder, Debug, PartialEq)]
|
||||
pub struct ContainerPipelineOpts<'a> {
|
||||
/// Pipeline description.
|
||||
#[builder(setter(into, strip_option), default)]
|
||||
@@ -213,6 +225,11 @@ pub struct ContainerWithDirectoryOpts<'a> {
|
||||
/// Patterns to include in the written directory (e.g., ["*.go", "go.mod", "go.sum"]).
|
||||
#[builder(setter(into, strip_option), default)]
|
||||
pub include: Option<Vec<&'a str>>,
|
||||
/// A user:group to set for the directory and its contents.
|
||||
/// The user and group can either be an ID (1000:1000) or a name (foo:bar).
|
||||
/// If the group is omitted, it defaults to the same as the user.
|
||||
#[builder(setter(into, strip_option), default)]
|
||||
pub owner: Option<&'a str>,
|
||||
}
|
||||
#[derive(Builder, Debug, PartialEq)]
|
||||
pub struct ContainerWithExecOpts<'a> {
|
||||
@@ -233,6 +250,9 @@ pub struct ContainerWithExecOpts<'a> {
|
||||
/// Redirect the command's standard output to a file in the container (e.g., "/tmp/stdout").
|
||||
#[builder(setter(into, strip_option), default)]
|
||||
pub redirect_stdout: Option<&'a str>,
|
||||
/// If the container has an entrypoint, ignore it for args rather than using it to wrap them.
|
||||
#[builder(setter(into, strip_option), default)]
|
||||
pub skip_entrypoint: Option<bool>,
|
||||
/// Content to write to the command's standard input before closing (e.g., "Hello world").
|
||||
#[builder(setter(into, strip_option), default)]
|
||||
pub stdin: Option<&'a str>,
|
||||
@@ -247,14 +267,27 @@ pub struct ContainerWithExposedPortOpts<'a> {
|
||||
pub protocol: Option<NetworkProtocol>,
|
||||
}
|
||||
#[derive(Builder, Debug, PartialEq)]
|
||||
pub struct ContainerWithFileOpts {
|
||||
pub struct ContainerWithFileOpts<'a> {
|
||||
/// A user:group to set for the file.
|
||||
/// The user and group can either be an ID (1000:1000) or a name (foo:bar).
|
||||
/// If the group is omitted, it defaults to the same as the user.
|
||||
#[builder(setter(into, strip_option), default)]
|
||||
pub owner: Option<&'a str>,
|
||||
/// Permission given to the copied file (e.g., 0600).
|
||||
/// Default: 0644.
|
||||
#[builder(setter(into, strip_option), default)]
|
||||
pub permissions: Option<isize>,
|
||||
}
|
||||
#[derive(Builder, Debug, PartialEq)]
|
||||
pub struct ContainerWithMountedCacheOpts {
|
||||
pub struct ContainerWithMountedCacheOpts<'a> {
|
||||
/// A user:group to set for the mounted cache directory.
|
||||
/// Note that this changes the ownership of the specified mount along with the
|
||||
/// initial filesystem provided by source (if any). It does not have any effect
|
||||
/// if/when the cache has already been created.
|
||||
/// The user and group can either be an ID (1000:1000) or a name (foo:bar).
|
||||
/// If the group is omitted, it defaults to the same as the user.
|
||||
#[builder(setter(into, strip_option), default)]
|
||||
pub owner: Option<&'a str>,
|
||||
/// Sharing mode of the cache volume.
|
||||
#[builder(setter(into, strip_option), default)]
|
||||
pub sharing: Option<CacheSharingMode>,
|
||||
@@ -263,16 +296,53 @@ pub struct ContainerWithMountedCacheOpts {
|
||||
pub source: Option<DirectoryId>,
|
||||
}
|
||||
#[derive(Builder, Debug, PartialEq)]
|
||||
pub struct ContainerWithMountedDirectoryOpts<'a> {
|
||||
/// A user:group to set for the mounted directory and its contents.
|
||||
/// The user and group can either be an ID (1000:1000) or a name (foo:bar).
|
||||
/// If the group is omitted, it defaults to the same as the user.
|
||||
#[builder(setter(into, strip_option), default)]
|
||||
pub owner: Option<&'a str>,
|
||||
}
|
||||
#[derive(Builder, Debug, PartialEq)]
|
||||
pub struct ContainerWithMountedFileOpts<'a> {
|
||||
/// A user or user:group to set for the mounted file.
|
||||
/// The user and group can either be an ID (1000:1000) or a name (foo:bar).
|
||||
/// If the group is omitted, it defaults to the same as the user.
|
||||
#[builder(setter(into, strip_option), default)]
|
||||
pub owner: Option<&'a str>,
|
||||
}
|
||||
#[derive(Builder, Debug, PartialEq)]
|
||||
pub struct ContainerWithMountedSecretOpts<'a> {
|
||||
/// A user:group to set for the mounted secret.
|
||||
/// The user and group can either be an ID (1000:1000) or a name (foo:bar).
|
||||
/// If the group is omitted, it defaults to the same as the user.
|
||||
#[builder(setter(into, strip_option), default)]
|
||||
pub owner: Option<&'a str>,
|
||||
}
|
||||
#[derive(Builder, Debug, PartialEq)]
|
||||
pub struct ContainerWithNewFileOpts<'a> {
|
||||
/// Content of the file to write (e.g., "Hello world!").
|
||||
#[builder(setter(into, strip_option), default)]
|
||||
pub contents: Option<&'a str>,
|
||||
/// A user:group to set for the file.
|
||||
/// The user and group can either be an ID (1000:1000) or a name (foo:bar).
|
||||
/// If the group is omitted, it defaults to the same as the user.
|
||||
#[builder(setter(into, strip_option), default)]
|
||||
pub owner: Option<&'a str>,
|
||||
/// Permission given to the written file (e.g., 0600).
|
||||
/// Default: 0644.
|
||||
#[builder(setter(into, strip_option), default)]
|
||||
pub permissions: Option<isize>,
|
||||
}
|
||||
#[derive(Builder, Debug, PartialEq)]
|
||||
pub struct ContainerWithUnixSocketOpts<'a> {
|
||||
/// A user:group to set for the mounted socket.
|
||||
/// The user and group can either be an ID (1000:1000) or a name (foo:bar).
|
||||
/// If the group is omitted, it defaults to the same as the user.
|
||||
#[builder(setter(into, strip_option), default)]
|
||||
pub owner: Option<&'a str>,
|
||||
}
|
||||
#[derive(Builder, Debug, PartialEq)]
|
||||
pub struct ContainerWithoutExposedPortOpts {
|
||||
/// Port protocol to unexpose
|
||||
#[builder(setter(into, strip_option), default)]
|
||||
@@ -317,6 +387,9 @@ impl Container {
|
||||
if let Some(target) = opts.target {
|
||||
query = query.arg("target", target);
|
||||
}
|
||||
if let Some(secrets) = opts.secrets {
|
||||
query = query.arg("secrets", secrets);
|
||||
}
|
||||
|
||||
return Container {
|
||||
proc: self.proc.clone(),
|
||||
@@ -325,7 +398,7 @@ impl Container {
|
||||
};
|
||||
}
|
||||
/// Retrieves default arguments for future commands.
|
||||
pub async fn default_args(&self) -> eyre::Result<Vec<String>> {
|
||||
pub async fn default_args(&self) -> Result<Vec<String>, DaggerError> {
|
||||
let query = self.selection.select("defaultArgs");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
@@ -355,7 +428,7 @@ impl Container {
|
||||
/// # Arguments
|
||||
///
|
||||
/// * `opt` - optional argument, see inner type for documentation, use <func>_opts to use
|
||||
pub async fn endpoint(&self) -> eyre::Result<String> {
|
||||
pub async fn endpoint(&self) -> Result<String, DaggerError> {
|
||||
let query = self.selection.select("endpoint");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
@@ -369,7 +442,10 @@ impl Container {
|
||||
/// # Arguments
|
||||
///
|
||||
/// * `opt` - optional argument, see inner type for documentation, use <func>_opts to use
|
||||
pub async fn endpoint_opts<'a>(&self, opts: ContainerEndpointOpts<'a>) -> eyre::Result<String> {
|
||||
pub async fn endpoint_opts<'a>(
|
||||
&self,
|
||||
opts: ContainerEndpointOpts<'a>,
|
||||
) -> Result<String, DaggerError> {
|
||||
let mut query = self.selection.select("endpoint");
|
||||
|
||||
if let Some(port) = opts.port {
|
||||
@@ -382,7 +458,7 @@ impl Container {
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
}
|
||||
/// Retrieves entrypoint to be prepended to the arguments of all commands.
|
||||
pub async fn entrypoint(&self) -> eyre::Result<Vec<String>> {
|
||||
pub async fn entrypoint(&self) -> Result<Vec<String>, DaggerError> {
|
||||
let query = self.selection.select("entrypoint");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
@@ -392,7 +468,7 @@ impl Container {
|
||||
/// # Arguments
|
||||
///
|
||||
/// * `name` - The name of the environment variable to retrieve (e.g., "PATH").
|
||||
pub async fn env_variable(&self, name: impl Into<String>) -> eyre::Result<String> {
|
||||
pub async fn env_variable(&self, name: impl Into<String>) -> Result<String, DaggerError> {
|
||||
let mut query = self.selection.select("envVariable");
|
||||
|
||||
query = query.arg("name", name.into());
|
||||
@@ -458,8 +534,8 @@ impl Container {
|
||||
};
|
||||
}
|
||||
/// Exit code of the last executed command. Zero means success.
|
||||
/// Errors if no command has been executed.
|
||||
pub async fn exit_code(&self) -> eyre::Result<isize> {
|
||||
/// Will execute default command if none is set, or error if there's no default.
|
||||
pub async fn exit_code(&self) -> Result<isize, DaggerError> {
|
||||
let query = self.selection.select("exitCode");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
@@ -473,7 +549,7 @@ impl Container {
|
||||
/// * `path` - Host's destination path (e.g., "./tarball").
|
||||
/// Path can be relative to the engine's workdir or absolute.
|
||||
/// * `opt` - optional argument, see inner type for documentation, use <func>_opts to use
|
||||
pub async fn export(&self, path: impl Into<String>) -> eyre::Result<bool> {
|
||||
pub async fn export(&self, path: impl Into<String>) -> Result<bool, DaggerError> {
|
||||
let mut query = self.selection.select("export");
|
||||
|
||||
query = query.arg("path", path.into());
|
||||
@@ -494,7 +570,7 @@ impl Container {
|
||||
&self,
|
||||
path: impl Into<String>,
|
||||
opts: ContainerExportOpts,
|
||||
) -> eyre::Result<bool> {
|
||||
) -> Result<bool, DaggerError> {
|
||||
let mut query = self.selection.select("export");
|
||||
|
||||
query = query.arg("path", path.into());
|
||||
@@ -562,25 +638,67 @@ impl Container {
|
||||
}
|
||||
/// Retrieves a hostname which can be used by clients to reach this container.
|
||||
/// Currently experimental; set _EXPERIMENTAL_DAGGER_SERVICES_DNS=0 to disable.
|
||||
pub async fn hostname(&self) -> eyre::Result<String> {
|
||||
pub async fn hostname(&self) -> Result<String, DaggerError> {
|
||||
let query = self.selection.select("hostname");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
}
|
||||
/// A unique identifier for this container.
|
||||
pub async fn id(&self) -> eyre::Result<ContainerId> {
|
||||
pub async fn id(&self) -> Result<ContainerId, DaggerError> {
|
||||
let query = self.selection.select("id");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
}
|
||||
/// The unique image reference which can only be retrieved immediately after the 'Container.From' call.
|
||||
pub async fn image_ref(&self) -> eyre::Result<String> {
|
||||
pub async fn image_ref(&self) -> Result<String, DaggerError> {
|
||||
let query = self.selection.select("imageRef");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
}
|
||||
/// Reads the container from an OCI tarball.
|
||||
/// NOTE: this involves unpacking the tarball to an OCI store on the host at
|
||||
/// $XDG_CACHE_DIR/dagger/oci. This directory can be removed whenever you like.
|
||||
///
|
||||
/// # Arguments
|
||||
///
|
||||
/// * `source` - File to read the container from.
|
||||
/// * `opt` - optional argument, see inner type for documentation, use <func>_opts to use
|
||||
pub fn import(&self, source: FileId) -> Container {
|
||||
let mut query = self.selection.select("import");
|
||||
|
||||
query = query.arg("source", source);
|
||||
|
||||
return Container {
|
||||
proc: self.proc.clone(),
|
||||
selection: query,
|
||||
graphql_client: self.graphql_client.clone(),
|
||||
};
|
||||
}
|
||||
|
||||
/// Reads the container from an OCI tarball.
|
||||
/// NOTE: this involves unpacking the tarball to an OCI store on the host at
|
||||
/// $XDG_CACHE_DIR/dagger/oci. This directory can be removed whenever you like.
|
||||
///
|
||||
/// # Arguments
|
||||
///
|
||||
/// * `source` - File to read the container from.
|
||||
/// * `opt` - optional argument, see inner type for documentation, use <func>_opts to use
|
||||
pub fn import_opts<'a>(&self, source: FileId, opts: ContainerImportOpts<'a>) -> Container {
|
||||
let mut query = self.selection.select("import");
|
||||
|
||||
query = query.arg("source", source);
|
||||
if let Some(tag) = opts.tag {
|
||||
query = query.arg("tag", tag);
|
||||
}
|
||||
|
||||
return Container {
|
||||
proc: self.proc.clone(),
|
||||
selection: query,
|
||||
graphql_client: self.graphql_client.clone(),
|
||||
};
|
||||
}
|
||||
/// Retrieves the value of the specified label.
|
||||
pub async fn label(&self, name: impl Into<String>) -> eyre::Result<String> {
|
||||
pub async fn label(&self, name: impl Into<String>) -> Result<String, DaggerError> {
|
||||
let mut query = self.selection.select("label");
|
||||
|
||||
query = query.arg("name", name.into());
|
||||
@@ -598,7 +716,7 @@ impl Container {
|
||||
}];
|
||||
}
|
||||
/// Retrieves the list of paths where a directory is mounted.
|
||||
pub async fn mounts(&self) -> eyre::Result<Vec<String>> {
|
||||
pub async fn mounts(&self) -> Result<Vec<String>, DaggerError> {
|
||||
let query = self.selection.select("mounts");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
@@ -649,7 +767,7 @@ impl Container {
|
||||
};
|
||||
}
|
||||
/// The platform this container executes and publishes as.
|
||||
pub async fn platform(&self) -> eyre::Result<Platform> {
|
||||
pub async fn platform(&self) -> Result<Platform, DaggerError> {
|
||||
let query = self.selection.select("platform");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
@@ -664,7 +782,7 @@ impl Container {
|
||||
///
|
||||
/// Formatted as [host]/[user]/[repo]:[tag] (e.g. "docker.io/dagger/dagger:main").
|
||||
/// * `opt` - optional argument, see inner type for documentation, use <func>_opts to use
|
||||
pub async fn publish(&self, address: impl Into<String>) -> eyre::Result<String> {
|
||||
pub async fn publish(&self, address: impl Into<String>) -> Result<String, DaggerError> {
|
||||
let mut query = self.selection.select("publish");
|
||||
|
||||
query = query.arg("address", address.into());
|
||||
@@ -686,7 +804,7 @@ impl Container {
|
||||
&self,
|
||||
address: impl Into<String>,
|
||||
opts: ContainerPublishOpts,
|
||||
) -> eyre::Result<String> {
|
||||
) -> Result<String, DaggerError> {
|
||||
let mut query = self.selection.select("publish");
|
||||
|
||||
query = query.arg("address", address.into());
|
||||
@@ -707,21 +825,21 @@ impl Container {
|
||||
};
|
||||
}
|
||||
/// The error stream of the last executed command.
|
||||
/// Errors if no command has been executed.
|
||||
pub async fn stderr(&self) -> eyre::Result<String> {
|
||||
/// Will execute default command if none is set, or error if there's no default.
|
||||
pub async fn stderr(&self) -> Result<String, DaggerError> {
|
||||
let query = self.selection.select("stderr");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
}
|
||||
/// The output stream of the last executed command.
|
||||
/// Errors if no command has been executed.
|
||||
pub async fn stdout(&self) -> eyre::Result<String> {
|
||||
/// Will execute default command if none is set, or error if there's no default.
|
||||
pub async fn stdout(&self) -> Result<String, DaggerError> {
|
||||
let query = self.selection.select("stdout");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
}
|
||||
/// Retrieves the user to be set for all commands.
|
||||
pub async fn user(&self) -> eyre::Result<String> {
|
||||
pub async fn user(&self) -> Result<String, DaggerError> {
|
||||
let query = self.selection.select("user");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
@@ -802,6 +920,9 @@ impl Container {
|
||||
if let Some(include) = opts.include {
|
||||
query = query.arg("include", include);
|
||||
}
|
||||
if let Some(owner) = opts.owner {
|
||||
query = query.arg("owner", owner);
|
||||
}
|
||||
|
||||
return Container {
|
||||
proc: self.proc.clone(),
|
||||
@@ -855,6 +976,8 @@ impl Container {
|
||||
/// # Arguments
|
||||
///
|
||||
/// * `args` - Command to run instead of the container's default command (e.g., ["run", "main.go"]).
|
||||
///
|
||||
/// If empty, the container's default command is used.
|
||||
/// * `opt` - optional argument, see inner type for documentation, use <func>_opts to use
|
||||
pub fn with_exec(&self, args: Vec<impl Into<String>>) -> Container {
|
||||
let mut query = self.selection.select("withExec");
|
||||
@@ -876,6 +999,8 @@ impl Container {
|
||||
/// # Arguments
|
||||
///
|
||||
/// * `args` - Command to run instead of the container's default command (e.g., ["run", "main.go"]).
|
||||
///
|
||||
/// If empty, the container's default command is used.
|
||||
/// * `opt` - optional argument, see inner type for documentation, use <func>_opts to use
|
||||
pub fn with_exec_opts<'a>(
|
||||
&self,
|
||||
@@ -888,6 +1013,9 @@ impl Container {
|
||||
"args",
|
||||
args.into_iter().map(|i| i.into()).collect::<Vec<String>>(),
|
||||
);
|
||||
if let Some(skip_entrypoint) = opts.skip_entrypoint {
|
||||
query = query.arg("skipEntrypoint", skip_entrypoint);
|
||||
}
|
||||
if let Some(stdin) = opts.stdin {
|
||||
query = query.arg("stdin", stdin);
|
||||
}
|
||||
@@ -1005,11 +1133,11 @@ impl Container {
|
||||
/// * `path` - Location of the copied file (e.g., "/tmp/file.txt").
|
||||
/// * `source` - Identifier of the file to copy.
|
||||
/// * `opt` - optional argument, see inner type for documentation, use <func>_opts to use
|
||||
pub fn with_file_opts(
|
||||
pub fn with_file_opts<'a>(
|
||||
&self,
|
||||
path: impl Into<String>,
|
||||
source: FileId,
|
||||
opts: ContainerWithFileOpts,
|
||||
opts: ContainerWithFileOpts<'a>,
|
||||
) -> Container {
|
||||
let mut query = self.selection.select("withFile");
|
||||
|
||||
@@ -1018,6 +1146,9 @@ impl Container {
|
||||
if let Some(permissions) = opts.permissions {
|
||||
query = query.arg("permissions", permissions);
|
||||
}
|
||||
if let Some(owner) = opts.owner {
|
||||
query = query.arg("owner", owner);
|
||||
}
|
||||
|
||||
return Container {
|
||||
proc: self.proc.clone(),
|
||||
@@ -1070,11 +1201,11 @@ impl Container {
|
||||
/// * `path` - Location of the cache directory (e.g., "/cache/node_modules").
|
||||
/// * `cache` - Identifier of the cache volume to mount.
|
||||
/// * `opt` - optional argument, see inner type for documentation, use <func>_opts to use
|
||||
pub fn with_mounted_cache_opts(
|
||||
pub fn with_mounted_cache_opts<'a>(
|
||||
&self,
|
||||
path: impl Into<String>,
|
||||
cache: CacheId,
|
||||
opts: ContainerWithMountedCacheOpts,
|
||||
opts: ContainerWithMountedCacheOpts<'a>,
|
||||
) -> Container {
|
||||
let mut query = self.selection.select("withMountedCache");
|
||||
|
||||
@@ -1086,6 +1217,9 @@ impl Container {
|
||||
if let Some(sharing) = opts.sharing {
|
||||
query = query.arg_enum("sharing", sharing);
|
||||
}
|
||||
if let Some(owner) = opts.owner {
|
||||
query = query.arg("owner", owner);
|
||||
}
|
||||
|
||||
return Container {
|
||||
proc: self.proc.clone(),
|
||||
@@ -1099,6 +1233,7 @@ impl Container {
|
||||
///
|
||||
/// * `path` - Location of the mounted directory (e.g., "/mnt/directory").
|
||||
/// * `source` - Identifier of the mounted directory.
|
||||
/// * `opt` - optional argument, see inner type for documentation, use <func>_opts to use
|
||||
pub fn with_mounted_directory(
|
||||
&self,
|
||||
path: impl Into<String>,
|
||||
@@ -1115,12 +1250,41 @@ impl Container {
|
||||
graphql_client: self.graphql_client.clone(),
|
||||
};
|
||||
}
|
||||
|
||||
/// Retrieves this container plus a directory mounted at the given path.
|
||||
///
|
||||
/// # Arguments
|
||||
///
|
||||
/// * `path` - Location of the mounted directory (e.g., "/mnt/directory").
|
||||
/// * `source` - Identifier of the mounted directory.
|
||||
/// * `opt` - optional argument, see inner type for documentation, use <func>_opts to use
|
||||
pub fn with_mounted_directory_opts<'a>(
|
||||
&self,
|
||||
path: impl Into<String>,
|
||||
source: DirectoryId,
|
||||
opts: ContainerWithMountedDirectoryOpts<'a>,
|
||||
) -> Container {
|
||||
let mut query = self.selection.select("withMountedDirectory");
|
||||
|
||||
query = query.arg("path", path.into());
|
||||
query = query.arg("source", source);
|
||||
if let Some(owner) = opts.owner {
|
||||
query = query.arg("owner", owner);
|
||||
}
|
||||
|
||||
return Container {
|
||||
proc: self.proc.clone(),
|
||||
selection: query,
|
||||
graphql_client: self.graphql_client.clone(),
|
||||
};
|
||||
}
|
||||
/// Retrieves this container plus a file mounted at the given path.
|
||||
///
|
||||
/// # Arguments
|
||||
///
|
||||
/// * `path` - Location of the mounted file (e.g., "/tmp/file.txt").
|
||||
/// * `source` - Identifier of the mounted file.
|
||||
/// * `opt` - optional argument, see inner type for documentation, use <func>_opts to use
|
||||
pub fn with_mounted_file(&self, path: impl Into<String>, source: FileId) -> Container {
|
||||
let mut query = self.selection.select("withMountedFile");
|
||||
|
||||
@@ -1133,12 +1297,41 @@ impl Container {
|
||||
graphql_client: self.graphql_client.clone(),
|
||||
};
|
||||
}
|
||||
|
||||
/// Retrieves this container plus a file mounted at the given path.
|
||||
///
|
||||
/// # Arguments
|
||||
///
|
||||
/// * `path` - Location of the mounted file (e.g., "/tmp/file.txt").
|
||||
/// * `source` - Identifier of the mounted file.
|
||||
/// * `opt` - optional argument, see inner type for documentation, use <func>_opts to use
|
||||
pub fn with_mounted_file_opts<'a>(
|
||||
&self,
|
||||
path: impl Into<String>,
|
||||
source: FileId,
|
||||
opts: ContainerWithMountedFileOpts<'a>,
|
||||
) -> Container {
|
||||
let mut query = self.selection.select("withMountedFile");
|
||||
|
||||
query = query.arg("path", path.into());
|
||||
query = query.arg("source", source);
|
||||
if let Some(owner) = opts.owner {
|
||||
query = query.arg("owner", owner);
|
||||
}
|
||||
|
||||
return Container {
|
||||
proc: self.proc.clone(),
|
||||
selection: query,
|
||||
graphql_client: self.graphql_client.clone(),
|
||||
};
|
||||
}
|
||||
/// Retrieves this container plus a secret mounted into a file at the given path.
|
||||
///
|
||||
/// # Arguments
|
||||
///
|
||||
/// * `path` - Location of the secret file (e.g., "/tmp/secret.txt").
|
||||
/// * `source` - Identifier of the secret to mount.
|
||||
/// * `opt` - optional argument, see inner type for documentation, use <func>_opts to use
|
||||
pub fn with_mounted_secret(&self, path: impl Into<String>, source: SecretId) -> Container {
|
||||
let mut query = self.selection.select("withMountedSecret");
|
||||
|
||||
@@ -1151,6 +1344,34 @@ impl Container {
|
||||
graphql_client: self.graphql_client.clone(),
|
||||
};
|
||||
}
|
||||
|
||||
/// Retrieves this container plus a secret mounted into a file at the given path.
|
||||
///
|
||||
/// # Arguments
|
||||
///
|
||||
/// * `path` - Location of the secret file (e.g., "/tmp/secret.txt").
|
||||
/// * `source` - Identifier of the secret to mount.
|
||||
/// * `opt` - optional argument, see inner type for documentation, use <func>_opts to use
|
||||
pub fn with_mounted_secret_opts<'a>(
|
||||
&self,
|
||||
path: impl Into<String>,
|
||||
source: SecretId,
|
||||
opts: ContainerWithMountedSecretOpts<'a>,
|
||||
) -> Container {
|
||||
let mut query = self.selection.select("withMountedSecret");
|
||||
|
||||
query = query.arg("path", path.into());
|
||||
query = query.arg("source", source);
|
||||
if let Some(owner) = opts.owner {
|
||||
query = query.arg("owner", owner);
|
||||
}
|
||||
|
||||
return Container {
|
||||
proc: self.proc.clone(),
|
||||
selection: query,
|
||||
graphql_client: self.graphql_client.clone(),
|
||||
};
|
||||
}
|
||||
/// Retrieves this container plus a temporary directory mounted at the given path.
|
||||
///
|
||||
/// # Arguments
|
||||
@@ -1205,6 +1426,9 @@ impl Container {
|
||||
if let Some(permissions) = opts.permissions {
|
||||
query = query.arg("permissions", permissions);
|
||||
}
|
||||
if let Some(owner) = opts.owner {
|
||||
query = query.arg("owner", owner);
|
||||
}
|
||||
|
||||
return Container {
|
||||
proc: self.proc.clone(),
|
||||
@@ -1268,7 +1492,9 @@ impl Container {
|
||||
graphql_client: self.graphql_client.clone(),
|
||||
};
|
||||
}
|
||||
/// Establish a runtime dependency on a service. The service will be started automatically when needed and detached when it is no longer needed.
|
||||
/// Establish a runtime dependency on a service.
|
||||
/// The service will be started automatically when needed and detached when it is
|
||||
/// no longer needed, executing the default command if none is set.
|
||||
/// The service will be reachable from the container via the provided hostname alias.
|
||||
/// The service dependency will also convey to any files or directories produced by the container.
|
||||
/// Currently experimental; set _EXPERIMENTAL_DAGGER_SERVICES_DNS=0 to disable.
|
||||
@@ -1299,6 +1525,7 @@ impl Container {
|
||||
///
|
||||
/// * `path` - Location of the forwarded Unix socket (e.g., "/tmp/socket").
|
||||
/// * `source` - Identifier of the socket to forward.
|
||||
/// * `opt` - optional argument, see inner type for documentation, use <func>_opts to use
|
||||
pub fn with_unix_socket(&self, path: impl Into<String>, source: SocketId) -> Container {
|
||||
let mut query = self.selection.select("withUnixSocket");
|
||||
|
||||
@@ -1311,6 +1538,34 @@ impl Container {
|
||||
graphql_client: self.graphql_client.clone(),
|
||||
};
|
||||
}
|
||||
|
||||
/// Retrieves this container plus a socket forwarded to the given Unix socket path.
|
||||
///
|
||||
/// # Arguments
|
||||
///
|
||||
/// * `path` - Location of the forwarded Unix socket (e.g., "/tmp/socket").
|
||||
/// * `source` - Identifier of the socket to forward.
|
||||
/// * `opt` - optional argument, see inner type for documentation, use <func>_opts to use
|
||||
pub fn with_unix_socket_opts<'a>(
|
||||
&self,
|
||||
path: impl Into<String>,
|
||||
source: SocketId,
|
||||
opts: ContainerWithUnixSocketOpts<'a>,
|
||||
) -> Container {
|
||||
let mut query = self.selection.select("withUnixSocket");
|
||||
|
||||
query = query.arg("path", path.into());
|
||||
query = query.arg("source", source);
|
||||
if let Some(owner) = opts.owner {
|
||||
query = query.arg("owner", owner);
|
||||
}
|
||||
|
||||
return Container {
|
||||
proc: self.proc.clone(),
|
||||
selection: query,
|
||||
graphql_client: self.graphql_client.clone(),
|
||||
};
|
||||
}
|
||||
/// Retrieves this container with a different command user.
|
||||
///
|
||||
/// # Arguments
|
||||
@@ -1469,7 +1724,7 @@ impl Container {
|
||||
};
|
||||
}
|
||||
/// Retrieves the working directory for all commands.
|
||||
pub async fn workdir(&self) -> eyre::Result<String> {
|
||||
pub async fn workdir(&self) -> Result<String, DaggerError> {
|
||||
let query = self.selection.select("workdir");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
@@ -1477,7 +1732,7 @@ impl Container {
|
||||
}
|
||||
#[derive(Clone)]
|
||||
pub struct Directory {
|
||||
pub proc: Arc<Child>,
|
||||
pub proc: Option<Arc<Child>>,
|
||||
pub selection: Selection,
|
||||
pub graphql_client: DynGraphQLClient,
|
||||
}
|
||||
@@ -1494,6 +1749,10 @@ pub struct DirectoryDockerBuildOpts<'a> {
|
||||
/// The platform to build.
|
||||
#[builder(setter(into, strip_option), default)]
|
||||
pub platform: Option<Platform>,
|
||||
/// Secrets to pass to the build.
|
||||
/// They will be mounted at /run/secrets/[secret-name].
|
||||
#[builder(setter(into, strip_option), default)]
|
||||
pub secrets: Option<Vec<SecretId>>,
|
||||
/// Target build stage to build.
|
||||
#[builder(setter(into, strip_option), default)]
|
||||
pub target: Option<&'a str>,
|
||||
@@ -1612,6 +1871,9 @@ impl Directory {
|
||||
if let Some(target) = opts.target {
|
||||
query = query.arg("target", target);
|
||||
}
|
||||
if let Some(secrets) = opts.secrets {
|
||||
query = query.arg("secrets", secrets);
|
||||
}
|
||||
|
||||
return Container {
|
||||
proc: self.proc.clone(),
|
||||
@@ -1624,7 +1886,7 @@ impl Directory {
|
||||
/// # Arguments
|
||||
///
|
||||
/// * `opt` - optional argument, see inner type for documentation, use <func>_opts to use
|
||||
pub async fn entries(&self) -> eyre::Result<Vec<String>> {
|
||||
pub async fn entries(&self) -> Result<Vec<String>, DaggerError> {
|
||||
let query = self.selection.select("entries");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
@@ -1638,7 +1900,7 @@ impl Directory {
|
||||
pub async fn entries_opts<'a>(
|
||||
&self,
|
||||
opts: DirectoryEntriesOpts<'a>,
|
||||
) -> eyre::Result<Vec<String>> {
|
||||
) -> Result<Vec<String>, DaggerError> {
|
||||
let mut query = self.selection.select("entries");
|
||||
|
||||
if let Some(path) = opts.path {
|
||||
@@ -1652,7 +1914,7 @@ impl Directory {
|
||||
/// # Arguments
|
||||
///
|
||||
/// * `path` - Location of the copied directory (e.g., "logs/").
|
||||
pub async fn export(&self, path: impl Into<String>) -> eyre::Result<bool> {
|
||||
pub async fn export(&self, path: impl Into<String>) -> Result<bool, DaggerError> {
|
||||
let mut query = self.selection.select("export");
|
||||
|
||||
query = query.arg("path", path.into());
|
||||
@@ -1676,7 +1938,7 @@ impl Directory {
|
||||
};
|
||||
}
|
||||
/// The content-addressed identifier of the directory.
|
||||
pub async fn id(&self) -> eyre::Result<DirectoryId> {
|
||||
pub async fn id(&self) -> Result<DirectoryId, DaggerError> {
|
||||
let query = self.selection.select("id");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
@@ -1977,20 +2239,20 @@ impl Directory {
|
||||
}
|
||||
#[derive(Clone)]
|
||||
pub struct EnvVariable {
|
||||
pub proc: Arc<Child>,
|
||||
pub proc: Option<Arc<Child>>,
|
||||
pub selection: Selection,
|
||||
pub graphql_client: DynGraphQLClient,
|
||||
}
|
||||
|
||||
impl EnvVariable {
|
||||
/// The environment variable name.
|
||||
pub async fn name(&self) -> eyre::Result<String> {
|
||||
pub async fn name(&self) -> Result<String, DaggerError> {
|
||||
let query = self.selection.select("name");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
}
|
||||
/// The environment variable value.
|
||||
pub async fn value(&self) -> eyre::Result<String> {
|
||||
pub async fn value(&self) -> Result<String, DaggerError> {
|
||||
let query = self.selection.select("value");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
@@ -1998,14 +2260,14 @@ impl EnvVariable {
|
||||
}
|
||||
#[derive(Clone)]
|
||||
pub struct File {
|
||||
pub proc: Arc<Child>,
|
||||
pub proc: Option<Arc<Child>>,
|
||||
pub selection: Selection,
|
||||
pub graphql_client: DynGraphQLClient,
|
||||
}
|
||||
|
||||
impl File {
|
||||
/// Retrieves the contents of the file.
|
||||
pub async fn contents(&self) -> eyre::Result<String> {
|
||||
pub async fn contents(&self) -> Result<String, DaggerError> {
|
||||
let query = self.selection.select("contents");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
@@ -2015,7 +2277,7 @@ impl File {
|
||||
/// # Arguments
|
||||
///
|
||||
/// * `path` - Location of the written directory (e.g., "output.txt").
|
||||
pub async fn export(&self, path: impl Into<String>) -> eyre::Result<bool> {
|
||||
pub async fn export(&self, path: impl Into<String>) -> Result<bool, DaggerError> {
|
||||
let mut query = self.selection.select("export");
|
||||
|
||||
query = query.arg("path", path.into());
|
||||
@@ -2023,7 +2285,7 @@ impl File {
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
}
|
||||
/// Retrieves the content-addressed identifier of the file.
|
||||
pub async fn id(&self) -> eyre::Result<FileId> {
|
||||
pub async fn id(&self) -> Result<FileId, DaggerError> {
|
||||
let query = self.selection.select("id");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
@@ -2039,7 +2301,7 @@ impl File {
|
||||
};
|
||||
}
|
||||
/// Gets the size of the file, in bytes.
|
||||
pub async fn size(&self) -> eyre::Result<isize> {
|
||||
pub async fn size(&self) -> Result<isize, DaggerError> {
|
||||
let query = self.selection.select("size");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
@@ -2065,7 +2327,7 @@ impl File {
|
||||
}
|
||||
#[derive(Clone)]
|
||||
pub struct GitRef {
|
||||
pub proc: Arc<Child>,
|
||||
pub proc: Option<Arc<Child>>,
|
||||
pub selection: Selection,
|
||||
pub graphql_client: DynGraphQLClient,
|
||||
}
|
||||
@@ -2080,7 +2342,7 @@ pub struct GitRefTreeOpts<'a> {
|
||||
|
||||
impl GitRef {
|
||||
/// The digest of the current value of this ref.
|
||||
pub async fn digest(&self) -> eyre::Result<String> {
|
||||
pub async fn digest(&self) -> Result<String, DaggerError> {
|
||||
let query = self.selection.select("digest");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
@@ -2124,7 +2386,7 @@ impl GitRef {
|
||||
}
|
||||
#[derive(Clone)]
|
||||
pub struct GitRepository {
|
||||
pub proc: Arc<Child>,
|
||||
pub proc: Option<Arc<Child>>,
|
||||
pub selection: Selection,
|
||||
pub graphql_client: DynGraphQLClient,
|
||||
}
|
||||
@@ -2147,7 +2409,7 @@ impl GitRepository {
|
||||
};
|
||||
}
|
||||
/// Lists of branches on the repository.
|
||||
pub async fn branches(&self) -> eyre::Result<Vec<String>> {
|
||||
pub async fn branches(&self) -> Result<Vec<String>, DaggerError> {
|
||||
let query = self.selection.select("branches");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
@@ -2185,7 +2447,7 @@ impl GitRepository {
|
||||
};
|
||||
}
|
||||
/// Lists of tags on the repository.
|
||||
pub async fn tags(&self) -> eyre::Result<Vec<String>> {
|
||||
pub async fn tags(&self) -> Result<Vec<String>, DaggerError> {
|
||||
let query = self.selection.select("tags");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
@@ -2193,7 +2455,7 @@ impl GitRepository {
|
||||
}
|
||||
#[derive(Clone)]
|
||||
pub struct Host {
|
||||
pub proc: Arc<Child>,
|
||||
pub proc: Option<Arc<Child>>,
|
||||
pub selection: Selection,
|
||||
pub graphql_client: DynGraphQLClient,
|
||||
}
|
||||
@@ -2334,7 +2596,7 @@ impl Host {
|
||||
}
|
||||
#[derive(Clone)]
|
||||
pub struct HostVariable {
|
||||
pub proc: Arc<Child>,
|
||||
pub proc: Option<Arc<Child>>,
|
||||
pub selection: Selection,
|
||||
pub graphql_client: DynGraphQLClient,
|
||||
}
|
||||
@@ -2351,7 +2613,7 @@ impl HostVariable {
|
||||
};
|
||||
}
|
||||
/// The value of this variable.
|
||||
pub async fn value(&self) -> eyre::Result<String> {
|
||||
pub async fn value(&self) -> Result<String, DaggerError> {
|
||||
let query = self.selection.select("value");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
@@ -2359,20 +2621,20 @@ impl HostVariable {
|
||||
}
|
||||
#[derive(Clone)]
|
||||
pub struct Label {
|
||||
pub proc: Arc<Child>,
|
||||
pub proc: Option<Arc<Child>>,
|
||||
pub selection: Selection,
|
||||
pub graphql_client: DynGraphQLClient,
|
||||
}
|
||||
|
||||
impl Label {
|
||||
/// The label name.
|
||||
pub async fn name(&self) -> eyre::Result<String> {
|
||||
pub async fn name(&self) -> Result<String, DaggerError> {
|
||||
let query = self.selection.select("name");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
}
|
||||
/// The label value.
|
||||
pub async fn value(&self) -> eyre::Result<String> {
|
||||
pub async fn value(&self) -> Result<String, DaggerError> {
|
||||
let query = self.selection.select("value");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
@@ -2380,26 +2642,26 @@ impl Label {
|
||||
}
|
||||
#[derive(Clone)]
|
||||
pub struct Port {
|
||||
pub proc: Arc<Child>,
|
||||
pub proc: Option<Arc<Child>>,
|
||||
pub selection: Selection,
|
||||
pub graphql_client: DynGraphQLClient,
|
||||
}
|
||||
|
||||
impl Port {
|
||||
/// The port description.
|
||||
pub async fn description(&self) -> eyre::Result<String> {
|
||||
pub async fn description(&self) -> Result<String, DaggerError> {
|
||||
let query = self.selection.select("description");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
}
|
||||
/// The port number.
|
||||
pub async fn port(&self) -> eyre::Result<isize> {
|
||||
pub async fn port(&self) -> Result<isize, DaggerError> {
|
||||
let query = self.selection.select("port");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
}
|
||||
/// The transport layer network protocol.
|
||||
pub async fn protocol(&self) -> eyre::Result<NetworkProtocol> {
|
||||
pub async fn protocol(&self) -> Result<NetworkProtocol, DaggerError> {
|
||||
let query = self.selection.select("protocol");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
@@ -2407,7 +2669,7 @@ impl Port {
|
||||
}
|
||||
#[derive(Clone)]
|
||||
pub struct Project {
|
||||
pub proc: Arc<Child>,
|
||||
pub proc: Option<Arc<Child>>,
|
||||
pub selection: Selection,
|
||||
pub graphql_client: DynGraphQLClient,
|
||||
}
|
||||
@@ -2434,25 +2696,25 @@ impl Project {
|
||||
};
|
||||
}
|
||||
/// install the project's schema
|
||||
pub async fn install(&self) -> eyre::Result<bool> {
|
||||
pub async fn install(&self) -> Result<bool, DaggerError> {
|
||||
let query = self.selection.select("install");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
}
|
||||
/// name of the project
|
||||
pub async fn name(&self) -> eyre::Result<String> {
|
||||
pub async fn name(&self) -> Result<String, DaggerError> {
|
||||
let query = self.selection.select("name");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
}
|
||||
/// schema provided by the project
|
||||
pub async fn schema(&self) -> eyre::Result<String> {
|
||||
pub async fn schema(&self) -> Result<String, DaggerError> {
|
||||
let query = self.selection.select("schema");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
}
|
||||
/// sdk used to generate code for and/or execute this project
|
||||
pub async fn sdk(&self) -> eyre::Result<String> {
|
||||
pub async fn sdk(&self) -> Result<String, DaggerError> {
|
||||
let query = self.selection.select("sdk");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
@@ -2460,7 +2722,7 @@ impl Project {
|
||||
}
|
||||
#[derive(Clone)]
|
||||
pub struct Query {
|
||||
pub proc: Arc<Child>,
|
||||
pub proc: Option<Arc<Child>>,
|
||||
pub selection: Selection,
|
||||
pub graphql_client: DynGraphQLClient,
|
||||
}
|
||||
@@ -2567,7 +2829,7 @@ impl Query {
|
||||
};
|
||||
}
|
||||
/// The default platform of the builder.
|
||||
pub async fn default_platform(&self) -> eyre::Result<Platform> {
|
||||
pub async fn default_platform(&self) -> Result<Platform, DaggerError> {
|
||||
let query = self.selection.select("defaultPlatform");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
@@ -2775,6 +3037,24 @@ impl Query {
|
||||
graphql_client: self.graphql_client.clone(),
|
||||
};
|
||||
}
|
||||
/// Sets a secret given a user defined name to its plaintext and returns the secret.
|
||||
///
|
||||
/// # Arguments
|
||||
///
|
||||
/// * `name` - The user defined name for this secret
|
||||
/// * `plaintext` - The plaintext of the secret
|
||||
pub fn set_secret(&self, name: impl Into<String>, plaintext: impl Into<String>) -> Secret {
|
||||
let mut query = self.selection.select("setSecret");
|
||||
|
||||
query = query.arg("name", name.into());
|
||||
query = query.arg("plaintext", plaintext.into());
|
||||
|
||||
return Secret {
|
||||
proc: self.proc.clone(),
|
||||
selection: query,
|
||||
graphql_client: self.graphql_client.clone(),
|
||||
};
|
||||
}
|
||||
/// Loads a socket by its ID.
|
||||
///
|
||||
/// # Arguments
|
||||
@@ -2811,20 +3091,20 @@ impl Query {
|
||||
}
|
||||
#[derive(Clone)]
|
||||
pub struct Secret {
|
||||
pub proc: Arc<Child>,
|
||||
pub proc: Option<Arc<Child>>,
|
||||
pub selection: Selection,
|
||||
pub graphql_client: DynGraphQLClient,
|
||||
}
|
||||
|
||||
impl Secret {
|
||||
/// The identifier for this secret.
|
||||
pub async fn id(&self) -> eyre::Result<SecretId> {
|
||||
pub async fn id(&self) -> Result<SecretId, DaggerError> {
|
||||
let query = self.selection.select("id");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
}
|
||||
/// The value of this secret.
|
||||
pub async fn plaintext(&self) -> eyre::Result<String> {
|
||||
pub async fn plaintext(&self) -> Result<String, DaggerError> {
|
||||
let query = self.selection.select("plaintext");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
@@ -2832,14 +3112,14 @@ impl Secret {
|
||||
}
|
||||
#[derive(Clone)]
|
||||
pub struct Socket {
|
||||
pub proc: Arc<Child>,
|
||||
pub proc: Option<Arc<Child>>,
|
||||
pub selection: Selection,
|
||||
pub graphql_client: DynGraphQLClient,
|
||||
}
|
||||
|
||||
impl Socket {
|
||||
/// The content-addressed identifier of the socket.
|
||||
pub async fn id(&self) -> eyre::Result<SocketId> {
|
||||
pub async fn id(&self) -> Result<SocketId, DaggerError> {
|
||||
let query = self.selection.select("id");
|
||||
|
||||
query.execute(self.graphql_client.clone()).await
|
||||
|
@@ -1,6 +1,7 @@
|
||||
#![deny(warnings)]
|
||||
|
||||
mod client;
|
||||
pub mod errors;
|
||||
mod gen;
|
||||
pub mod logging;
|
||||
mod querybuilder;
|
||||
|
@@ -1,9 +1,10 @@
|
||||
use std::{collections::HashMap, ops::Add, sync::Arc};
|
||||
|
||||
use dagger_core::graphql_client::DynGraphQLClient;
|
||||
use eyre::Context;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::errors::{DaggerError, DaggerUnpackError};
|
||||
|
||||
pub fn query() -> Selection {
|
||||
Selection::default()
|
||||
}
|
||||
@@ -92,7 +93,7 @@ impl Selection {
|
||||
s
|
||||
}
|
||||
|
||||
pub fn build(&self) -> eyre::Result<String> {
|
||||
pub fn build(&self) -> Result<String, DaggerError> {
|
||||
let mut fields = vec!["query".to_string()];
|
||||
|
||||
for sel in self.path() {
|
||||
@@ -117,7 +118,7 @@ impl Selection {
|
||||
Ok(fields.join("{") + &"}".repeat(fields.len() - 1))
|
||||
}
|
||||
|
||||
pub async fn execute<D>(&self, gql_client: DynGraphQLClient) -> eyre::Result<D>
|
||||
pub async fn execute<D>(&self, gql_client: DynGraphQLClient) -> Result<D, DaggerError>
|
||||
where
|
||||
D: for<'de> Deserialize<'de>,
|
||||
{
|
||||
@@ -127,7 +128,7 @@ impl Selection {
|
||||
|
||||
let resp: Option<serde_json::Value> = match gql_client.query(&query).await {
|
||||
Ok(r) => r,
|
||||
Err(e) => eyre::bail!(e),
|
||||
Err(e) => return Err(DaggerError::Query(e)),
|
||||
};
|
||||
|
||||
let resp: Option<D> = self.unpack_resp(resp)?;
|
||||
@@ -151,7 +152,10 @@ impl Selection {
|
||||
selections
|
||||
}
|
||||
|
||||
pub(crate) fn unpack_resp<D>(&self, resp: Option<serde_json::Value>) -> eyre::Result<Option<D>>
|
||||
pub(crate) fn unpack_resp<D>(
|
||||
&self,
|
||||
resp: Option<serde_json::Value>,
|
||||
) -> Result<Option<D>, DaggerError>
|
||||
where
|
||||
D: for<'de> Deserialize<'de>,
|
||||
{
|
||||
@@ -161,21 +165,23 @@ impl Selection {
|
||||
}
|
||||
}
|
||||
|
||||
fn unpack_resp_value<D>(&self, r: serde_json::Value) -> eyre::Result<D>
|
||||
fn unpack_resp_value<D>(&self, r: serde_json::Value) -> Result<D, DaggerError>
|
||||
where
|
||||
D: for<'de> Deserialize<'de>,
|
||||
{
|
||||
if let Some(o) = r.as_object() {
|
||||
let keys = o.keys();
|
||||
if keys.len() != 1 {
|
||||
eyre::bail!("too many nested objects inside graphql response")
|
||||
return Err(DaggerError::Unpack(DaggerUnpackError::TooManyNestedObjects));
|
||||
}
|
||||
|
||||
let first = keys.into_iter().next().unwrap();
|
||||
return self.unpack_resp_value(o.get(first).unwrap().clone());
|
||||
}
|
||||
|
||||
serde_json::from_value::<D>(r).context("could not deserialize response")
|
||||
serde_json::from_value::<D>(r)
|
||||
.map_err(DaggerUnpackError::Deserialize)
|
||||
.map_err(DaggerError::Unpack)
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -111,9 +111,9 @@ async fn test_err_message() {
|
||||
assert_eq!(alpine.is_err(), true);
|
||||
let err = alpine.expect_err("Tests expect err");
|
||||
|
||||
let error_msg = r#"
|
||||
GQLClient Error: Look at json field for more details
|
||||
Message: pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed
|
||||
let error_msg = r#"failed to query dagger engine: domain error:
|
||||
Look at json field for more details
|
||||
pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed
|
||||
"#;
|
||||
|
||||
assert_eq!(err.to_string().as_str(), error_msg);
|
||||
|
Reference in New Issue
Block a user