Skip to content

Conversation

@nsheaps
Copy link

@nsheaps nsheaps commented May 15, 2025

Migrate from CircleCI to GitHub Actions

  • Replaced CircleCI configuration with GitHub Actions workflows in .github/workflows/ci.yml
  • Set up matrix testing for Node.js versions 18, 20, 22, and 24
  • Added caching for dependencies using the yarn.lock hash
  • Updated Node.js engine requirements from ">= 6.9.0 || >= 8.9.0" to ">=18.20.8 <25"
  • Added .nvmrc file specifying Node.js 20.19.2
  • Added CODEOWNERS file assigning ownership to @gathertown/eng-prod
  • Updated package.json scripts to use yarn instead of npm
  • Enhanced yarn configuration with architecture support and plugins
  • Updated license information to include Gather Presence, Inc.
  • Converted Jest configuration from .jestrc to jest.config.js

GitHub Actions workflows include test jobs with proper caching, dependency installation, and test execution across multiple Node.js versions, plus a separate analysis job for linting.

nsheaps added 7 commits May 15, 2025 16:04
Convert CircleCI workflows to GitHub Actions workflows.

* Add `.github/workflows/ci.yml` to define GitHub Actions workflows for dependency caching, testing, analysis, and publishing.
* Use a matrix to test with Node.js versions 18, 20, and 22.
* Include steps for restoring cache, installing dependencies, running tests, and submitting coverage data.
* Define a workflow named `validate-publish` with multiple jobs and dependencies.
* Add a setup node step in each job where npm is used.
* Delete `.circleci/config.yml`.
* Add `.nvmrc` file to set the Node.js version to 20.19.
* Update `package.json` to specify Node.js version 20.19 in the engines field.

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/gathertown/worklet-loader?shareId=XXXX-XXXX-XXXX-XXXX).
* Modify `.github/workflows/ci.yml` to set the workflow to run on `push: {}`
* Update `.nvmrc` to set the Node.js version to `20.19.0`
…ns/cache and actions/setup-node

* Change all instances of `actions/cache@v2` to `actions/cache@v4` in `.github/workflows/ci.yml`
* Change all instances of `actions/setup-node@v2` to `actions/setup-node@v4` in `.github/workflows/ci.yml`
* Update `.github/workflows/ci.yml` to use `yarn` instead of `npm` for installing dependencies and running scripts
  - Change cache key to use `yarn.lock` instead of `package-lock.json`
  - Remove `yarn run security` step
* Update `package.json` to use `yarn` instead of `npm` in the `scripts` section
  - Remove `security` script and `nsp` dependency
@nsheaps nsheaps force-pushed the nsheaps/nate/convert-circleci-to-github-actions branch from f6ecadf to 6f32976 Compare May 15, 2025 20:04
@nsheaps nsheaps requested review from Copilot and jaredallard May 15, 2025 20:20
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

This PR migrates the CI pipeline from CircleCI to GitHub Actions and standardizes project tooling around Node.js 20.19.0 and Yarn.

  • Introduce .github/workflows/ci.yml for testing and linting across Node.js 18, 20, 22.
  • Remove the CircleCI configuration and .jestrc, add .nvmrc to pin Node.js to 20.19.0.
  • Update package.json scripts to use Yarn, set the engines field to Node 20.19.0, and revise author metadata.

Reviewed Changes

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

Show a summary per file
File Description
src/worklets/InlineWorklet.js Remove outdated comments around the BlobBuilder API.
package.json Switch npm to Yarn scripts, update Node engine, author.
LICENSE Update copyright metadata (contains a typo).
.nvmrc Add file to pin Node.js version to 20.19.0.
.jestrc Remove Jest config (testEnvironment may need relocating).
.github/workflows/ci.yml Add GitHub Actions workflow for CI.
.circleci/config.yml Delete CircleCI configuration.
Comments suppressed due to low confidence (1)

.jestrc:2

  • Removing this Jest config may cause tests to run with the default environment (jsdom). If Node environment is required, add testEnvironment: "node" back into your Jest configuration (e.g., in package.json).
  "testEnvironment": "node"

@@ -1,4 +1,5 @@
Additions and modifications to `worker-loader` copyright (c) 2018 Walker Henderson
Additions and modifications to `worlet-loader` copyright (c) 2025 Gather Presence, Inc.
Copy link

Copilot AI May 15, 2025

Choose a reason for hiding this comment

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

It looks like worlet-loader is a typo—should be worker-loader to match the original project name.

Suggested change
Additions and modifications to `worlet-loader` copyright (c) 2025 Gather Presence, Inc.
Additions and modifications to `worker-loader` copyright (c) 2025 Gather Presence, Inc.

Copilot uses AI. Check for mistakes.
@nsheaps nsheaps marked this pull request as ready for review May 15, 2025 20:40
@@ -0,0 +1 @@
20.19.2

Choose a reason for hiding this comment

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

how dare you not use mise

@nsheaps nsheaps merged commit 69214bc into main May 15, 2025
5 checks passed
@nsheaps nsheaps deleted the nsheaps/nate/convert-circleci-to-github-actions branch May 15, 2025 20:47
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