Commit Graph

60 Commits

Author SHA1 Message Date
3a9abb97c2 Add thiserror instead of exposing eyre anonymous errors
The change here is to make it easier for the consumer to debug the api.
Such that they can `match` on individual errors instead of having to
parse text.

eyre is convenient, but mostly from a consumers perspective
2023-04-30 13:12:23 +02:00
2a29a66217 feat: dagger-run support 2023-04-30 00:58:59 +02:00
eb7470c604 feat: update to dagger-5.1 2023-04-30 00:41:48 +02:00
9ea18700e7 feat: with gen 2023-04-03 16:51:14 +02:00
11d20935c6
feat: extract client (#48)
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.
2023-03-19 00:01:24 +00:00
79d931e908 feat: with loggers 2023-03-14 23:21:14 +01:00
756a080533 fix: stable input fields and args 2023-03-14 22:21:35 +01:00
ea27fa8168 chore: fmt 2023-03-14 22:21:35 +01:00
71f98d0293 fix: stable enum entries 2023-03-14 22:21:35 +01:00
6ef4bdf587 refactor: add basic cargo make gen command 2023-03-14 22:01:20 +01:00
8fd6bb983e
fix: serialization of enum args for graphql (#34) 2023-03-14 13:56:49 +00:00
c025d17424 fix: add support for String as well 2023-03-13 21:07:14 +01:00
d7317e5cf3 fix: add public tuple field and into func 2023-03-13 21:07:14 +01:00
e642778d90
chore: fix tasks 2023-03-10 23:39:23 +01:00
7133bfae95 feat: with dagger-engine v.0.4.0 2023-03-10 23:27:15 +01:00
5f9b3a19c0 feat: set internal warnings as errors 2023-02-25 02:01:13 +01:00
ecca036bc6 fix(sdk): fix builder pattern to actually work with default values
In previous versions the builder pattern required all values to be set.
This has not been fixed, so that default values are allowed.
2023-02-25 01:47:57 +01:00
e578b0e371 fix: set deserialize on enums as well 2023-02-25 00:10:46 +01:00
3e8ca8d86e feat: update to dagger-v0.3.13
https://github.com/dagger/dagger/releases/tag/v0.3.13
2023-02-25 00:10:46 +01:00
e331ca0035
chore(sdk): fix whitespace 2023-02-22 23:09:20 +01:00
7c3654d276
chore(sdk): ran clippy 2023-02-22 22:38:33 +01:00
266ad32dff
feat(sdk): with clone 2023-02-22 22:38:15 +01:00
1f77d90c0f
chore(sdk): ran clippy 2023-02-20 11:54:44 +01:00
a13a2a9ecb
fix(all): race condition in process 2023-02-20 11:42:03 +01:00
803cfc4f8c
chore(sdk): ran clippy 2023-02-20 10:42:00 +01:00
75bc17e57d fix(core): Fix async panic on blocking #19
Replaced internal threads with tokio spawn functions
2023-02-20 10:19:43 +01:00
978ede68ae feat(sdk): add documentation strings 2023-02-19 22:43:12 +01:00
9be6f435d9 feat(sdk,core): Use async runtime instead of blocking.
Default to using async runtime instead of blocking. I.e.

```rust
fn main() -> eyre::Result<()> {
  // ...

  client.container().from("rust").publish("somewhere")?;

  // ...
}

// to

async fn main() -> eyre::Result<()> {
  // ...

  client.container().from("rust").publish("somewhere").await?;

  // ...
}
```
2023-02-19 21:47:40 +01:00
c627595fd2 fix: cargo clippy 2023-02-19 18:00:04 +01:00
f29ff836cf feat(sdk): without Some in _opts functions
Option has been removed as a wrapper around opts. This makes it much
more convenient to use

```rust
client.container_opts(Some(ContainerOpts{}))
// ->
client.container_opts(ContainerOpts{})
```

The same options are still available, either an empty object can be
passed, or a non _opts function can be used
2023-02-19 18:00:04 +01:00
9762da895a feat(sdk): with _opts methods
Now all opt values enter into a _opts function instead of the original.
This avoids a lot of verbosity for both None in the case opts are
unwanted, and Some() if they actually are.

They are used like so:

```rust
client.container().from("...");
client.container_opts(Some(ContainerOpts{ ... }))
```

Some from opts will be removed in a future commit/pr
2023-02-19 18:00:04 +01:00
02006d40fc fix(sdk): without phantom data 2023-02-19 18:00:04 +01:00
94336d0637 feat(sdk): move to &str instead of String and introduce builder.
This will make the api much easier to use, as we can now rely on ""
instead of "".into() for normal string values.

Introduced builder as well, which makes it much easier to use *Opts, as
it can handle the building of that, and get the benefits from String ->
&str, as that is currently not allowed for optional values
2023-02-19 18:00:04 +01:00
19ed6c267f feat(sdk): re-export through lib.rs
this means that you can now use dagger_sdk::connect() instead of
dagger_sdk::client::connect();
2023-02-19 15:29:03 +01:00
de063eae85 feat(sdk): with return result instead of unwrap 2023-02-19 15:29:03 +01:00
5d66736990 feat(core,sdk): remove unnecessary option returns 2023-02-19 15:29:03 +01:00
10bc6f3846 fix(sdk): fixed fmt errors 2023-02-19 12:23:20 +01:00
6e5f407432 feat(sdk): update to dagger v0.3.12 2023-02-19 12:23:20 +01:00
6be8482b46
fix all clippy 2023-02-17 17:51:39 +01:00
cb9a4dd84f
add test-the-application 2023-02-17 15:34:18 +01:00
4a4c03f3c2
feature/add impl (#6)
* format code

* with object gen and args

* add implementation

* add rust generator

* reset generated code

* add basic output

* reset output

* add object

* add format function

* with opts

* fix vec

* add context to unwrap

* fix arguments

* with function body

* first complete generation: Still missing Vec<Obj>

* run full alpine

* add roadmap item
2023-02-17 12:33:16 +01:00
3b5b59ba1c
unpack response 2023-02-11 14:02:20 +01:00
7a008be59e
tested full flow initially 2023-02-05 23:44:06 +01:00
ec0d0b22e6
move code to dagger-core 2023-02-05 22:26:58 +01:00
9f0021b708
with selection impl default 2023-02-05 21:50:34 +01:00
2b49f9c190
fix warnings 2023-02-05 21:49:01 +01:00
03366b7c5b
fix test 2023-02-05 19:26:25 +01:00
c5dfcebaad
test marshaller 2023-02-05 19:25:18 +01:00
c4ec6f0c97
test marshaller 2023-02-05 19:17:46 +01:00
d9b51c1ac9
implement sort by name and type 2023-02-01 16:42:50 +01:00