diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 07f88af..90f961f 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -20,9 +20,9 @@ jobs: uses: actions/cache@v3 continue-on-error: false with: - path: "~/.cargo/bin/\n~/.cargo/registry/index/\n~/.cargo/registry/cache/\n~/.cargo/git/db/\ntarget/ " + path: "~/.cargo/bin/\n~/.cargo/registry/index/\n~/.cargo/registry/cache/\n~/.cargo/git/db/\ntarget/" key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - restore-keys: ${{ runner.os }}-cargo- + restore-keys: ${{ runner.os }}-cargo - name: Set up QEMU uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx diff --git a/crates/dagger-codegen/src/rust/templates/enum_tmpl.rs b/crates/dagger-codegen/src/rust/templates/enum_tmpl.rs index 860584d..3ee1995 100644 --- a/crates/dagger-codegen/src/rust/templates/enum_tmpl.rs +++ b/crates/dagger-codegen/src/rust/templates/enum_tmpl.rs @@ -10,7 +10,7 @@ fn render_enum_values(values: &FullType) -> Option { .map(|values| { values .into_iter() - .map(|val| quote! { $(val.name.as_ref()) }) + .map(|val| quote! { $(val.name.as_ref()), }) }) .flatten() .collect::>(); @@ -25,7 +25,10 @@ fn render_enum_values(values: &FullType) -> Option { } pub fn render_enum(t: &FullType) -> eyre::Result { + let serialize = rust::import("serde", "Serialize"); + Ok(quote! { + #[derive($serialize)] pub enum $(t.name.as_ref()) { $(render_enum_values(t)) } diff --git a/crates/dagger-core/src/engine.rs b/crates/dagger-core/src/engine.rs index d1eedbc..f993f68 100644 --- a/crates/dagger-core/src/engine.rs +++ b/crates/dagger-core/src/engine.rs @@ -12,7 +12,7 @@ impl Engine { } fn from_cli(&self, cfg: &Config) -> eyre::Result<(ConnectParams, Child)> { - let cli = Downloader::new("0.3.10".into())?.get_cli()?; + let cli = Downloader::new("0.3.12".into())?.get_cli()?; let cli_session = CliSession::new(); diff --git a/crates/dagger-sdk/src/gen.rs b/crates/dagger-sdk/src/gen.rs index c92ed2c..3315a19 100644 --- a/crates/dagger-sdk/src/gen.rs +++ b/crates/dagger-sdk/src/gen.rs @@ -21,8 +21,8 @@ pub struct SecretId(String); pub struct SocketId(String); #[derive(Serialize, Deserialize)] pub struct BuildArg { - pub value: String, pub name: String, + pub value: String, } pub struct CacheVolume { pub proc: Arc, @@ -32,7 +32,7 @@ pub struct CacheVolume { impl CacheVolume { pub fn id(&self) -> CacheId { - let query = self.selection.select("id"); + let mut query = self.selection.select("id"); query.execute(&graphql_client(&self.conn)).unwrap().unwrap() } @@ -67,10 +67,7 @@ pub struct ContainerPublishOpts { pub struct ContainerWithDefaultArgsOpts { pub args: Option>, } -pub struct ContainerWithDirectoryOpts { - pub exclude: Option>, - pub include: Option>, -} +pub struct ContainerWithDirectoryOpts {} pub struct ContainerWithExecOpts { pub stdin: Option, pub redirect_stdout: Option, @@ -82,6 +79,7 @@ pub struct ContainerWithFileOpts { } pub struct ContainerWithMountedCacheOpts { pub source: Option, + pub sharing: Option, } pub struct ContainerWithNewFileOpts { pub contents: Option, @@ -112,7 +110,7 @@ impl Container { }; } pub fn default_args(&self) -> Vec { - let query = self.selection.select("defaultArgs"); + let mut query = self.selection.select("defaultArgs"); query.execute(&graphql_client(&self.conn)).unwrap().unwrap() } @@ -128,7 +126,7 @@ impl Container { }; } pub fn entrypoint(&self) -> Vec { - let query = self.selection.select("entrypoint"); + let mut query = self.selection.select("entrypoint"); query.execute(&graphql_client(&self.conn)).unwrap().unwrap() } @@ -140,7 +138,7 @@ impl Container { query.execute(&graphql_client(&self.conn)).unwrap().unwrap() } pub fn env_variables(&self) -> Vec { - let query = self.selection.select("envVariables"); + let mut query = self.selection.select("envVariables"); return vec![EnvVariable { proc: self.proc.clone(), @@ -181,7 +179,7 @@ impl Container { }; } pub fn exit_code(&self) -> isize { - let query = self.selection.select("exitCode"); + let mut query = self.selection.select("exitCode"); query.execute(&graphql_client(&self.conn)).unwrap().unwrap() } @@ -220,7 +218,7 @@ impl Container { }; } pub fn fs(&self) -> Directory { - let query = self.selection.select("fs"); + let mut query = self.selection.select("fs"); return Directory { proc: self.proc.clone(), @@ -229,7 +227,7 @@ impl Container { }; } pub fn id(&self) -> ContainerId { - let query = self.selection.select("id"); + let mut query = self.selection.select("id"); query.execute(&graphql_client(&self.conn)).unwrap().unwrap() } @@ -241,7 +239,7 @@ impl Container { query.execute(&graphql_client(&self.conn)).unwrap().unwrap() } pub fn labels(&self) -> Vec