Make dependabot ignore grpcio-tools (#1160) #525
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: run-tests | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - feature/* | |
| tags: | |
| - v* | |
| pull_request: | |
| branches: | |
| - main | |
| - release-* | |
| - feature/* | |
| workflow_dispatch: | |
| inputs: | |
| daprdapr_commit: | |
| description: 'Dapr/Dapr commit to build custom daprd from' | |
| required: false | |
| default: '' | |
| daprcli_commit: | |
| description: 'Dapr/CLI commit to build custom dapr CLI from' | |
| required: false | |
| default: '' | |
| repository_dispatch: | |
| types: [validate-examples] | |
| merge_group: | |
| jobs: | |
| validate: | |
| runs-on: ubuntu-latest | |
| env: | |
| CHECKOUT_REPO: ${{ github.repository }} | |
| CHECKOUT_REF: ${{ github.ref }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python_ver: ["3.10", "3.11", "3.12", "3.13", "3.14"] | |
| steps: | |
| - name: Parse repository_dispatch payload | |
| if: github.event_name == 'repository_dispatch' | |
| run: | | |
| if [ ${{ github.event.client_payload.command }} = "ok-to-test" ]; then | |
| echo "CHECKOUT_REPO=${{ github.event.client_payload.pull_head_repo }}" >> $GITHUB_ENV | |
| echo "CHECKOUT_REF=${{ github.event.client_payload.pull_head_ref }}" >> $GITHUB_ENV | |
| fi | |
| - name: Check out code onto GOPATH | |
| uses: actions/checkout@v7 | |
| with: | |
| repository: ${{ env.CHECKOUT_REPO }} | |
| ref: ${{ env.CHECKOUT_REF }} | |
| - name: Determine latest Dapr Runtime version | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| MIN_RUNTIME_VERSION="1.18.0" | |
| RUNTIME_VERSION=$(curl -fsS -H "Authorization: Bearer $GITHUB_TOKEN" \ | |
| "https://api.github.com/repos/dapr/dapr/releases?per_page=10" | \ | |
| jq -r 'map(select(.prerelease == false)) | sort_by(.created_at) | reverse | .[0].tag_name | ltrimstr("v")') | |
| if [ -z "$RUNTIME_VERSION" ] || [ "$RUNTIME_VERSION" = "null" ]; then | |
| echo "Failed to resolve Dapr Runtime version" && exit 1 | |
| fi | |
| if [ "$(printf '%s\n' "$MIN_RUNTIME_VERSION" "$RUNTIME_VERSION" | sort -V | head -n1)" != "$MIN_RUNTIME_VERSION" ]; then | |
| echo "Resolved runtime version $RUNTIME_VERSION is below minimum $MIN_RUNTIME_VERSION, using minimum instead" | |
| RUNTIME_VERSION="$MIN_RUNTIME_VERSION" | |
| fi | |
| echo "DAPR_RUNTIME_VER=$RUNTIME_VERSION" >> $GITHUB_ENV | |
| echo "Found $RUNTIME_VERSION" | |
| - name: Determine latest Dapr CLI version | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| CLI_VERSION=$(curl -fsS -H "Authorization: Bearer $GITHUB_TOKEN" \ | |
| "https://api.github.com/repos/dapr/cli/releases?per_page=10" | \ | |
| jq -r 'map(select(.prerelease == false)) | sort_by(.created_at) | reverse | .[0].tag_name | ltrimstr("v")') | |
| if [ -z "$CLI_VERSION" ] || [ "$CLI_VERSION" = "null" ]; then | |
| echo "Failed to resolve Dapr CLI version" && exit 1 | |
| fi | |
| echo "DAPR_CLI_VER=$CLI_VERSION" >> $GITHUB_ENV | |
| echo "Found $CLI_VERSION" | |
| - name: Set up Python ${{ matrix.python_ver }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python_ver }} | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v8.3.0 | |
| - name: Install dependencies | |
| run: uv sync --frozen --all-packages --group tests | |
| - name: Set up Dapr CLI | |
| uses: dapr/.github/.github/actions/setup-dapr-cli@main | |
| with: | |
| commit: ${{ github.event.inputs.daprcli_commit }} | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Set up Dapr runtime | |
| uses: dapr/.github/.github/actions/setup-dapr-runtime@main | |
| with: | |
| commit: ${{ github.event.inputs.daprdapr_commit }} | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| # The official install.sh spends ~1.5 minutes creating a system user and | |
| # a systemd service that CI does not need; extracting the tarball and | |
| # running `ollama serve` directly takes seconds. | |
| - name: Set up Llama | |
| run: | | |
| curl -fsSL https://github.com/ollama/ollama/releases/latest/download/ollama-linux-amd64.tar.zst | sudo tar --zstd -xf - -C /usr/local | |
| nohup ollama serve > "$RUNNER_TEMP/ollama-serve.log" 2>&1 & | |
| timeout 60 bash -c 'until curl -fsS http://127.0.0.1:11434/api/tags > /dev/null; do sleep 1; done' | |
| ollama pull llama3.2:latest | |
| - name: Run integration tests | |
| run: | | |
| uv run pytest tests/integration/ | |
| - name: Validate examples | |
| run: | | |
| uv run pytest tests/examples/ |