Skip to content

feat: Add device-manager bin and lib crate (#46) #35

feat: Add device-manager bin and lib crate (#46)

feat: Add device-manager bin and lib crate (#46) #35

name: on host workflow
on:
push:
branches: [ main ]
pull_request:
jobs:
debian_and_ubuntu:
runs-on: ubuntu-22.04
# This procedure should work on:
# - Debian 12 on desktop.
# - Ubuntu 22.04 on desktop.
#
# The setup is split into three parts:
#
# 1. Global setup: Steps that may have effects anywhere on the system.
# 2. Local setup: Steps that have effects only in this project (and in caches).
# 3. Shell setup: Steps that have effects only in the current shell.
#
# These steps are only suggestions and readers are welcome install dependencies in a different
# way, or skip them entirely;
# not every dependency is needed for every workflow and the way the `init_env.sh` file is
# created should allow blending global and local installations as the user sees fit.
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Global setup
# These steps typically need to be done once per machine, or when the project dependencies change.
#
# They are divided into multiple scripts to:
# - run only what is needed as root.
# - give the user insight into and control over how their system is configured.
#
# One prerequisite that is not documented explicitly below is Docker.
#
# More information about what each script does and why may be found in the script itself.
working-directory: .devhost
run: |
sudo mkdir /opt/axis/
sudo chown $USER /opt/axis/
./install-sdk.sh /opt/axis/
sudo ./install-system-packages.sh
./install-rust.sh
- name: Local setup
# This step typically needs to be done once per repository clone.
working-directory: .devhost
run: |
./install-venv.sh venv ../init_env.sh
- name: Shell setup
# This step typically needs to be done once per shell session.
# To verify that the procedure has worked, the all checks are run as well.
run: |
source ./init_env.sh
make check_all