diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 951fd344b86b772a5ddab227818602c0d47ba3d2..8410018528058e4de333070c0e717433d97c21f0 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -42,3 +42,9 @@ jobs:
 
       - name: build
         run: ./testing/ci.sh
+
+      - name: picow bloat
+        uses: actions/upload-artifact@v3
+        with:
+          name: picow-bloat
+          path: ci_out/picow-bloat.txt
diff --git a/async/rust-toolchain.toml b/async/rust-toolchain.toml
index 67957e6b2570b1a730e43338632427eb36223a40..549c09309e4ec5378a36667cd306ebf243a6ecc3 100644
--- a/async/rust-toolchain.toml
+++ b/async/rust-toolchain.toml
@@ -1,7 +1,7 @@
 # Before upgrading check that everything is available on all tier1 targets here:
 # https://rust-lang.github.io/rustup-components-history
 [toolchain]
-channel = "nightly-2023-02-12"
+channel = "nightly-2023-04-07"
 components = [ "rust-src", "rustfmt" ]
 targets = [
     "thumbv6m-none-eabi",
diff --git a/embassy/demos/picow/rust-toolchain.toml b/embassy/demos/picow/rust-toolchain.toml
index 02a04482cdcbab734f4acd1451f35dcc7f7438bc..549c09309e4ec5378a36667cd306ebf243a6ecc3 100644
--- a/embassy/demos/picow/rust-toolchain.toml
+++ b/embassy/demos/picow/rust-toolchain.toml
@@ -1,7 +1,7 @@
 # Before upgrading check that everything is available on all tier1 targets here:
 # https://rust-lang.github.io/rustup-components-history
 [toolchain]
-channel = "nightly-2023-03-10"
+channel = "nightly-2023-04-07"
 components = [ "rust-src", "rustfmt" ]
 targets = [
     "thumbv6m-none-eabi",
diff --git a/embassy/demos/std/rust-toolchain.toml b/embassy/demos/std/rust-toolchain.toml
index 67957e6b2570b1a730e43338632427eb36223a40..549c09309e4ec5378a36667cd306ebf243a6ecc3 100644
--- a/embassy/demos/std/rust-toolchain.toml
+++ b/embassy/demos/std/rust-toolchain.toml
@@ -1,7 +1,7 @@
 # Before upgrading check that everything is available on all tier1 targets here:
 # https://rust-lang.github.io/rustup-components-history
 [toolchain]
-channel = "nightly-2023-02-12"
+channel = "nightly-2023-04-07"
 components = [ "rust-src", "rustfmt" ]
 targets = [
     "thumbv6m-none-eabi",
diff --git a/embassy/rust-toolchain.toml b/embassy/rust-toolchain.toml
index 67957e6b2570b1a730e43338632427eb36223a40..549c09309e4ec5378a36667cd306ebf243a6ecc3 100644
--- a/embassy/rust-toolchain.toml
+++ b/embassy/rust-toolchain.toml
@@ -1,7 +1,7 @@
 # Before upgrading check that everything is available on all tier1 targets here:
 # https://rust-lang.github.io/rustup-components-history
 [toolchain]
-channel = "nightly-2023-02-12"
+channel = "nightly-2023-04-07"
 components = [ "rust-src", "rustfmt" ]
 targets = [
     "thumbv6m-none-eabi",
diff --git a/testing/ci.sh b/testing/ci.sh
index c63873c65a284c2978a9b2784f09e6c3c9e6f7d4..192f4a20a37b3a8f55945a4721b4bcffaafd2732 100755
--- a/testing/ci.sh
+++ b/testing/ci.sh
@@ -14,7 +14,7 @@ mkdir -p ci_out
 OUT="$(realpath ci_out)"
 
 # disabled for now, doesn't like unstable features
-export RUSTDOCFLAGS='-D warnings'
+#export RUSTDOCFLAGS='-D warnings'
 
 # dependencies
 which cargo-bloat > /dev/null || cargo install cargo-bloat
@@ -22,20 +22,22 @@ if [ -z "$OFFLINE" ]; then
     rustup toolchain add nightly
 fi
 
-# stable
-cargo test
+# stable - disabled now due to async fn in Behaviour
+#cargo test
 # build non-testing, will be no_std
-cargo build
+#cargo build
+cargo +nightly build
 # nightly
 cargo +nightly test
-cargo doc
-cargo test --doc
+
+cargo +nightly doc
+cargo +nightly test --doc
 
 (
 cd async
 # only test lib since some examples are broken
 cargo test --lib
-cargo build --example sshclient
+cargo build --example sunsetc
 )
 
 (