Skip to content

API docs generation for releases ^3.32-candidate.0 is broken #168709

@matanlurey

Description

@matanlurey

tl;dr: In the current release candidate (3.32) and subsequent candidates (i.e. 3.33 and so-on) API docs are not generated.

Severity: This is a blocker for the 3.32 stable release, as well as subsequent beta releases.


In #162557, we modified the Linux docs_publish target at master:

  • added enabled_branches: [master]
  • removed release_build: "true"

This fixed #162552, main-api.flutter.dev, but inadvertently broke release channel doc generation, which we would not notice until the beta release of flutter-3.32 because flutter-3.29 still used the (older) .ci.yaml (without the changes above).

Specifically:

  1. enabled_branches: [master] → no longer runs release candidates (3.32-candidate.0) or release channels (beta, stable)
  2. release_build: "true" → no longer short-circuits the release_build branch in recipes/release/release_builder.py

This was noticed as part of a failing build in dart-internal/flutter/Linux packaging_release_builder #293:

Docs revision being processed: dbc3660e848145748d81e3c81795571f36307a29
stderr:   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0   245    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (22) The requested URL returned error: 404

Unhandled exception:
Instance of 'CommandException'
#0      runProcessWithValidations (file:///b/s/w/ir/x/w/flutter/dev/bots/post_process_docs.dart:101:5)
#1      postProcess (file:///b/s/w/ir/x/w/flutter/dev/bots/post_process_docs.dart:35:9)
<asynchronous suspension>
#2      main (file:///b/s/w/ir/x/w/flutter/dev/bots/post_process_docs.dart:18:3)
<asynchronous suspension>

This is because the SHA, dbc3660e848145748d81e3c81795571f36307a29, did not have the Linux docs_publish step run on it.

Ideas:

  1. Fork the target into Linux docs_publish_release, which is release_build: "true" and enabled_branches: [everything-but-master]
  2. Change Linux docs_publish to enabled_branches: [everything] and add a new flag, schedule_for_packing: "true"1

Both of these solutions will require cherrypicks into flutter-3.32-candidate.0 and 3.33. I personally prefer (2).

Footnotes

  1. Better names welcome.

Metadata

Metadata

Assignees

Labels

P0Critical issues such as a build break or regressionc: regressionIt was better in the past than it is nowinfra: recipesIssues with flutter/recipesinfra: releaseRelease-related requests and toolingteam-infraOwned by Infrastructure teamtriaged-infraTriaged by Infrastructure team

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions