diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 90dffc50..2a374f71 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -2,6 +2,7 @@ # See https://docs.github.com/en/code-security/dependabot/dependabot-version-updates version: 2 + updates: - package-ecosystem: github-actions directory: / diff --git a/.github/workflows/test-package.yml b/.github/workflows/build.yml similarity index 62% rename from .github/workflows/test-package.yml rename to .github/workflows/build.yml index 4daa8459..8aa7fa3e 100644 --- a/.github/workflows/test-package.yml +++ b/.github/workflows/build.yml @@ -7,6 +7,7 @@ on: pull_request: branches: [ main ] schedule: + # Run nightly. - cron: "0 0 * * 0" env: @@ -20,14 +21,12 @@ jobs: strategy: fail-fast: false matrix: - sdk: [main] - flavor: [raw] + sdk: [stable] steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 - uses: dart-lang/setup-dart@b64355ae6ca0b5d484f0106a033dd1388965d06d with: sdk: ${{ matrix.sdk }} - flavor: ${{ matrix.flavor }} - id: install name: Install dependencies run: dart pub get @@ -38,29 +37,45 @@ jobs: run: dart analyze --fatal-infos if: always() && steps.install.outcome == 'success' - # Run tests on a matrix consisting of three dimensions: - # 1. OS: ubuntu-latest, (macos-latest, windows-latest) - # 2. release channel: main, dev - # 3. flavor: raw + # Run tests on a matrix of several SDK releases. test: needs: analyze runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: - # Add macos-latest and/or windows-latest if relevant for this package. os: [ubuntu-latest] - sdk: [main, dev] - flavor: [raw] + sdk: [dev, beta, stable] steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 - uses: dart-lang/setup-dart@b64355ae6ca0b5d484f0106a033dd1388965d06d with: sdk: ${{ matrix.sdk }} - flavor: ${{ matrix.flavor }} - - id: install - name: Install dependencies + - name: Install dependencies run: dart pub get - name: Run Chrome tests run: dart test --platform chrome - if: always() && steps.install.outcome == 'success' + + # Ensure the generation script runs. + generation: + needs: analyze + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest] + sdk: [main, dev] + steps: + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 + - uses: dart-lang/setup-dart@b64355ae6ca0b5d484f0106a033dd1388965d06d + with: + sdk: ${{ matrix.sdk }} + - name: Install Dart dependencies + run: dart pub get + - name: Install Node dependencies + run: npm install + working-directory: tool/bindings_generator + - name: Run the generator + run: dart tool/update_bindings.dart + - name: Analyze code + run: dart analyze --fatal-infos diff --git a/.github/workflows/post_summaries.yaml b/.github/workflows/post_summaries.yaml new file mode 100644 index 00000000..52c729f3 --- /dev/null +++ b/.github/workflows/post_summaries.yaml @@ -0,0 +1,19 @@ +# A workflow to allow other workflow to comment on PRs. + +name: Comment on the pull request + +on: + # Trigger this workflow after the Health workflow completes. This workflow + # will have permissions to do things like create comments on the PR, even if + # the original workflow couldn't. + workflow_run: + workflows: + - Publish + types: + - completed + +jobs: + upload: + uses: dart-lang/ecosystem/.github/workflows/post_summaries.yaml@main + permissions: + pull-requests: write diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 4887c8b4..d1833240 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -14,4 +14,4 @@ jobs: if: ${{ github.repository_owner == 'dart-lang' }} uses: dart-lang/ecosystem/.github/workflows/publish.yaml@main with: - sdk: beta + write-comments: false diff --git a/README.md b/README.md index f56e61d9..80e9b11f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Dart CI](https://github.com/dart-lang/web/actions/workflows/test-package.yml/badge.svg)](https://github.com/dart-lang/web/actions/workflows/test-package.yml) +[![Dart CI](https://github.com/dart-lang/web/actions/workflows/build.yml/badge.svg)](https://github.com/dart-lang/web/actions/workflows/build.yml) [![pub package](https://img.shields.io/pub/v/web.svg)](https://pub.dev/packages/web) [![package publisher](https://img.shields.io/pub/publisher/web.svg)](https://pub.dev/packages/web/publisher)