name: Installer CI run-name: Test the installation script on: pull_request: paths: - 'scripts/install.sh' push: paths: - 'scripts/install.sh' schedule: - cron: '0 2 * * *' # every day at 02:00 UTC jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # 5.0.0 - name: Run ShellCheck on install.sh run: shellcheck scripts/install.sh smoke-test-on-dev: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - name: Install dependencies uses: ./.github/actions/setup-runner - name: Build a single provider run: | BUILD_ARGS="--build-arg INSTALL_MODE=editable --build-arg DISTRO_NAME=starter" if [ -n "${UV_EXTRA_INDEX_URL:-}" ]; then BUILD_ARGS="$BUILD_ARGS --build-arg UV_EXTRA_INDEX_URL=$UV_EXTRA_INDEX_URL" fi if [ -n "${UV_INDEX_STRATEGY:-}" ]; then BUILD_ARGS="$BUILD_ARGS --build-arg UV_INDEX_STRATEGY=$UV_INDEX_STRATEGY" fi docker build . \ -f containers/Containerfile \ $BUILD_ARGS \ --tag llama-stack:starter-ci - name: Run installer end-to-end run: | IMAGE_ID=$(docker images --format "{{.Repository}}:{{.Tag}}" | head -n 1) ./scripts/install.sh --image $IMAGE_ID