Skip to content

Conversation

@sharkdp
Copy link
Contributor

@sharkdp sharkdp commented Jul 15, 2025

Summary

Adds a new workflow that generates an ecosystem report like this and publishes it to Cloudflare pages.

Test Plan

Not yet tested.

@sharkdp sharkdp added ci Related to internal CI tooling ty Multi-file analysis & type inference labels Jul 15, 2025
@sharkdp sharkdp requested a review from Copilot July 15, 2025 10:21
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Adds a scheduled GitHub Actions workflow that analyzes the repository, generates an ecosystem report, and deploys it to Cloudflare Pages.

  • Introduces ty-ecosystem-report.yaml to run the ecosystem-analyzer on a weekly schedule (and on demand).
  • Updates .github/zizmor.yml to include the new workflow in the repository’s workflow rules.

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
.github/zizmor.yml Added ty-ecosystem-report.yaml to the list of workflows tracked by zizmor.
.github/workflows/ty-ecosystem-report.yaml New workflow to checkout code, run the ecosystem-analyzer tool, generate an HTML report, and deploy to Cloudflare Pages.
Comments suppressed due to low confidence (4)

.github/workflows/ty-ecosystem-report.yaml:38

  • [nitpick] The step name "Install Rust toolchain" doesn’t match the command rustup show, which only displays the current toolchain. Consider renaming the step to reflect its purpose (e.g., "Show Rust toolchain") or updating the command to actually install a specific toolchain.
      - name: Install Rust toolchain

.github/workflows/ty-ecosystem-report.yaml:17

  • Defining CF_API_TOKEN_EXISTS as a boolean and then comparing it to the string 'true' in the conditional may prevent the deploy step from running even when the token is set. You can simplify by using the secret directly in the if, for example: if: ${{ secrets.CF_API_TOKEN != '' }}.
  CF_API_TOKEN_EXISTS: ${{ secrets.CF_API_TOKEN != '' }}

.github/workflows/ty-ecosystem-report.yaml:25

  • [nitpick] The checkout action is pinned to a specific commit SHA, which can make future updates harder to track. Consider using a release tag (e.g., actions/checkout@v4) for clearer intent and simpler upgrades.
      - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

.github/workflows/ty-ecosystem-report.yaml:3

  • The workflow’s permissions: {} configuration revokes all permissions by default. Verify that the deploy step (Cloudflare Pages via wrangler) has any required permissions (e.g., pages: write or id-token: write) or confirm that no additional permissions are needed.
permissions: {}

@sharkdp
Copy link
Contributor Author

sharkdp commented Jul 15, 2025

Will merge to test this.

@sharkdp sharkdp merged commit 8e61da7 into main Jul 15, 2025
37 checks passed
@sharkdp sharkdp deleted the david/ecosystem-report branch July 15, 2025 10:29
dcreager added a commit that referenced this pull request Jul 15, 2025
* main:
  [`pylint`] Extend invalid string character rules to include t-strings (#19355)
  Make TC010 docs example more realistic (#19356)
  Move RDJSON rendering to `ruff_db` (#19293)
  [`flake8-use-pathlib`] Skip single dots for `invalid-pathlib-with-suffix` (`PTH210`) on versions >= 3.14 (#19331)
  [`ruff`] Allow `strict` kwarg when checking for `starmap-zip` (`RUF058`) in Python 3.14+ (#19333)
  [ty] Reduce false positives for `TypedDict` types (#19354)
  [ty] Remove `ConnectionInitializer` (#19353)
  [ty] Use `Type::string_literal()` more (#19352)
  [ty] Add ecosystem-report workflow (#19349)
  [ty] Make use of salsa `Lookup` when interning values (#19347)
  [ty] Sync vendored typeshed stubs (#19345)
  [`pylint`] Make example error out-of-the-box (`PLE2502`) (#19272)
  [`pydoclint`] Fix `SyntaxError` from fixes with line continuations (`D201`, `D202`) (#19246)
dcreager added a commit that referenced this pull request Jul 15, 2025
* dcreager/merge-arguments:
  add types iterator
  add asserting constructor
  debug assert lengths
  remove unused From
  use FromIterator
  [`pylint`] Extend invalid string character rules to include t-strings (#19355)
  Make TC010 docs example more realistic (#19356)
  Move RDJSON rendering to `ruff_db` (#19293)
  [`flake8-use-pathlib`] Skip single dots for `invalid-pathlib-with-suffix` (`PTH210`) on versions >= 3.14 (#19331)
  [`ruff`] Allow `strict` kwarg when checking for `starmap-zip` (`RUF058`) in Python 3.14+ (#19333)
  [ty] Reduce false positives for `TypedDict` types (#19354)
  [ty] Remove `ConnectionInitializer` (#19353)
  [ty] Use `Type::string_literal()` more (#19352)
  [ty] Add ecosystem-report workflow (#19349)
  [ty] Make use of salsa `Lookup` when interning values (#19347)
  [ty] Sync vendored typeshed stubs (#19345)
  [`pylint`] Make example error out-of-the-box (`PLE2502`) (#19272)
  [`pydoclint`] Fix `SyntaxError` from fixes with line continuations (`D201`, `D202`) (#19246)
UnboundVariable pushed a commit to UnboundVariable/ruff that referenced this pull request Jul 15, 2025
…finition

* 'main' of https://github.com/astral-sh/ruff: (39 commits)
  [ty] Sync vendored typeshed stubs (astral-sh#19368)
  Fix typeshed-sync workflow (astral-sh#19367)
  Rework typeshed-sync workflow to also add docstrings for Windows- and MacOS-specific APIs (astral-sh#19360)
  [ty] Allow `-qq` for silent output mode (astral-sh#19366)
  [ty] Allow `-q` short alias for `--quiet` (astral-sh#19364)
  Add shellcheck to pre-commit (astral-sh#19361)
  distinguish references from definitions in `infer_nonlocal`
  [`pycodestyle`] Handle brace escapes for t-strings in logical lines (astral-sh#19358)
  [ty] Combine CallArguments and CallArgumentTypes (astral-sh#19337)
  Move Pylint rendering to `ruff_db` (astral-sh#19340)
  [`pylint`] Extend invalid string character rules to include t-strings (astral-sh#19355)
  Make TC010 docs example more realistic (astral-sh#19356)
  Move RDJSON rendering to `ruff_db` (astral-sh#19293)
  [`flake8-use-pathlib`] Skip single dots for `invalid-pathlib-with-suffix` (`PTH210`) on versions >= 3.14 (astral-sh#19331)
  [`ruff`] Allow `strict` kwarg when checking for `starmap-zip` (`RUF058`) in Python 3.14+ (astral-sh#19333)
  [ty] Reduce false positives for `TypedDict` types (astral-sh#19354)
  [ty] Remove `ConnectionInitializer` (astral-sh#19353)
  [ty] Use `Type::string_literal()` more (astral-sh#19352)
  [ty] Add ecosystem-report workflow (astral-sh#19349)
  [ty] Make use of salsa `Lookup` when interning values (astral-sh#19347)
  ...

# Conflicts:
#	crates/ty_ide/src/goto.rs
#	crates/ty_server/src/server.rs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci Related to internal CI tooling ty Multi-file analysis & type inference

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants