name: setup-kas description: Create or reuse the persistent python venv that holds kas. inputs: requirement: description: pip requirement for kas (pinned, e.g. kas==5.5) required: false default: kas outputs: kas: description: Absolute path of the kas executable value: ${{ steps.venv.outputs.kas }} reused: description: "true when the venv already existed (warm run)" value: ${{ steps.venv.outputs.reused }} runs: using: composite steps: - name: Prepare venv id: venv shell: bash run: | set -euo pipefail BUILD_ROOT="${YOCTO_HOME:-$HOME/yocto-build}" VENV="$BUILD_ROOT/venv" mkdir -p "$BUILD_ROOT" if [ -d "$VENV" ]; then echo "reused=true" >> "$GITHUB_OUTPUT" else echo "reused=false" >> "$GITHUB_OUTPUT" python3 -m venv "$VENV" fi "$VENV/bin/pip" install --quiet --upgrade "${{ inputs.requirement }}" echo "kas=$VENV/bin/kas" >> "$GITHUB_OUTPUT" echo "kas $($VENV/bin/kas --version) in $VENV"