Skip to content

Conversation

isoos
Copy link
Collaborator

@isoos isoos commented Sep 18, 2025

  • Update and completion of Refactor Github Actions #8787.
  • New CI workflow is no longer generated, simpler to update.
  • Removes mono_repo dependency (tool/run-pub-in-all.sh to keep the most used feature).
  • Updated integration test to ignore some messages that are apparently race conditions in puppeteer. Needs further investigation, but asserts are running and work as expected.

@isoos isoos force-pushed the ci branch 5 times, most recently from 428d92a to 6800aae Compare September 19, 2025 09:37
@isoos isoos changed the title Refactor Github Actions Refactor Github Actions + remove mono_repo Sep 19, 2025
@isoos isoos requested a review from sigurdm September 19, 2025 10:20
@isoos isoos marked this pull request as ready for review September 19, 2025 10:22
@@ -0,0 +1,19 @@
#!/bin/bash
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we need this?

pub upgrade in the root should upgrade the entire workspace.

@@ -0,0 +1,9 @@
// Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this intended to be part of this PR?


/// The timeout factor that should be used in integration tests.
final testTimeoutFactor = 6;
final testTimeoutFactor = 8;
Copy link
Contributor

Choose a reason for hiding this comment

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

Belonging to a different PR?

import 'package:puppeteer_screenshots/puppeteer_utils.dart';
import 'package:retry/retry.dart';

/// Filters server or client messages, ignoring and not reporting them as errors.
Copy link
Contributor

Choose a reason for hiding this comment

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

Belonging to a different PR?


setUpAll(() async {
fakeTestScenario = await TestContextProvider.start();
fakeTestScenario = await TestContextProvider.start(
Copy link
Contributor

Choose a reason for hiding this comment

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

Belonging to a different PR?

strategy:
fail-fast: false
matrix:
package:
Copy link
Contributor

Choose a reason for hiding this comment

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

Not sure if this can be computed dynamically, but we have dart pub workspace list --json to list all the packages in the workspace.

@isoos
Copy link
Collaborator Author

isoos commented Sep 19, 2025

The seemingly unrelated changes are part of the PR, because the pkg/pub_integration tests become extremely flaky when migrating away from the previous model (which had them run in 4 different batches). To stabilize the tests:

  • We need to trigger the puppeteer download (if not present), otherwise the download's internal cleanup is being hit by race condition and causes failures.
  • There is a race condition coming from puppeteer logs that is absent when running with -j1 and may be present when running test concurrently. Ignoring the related messages does make the test stable, and I've confirmed that the expectations are still run and met, these messages can be ignored.
  • The increase of the timeout may not be needed, but wouldn't hurt.

@isoos isoos merged commit 2f175b1 into dart-lang:master Sep 19, 2025
22 checks passed
@isoos isoos deleted the ci branch September 19, 2025 11:25
@isoos isoos mentioned this pull request Sep 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants