diff --git a/ci/azure.yml b/ci/azure.yml
index 52d1e479469f33b89f3242a2d13c22865db449e4..6a2f68532001657cb2ea2fdd31ffbfd7f4c1f72c 100644
--- a/ci/azure.yml
+++ b/ci/azure.yml
@@ -72,6 +72,8 @@ jobs:
           TARGET: powerpc64le-unknown-linux-gnu
         s390x-unknown-linux-gnu:
           TARGET: s390x-unknown-linux-gnu
+        riscv64gc-unknown-linux-gnu:
+          TARGET: riscv64gc-unknown-linux-gnu
         #wasm32-wasi
         #  TARGET: wasm32-wasi
         sparc64-unknown-linux-gnu:
diff --git a/ci/docker/riscv64gc-unknown-linux-gnu/Dockerfile b/ci/docker/riscv64gc-unknown-linux-gnu/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..2ab35b317f96b6bf8f51ef628a428a4754d049cf
--- /dev/null
+++ b/ci/docker/riscv64gc-unknown-linux-gnu/Dockerfile
@@ -0,0 +1,12 @@
+FROM ubuntu:20.04
+
+RUN apt-get update && apt-get install -y --no-install-recommends \
+        gcc libc6-dev qemu-user ca-certificates \
+        gcc-riscv64-linux-gnu libc6-dev-riscv64-cross \
+        qemu-system-riscv64 linux-headers-generic
+
+ENV CARGO_TARGET_RISCV64GC_UNKNOWN_LINUX_GNU_LINKER=riscv64-linux-gnu-gcc \
+    CARGO_TARGET_RISCV64GC_UNKNOWN_LINUX_GNU_RUNNER="qemu-riscv64 -L /usr/riscv64-linux-gnu" \
+    CC_riscv64gc_unknown_linux_gnu=riscv64-linux-gnu-gcc \
+    CFLAGS_riscv64gc_unknown_linux_gnu="-mabi=lp64d -fPIC" \
+    PATH=$PATH:/rust/bin