Skip to content

ci: migrate ci workflow to github action - #181

Merged
rkaraivanov merged 1 commit into
masterfrom
dpetev/migrate-ci-workflow
Aug 3, 2026
Merged

ci: migrate ci workflow to github action#181
rkaraivanov merged 1 commit into
masterfrom
dpetev/migrate-ci-workflow

Conversation

@damyanpetev

Copy link
Copy Markdown
Member

Migrate CI from Azure Pipelines to GitHub Actions

Ports the CI pipeline from Azure Pipelines to GitHub Actions, keeping the build/test steps in a shared, reusable unit so the release pipeline can be migrated the same way later.

What changed

  • New composite action .github/actions/setup-build-test — the shared equivalent of setup-build-test-steps.yml. Installs Node, runs npm ci, build, validate:dist, lint, installs Playwright, and runs test:ci. Exposes licensed and verbose inputs. Both CI and the future release workflow can consume it via uses: ./.github/actions/setup-build-test.
  • New workflow .github/workflows/ci.yml — replaces .azure-pipelines/ci.yml. Runs the composite action, then publishes coverage and uploads reports.

Notable translation decisions

  • Checkout lives in the workflow, not the composite action. A local composite action can't check out the repo itself — the code must already be present for GitHub to load action.yml — so checkout stays in each caller and the reusable core is everything after it.
  • IG_LICENSED_BUILD truthiness preserved. The build scripts treat any non-empty value (including "false") as licensed, so the env var is set to 'true' only when licensed is true and to an empty string otherwise, matching Azure's if eq(parameters.licensed, true) guard.
  • verbose maps to --loglevel verbose appended to the npm scripts, mirroring the Azure Npm@1 verbose option.
  • Triggers: pull_requestmaster and pushmaster, plus workflow_dispatch (exposing the verbose toggle). A concurrency group cancels superseded PR runs while letting master-push runs complete for history.
  • Coverage/test reporting: uses the first-party (public preview) actions/upload-code-coverage@v1 to surface coverage on the PR from the existing Cobertura report (coverage/cobertura-coverage.xml), and uploads the JUnit report and full coverage directory as artifacts. No third-party actions introduced.

Notes / follow-ups

  • actions/upload-code-coverage@v1 is in public preview and requires the code-quality: write permission (set in the workflow); the Code Coverage preview may need to be enabled for the repo/org.
  • The built-in action posts coverage on the PR rather than as an expandable run-Summary block. The blazor-style run-Summary list would require the third-party ReportGenerator action; not included here to stay first-party.
  • The old .azure-pipelines/ CI files are left in place for now and can be retired once the release pipeline is migrated too.

@damyanpetev
damyanpetev force-pushed the dpetev/validate-dist branch 2 times, most recently from fe4c463 to f3f837b Compare August 3, 2026 11:42
Base automatically changed from dpetev/validate-dist to master August 3, 2026 11:53
@damyanpetev
damyanpetev force-pushed the dpetev/migrate-ci-workflow branch from a014a57 to 8e6618d Compare August 3, 2026 11:57
@damyanpetev
damyanpetev marked this pull request as ready for review August 3, 2026 11:57
@damyanpetev
damyanpetev requested a review from Copilot August 3, 2026 11:57
@damyanpetev
damyanpetev enabled auto-merge (squash) August 3, 2026 11:59

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Migrates the project’s CI pipeline from Azure Pipelines to GitHub Actions by introducing a reusable composite action that encapsulates the shared setup/build/test steps, and a new CI workflow that invokes it and publishes coverage and test artifacts.

Changes:

  • Adds a new GitHub Actions CI workflow triggered on PRs/pushes to master (plus manual dispatch), with concurrency controls and required permissions.
  • Introduces a composite action to install Node, run npm ci, build, validate dist, lint, install Playwright browsers, and run test:ci.
  • Publishes code coverage and uploads JUnit/coverage artifacts.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
.github/workflows/ci.yml New CI workflow wiring checkout + composite build/test, plus coverage + artifacts publishing.
.github/actions/setup-build-test/action.yml New composite action implementing the shared CI build/test steps for reuse across workflows.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/actions/setup-build-test/action.yml
@github-code-quality

Copy link
Copy Markdown

Code Coverage Overview

Languages: TypeScript

TypeScript / React Wrappers

The overall coverage in commit 8e6618d in the dpetev/migrate-ci-wo... branch is 97%. Coverage data for the master branch is not yet available.

Show a code coverage summary of the most covered files.
File master dpetev/migrate-ci-wo... 8e6618d +/-
src/equal.ts 100%
src/backfills.ts 100%
src/random-uuid.ts 100%
src/extras/index.tsx 100%
src/grid-lite/g...-lite-column.ts 100%
src/grid-lite/grid-lite.ts 100%
src/backfill-types-grids.ts 100%
src/render-props.ts 97%
src/react-props.tsx 94%
src/backfill-ty...s-components.ts 0%

@damyanpetev
damyanpetev requested a review from rkaraivanov August 3, 2026 12:04
@rkaraivanov
rkaraivanov disabled auto-merge August 3, 2026 12:07
@rkaraivanov
rkaraivanov merged commit 366a8bf into master Aug 3, 2026
5 of 6 checks passed
@rkaraivanov
rkaraivanov deleted the dpetev/migrate-ci-workflow branch August 3, 2026 12:07
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.

3 participants