Skip to content

add thumbv7 docs

add thumbv7 docs #469

Workflow file for this run

on:
push:
branches:
- 'main'
pull_request:
merge_group:
workflow_dispatch:
name: Osiris CI
env:
CARGO_TERM_COLOR: always
TERM: xterm-256color
jobs:
container:
name: Build Container
runs-on: ubuntu-latest
permissions:
packages: write
outputs:
container_name: ${{ steps.set_output.outputs.container_name }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set container name as output
id: set_output
run: |
REPO=$(echo "${GITHUB_REPOSITORY}" | tr '[:upper:]' '[:lower:]')
CONTAINER_NAME="ghcr.io/${REPO}/devcontainer:latest"
echo "container_name=$CONTAINER_NAME" >> $GITHUB_OUTPUT
echo "container_without_tag=ghcr.io/${REPO}/devcontainer" >> $GITHUB_OUTPUT
- name: Build and push Docker image
uses: docker/build-push-action@v2
with:
context: .
file: .devcontainer/Dockerfile
push: ${{ github.ref == 'refs/heads/main' }}
tags: ${{ steps.set_output.outputs.container_name }}
cache-from: type=registry,ref=${{ steps.set_output.outputs.container_name }}-cache
cache-to: type=registry,ref=${{ steps.set_output.outputs.container_name }}-cache,mode=max
test:
name: Testing
runs-on: ubuntu-latest
needs: [container]
container:
image: ${{ needs.container.outputs.container_name }}
permissions:
contents: read
issues: write
pull-requests: write
packages: read
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Set testing config
run: just config load testing_def --no-confirm
- name: Run test coverage
run: just cov
- name: Report code coverage
uses: xarantolus/github-actions-report-lcov@v5
with:
coverage-files: lcov.info
github-token: ${{ secrets.GITHUB_TOKEN }}
update-comment: true
fmt:
name: Check formatting
runs-on: ubuntu-latest
needs: [container]
container:
image: ${{ needs.container.outputs.container_name }}
permissions:
contents: read
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Check formatting for all Cargo manifests
run: just fmt --check
kani:
name: Kani verification
runs-on: ubuntu-latest
needs: [container]
container:
image: ${{ needs.container.outputs.container_name }}
permissions:
contents: read
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Set testing config
run: just config load testing_def --no-confirm
- name: Run Kani
run: just verify
build-stm32-l4r5zi-def:
name: Build for the STM32 Nucleo L4R5ZI
runs-on: ubuntu-latest
needs: [container]
container:
image: ${{ needs.container.outputs.container_name }}
permissions:
contents: read
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Set stm32l4r5zi config
run: just config load stm32l4r5zi_def --no-confirm
- name: Build
run: just build
build-docs:
name: Build the documentation
runs-on: ubuntu-latest
needs: [container]
container:
image: ${{ needs.container.outputs.container_name }}
permissions:
contents: read
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Set stm32l4r5zi config
run: just config load stm32l4r5zi_def --no-confirm
- name: Generate docs
run: cargo doc --document-private-items --no-deps --workspace
- name: Stage docs for upload
run: |
mkdir -p docs/thumbv7em-none-eabi
cp -a target/doc/. docs/
cp -a target/thumbv7em-none-eabi/doc/. docs/thumbv7em-none-eabi/
- name: Upload docs artifact
uses: actions/upload-artifact@v4
with:
name: docs
path: docs
deploy-docs:
name: Deploy the documentation online
runs-on: ubuntu-latest
needs: [build-docs]
if: github.ref == 'refs/heads/main'
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
permissions:
contents: read
pages: write
id-token: write
steps:
- name: Checkout
uses: actions/checkout@v4
with:
sparse-checkout: website
- name: Download docs
uses: actions/download-artifact@v4
with:
name: docs
path: website/docs
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: 'website'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4