summaryrefslogtreecommitdiff
path: root/.github/workflows/doc.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/doc.yml')
-rw-r--r--.github/workflows/doc.yml85
1 files changed, 85 insertions, 0 deletions
diff --git a/.github/workflows/doc.yml b/.github/workflows/doc.yml
new file mode 100644
index 00000000..349ca404
--- /dev/null
+++ b/.github/workflows/doc.yml
@@ -0,0 +1,85 @@
+name: Docs
+
+on:
+ push:
+ branches: [master]
+
+env:
+ BUILDER_THREADS: '2'
+
+jobs:
+ doc:
+ runs-on: ubuntu-latest
+
+ # Since stm32 crates take SO LONG to build, we split them
+ # into a separate job. This way it doesn't slow down updating
+ # the rest.
+ strategy:
+ matrix:
+ crates:
+ - stm32
+ - rest
+
+ # This will ensure at most one doc build job is running at a time
+ # (for stm32 and non-stm32 independently).
+ # If another job is already running, the new job will wait.
+ # If another job is already waiting, it'll be canceled.
+ # This means some commits will be skipped, but that's fine because
+ # we only care that the latest gets built.
+ concurrency: doc-${{ matrix.crates }}
+
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ submodules: true
+ - name: Install Rust targets
+ run: |
+ rustup target add x86_64-unknown-linux-gnu
+ rustup target add wasm32-unknown-unknown
+ rustup target add thumbv6m-none-eabi
+ rustup target add thumbv7m-none-eabi
+ rustup target add thumbv7em-none-eabi
+ rustup target add thumbv7em-none-eabihf
+ rustup target add thumbv8m.base-none-eabi
+ rustup target add thumbv8m.main-none-eabi
+ rustup target add thumbv8m.main-none-eabihf
+
+ - name: Install docserver
+ run: |
+ wget -q -O /usr/local/bin/builder "https://github.com/embassy-rs/docserver/releases/download/v0.3/builder"
+ chmod +x /usr/local/bin/builder
+
+ - name: build-stm32
+ if: ${{ matrix.crates=='stm32' }}
+ run: |
+ mkdir crates
+ builder ./embassy-stm32 crates/embassy-stm32/git.zup
+ builder ./stm32-metapac crates/stm32-metapac/git.zup
+
+ - name: build-rest
+ if: ${{ matrix.crates=='rest' }}
+ run: |
+ mkdir crates
+ builder ./embassy-boot/boot crates/embassy-boot/git.zup
+ builder ./embassy-boot/nrf crates/embassy-boot-nrf/git.zup
+ builder ./embassy-boot/stm32 crates/embassy-boot-stm32/git.zup
+ builder ./embassy-cortex-m crates/embassy-cortex-m/git.zup
+ builder ./embassy-embedded-hal crates/embassy-embedded-hal/git.zup
+ builder ./embassy-executor crates/embassy-executor/git.zup
+ builder ./embassy-futures crates/embassy-futures/git.zup
+ builder ./embassy-lora crates/embassy-lora/git.zup
+ builder ./embassy-net crates/embassy-net/git.zup
+ builder ./embassy-nrf crates/embassy-nrf/git.zup
+ builder ./embassy-rp crates/embassy-rp/git.zup
+ builder ./embassy-sync crates/embassy-sync/git.zup
+ builder ./embassy-usb crates/embassy-usb/git.zup
+ builder ./embassy-usb-driver crates/embassy-usb-driver/git.zup
+
+ - name: upload
+ run: |
+ mkdir -p ~/.kube
+ echo "${{secrets.KUBECONFIG}}" > ~/.kube/config
+ POD=$(kubectl -n embassy get po -l app=docserver -o jsonpath={.items[0].metadata.name})
+ kubectl cp crates $POD:/data
+
+ \ No newline at end of file