Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: CI Refactor #1003

Merged
merged 2 commits into from
May 10, 2024
Merged

chore: CI Refactor #1003

merged 2 commits into from
May 10, 2024

Conversation

mjameswh
Copy link
Contributor

@mjameswh mjameswh commented Dec 19, 2022

What changed

  • 💥 Dropped support for Node 14.x and glibc 2.17 💥
  • Integration tests are now run on MacOS ARM and Linux ARM machines (tests for these platforms were not executed previously).
  • The bridge/rust library now run natively on MacOS ARM and Linux ARM (they were previously cross-compiled).
  • The CI build and test workflows now use more recent version of various GitHub Actions commmands; in particular, we no longer use action/artifacts@v1 and @v2 commands, which will soon no longer be supported by GitHub.
  • The CI process now uses caching much more aggressively. For example, the process now avoids rebuilding native libraries if the rust code and dependencies haven't changed. This should considerably cut down the time it takes to get CI results (~10-15 minutes on the common case where a PR doesn't modify native code).
  • The CI process now gathers native artifacts for all platforms into a single package, paving the way to automate the release process.
  • It is now easy to run the SDK test suites with a specific version of the Temporal CLI and Time Skipping Test Server, by specifying the TESTS_CLI_VERSION and TESTS_TIME_SKIPPING_SERVER_VERSION environment variables.
  • The SDK test suites no longer attempts to run tests that require the Time Skipping Server on Linux ARM, as the test server is not available for that platform.

@mjameswh
Copy link
Contributor Author

mjameswh commented May 4, 2023

@CLAassistant
Copy link

CLAassistant commented Jul 6, 2023

CLA assistant check
All committers have signed the CLA.

@mjameswh mjameswh changed the title [IGNORE] CI Refactor chore: CI Refactor May 1, 2024
@mjameswh
Copy link
Contributor Author

mjameswh commented May 1, 2024

Can't yet add Node 22 to the build matrix due to nodejs/node#52682.

@mjameswh mjameswh marked this pull request as ready for review May 1, 2024 21:53
@mjameswh mjameswh requested a review from a team as a code owner May 1, 2024 21:53
Copy link
Member

@bergundy bergundy left a comment

Choose a reason for hiding this comment

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

Mostly LGTM. I didn't have any blocking comments.

.github/workflows/ci.yml Outdated Show resolved Hide resolved
.github/workflows/ci.yml Outdated Show resolved Hide resolved
.github/workflows/ci.yml Outdated Show resolved Hide resolved
.github/workflows/ci.yml Outdated Show resolved Hide resolved
prefix-key: corebridge-buildcache
shared-key: ${{ matrix.platform }}
env-vars: ''
# save-if: ${{ env.IS_MAIN_BRANCH }}
Copy link
Member

Choose a reason for hiding this comment

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

leftover?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

No. I will uncoment this at the very last moment. Added a FIXME.

Cache space is limited, and rust build cache can take a lot of space. I want to avoid cache trashing due to PRs that make several successive modifications to the native code.
So the idea here is to keep the rust build cache reflecting the main branch as much as possible.

packages/test/src/test-testenvironment.ts Outdated Show resolved Hide resolved
packages/test/src/integration-tests-old.ts Outdated Show resolved Hide resolved
CONTRIBUTING.md Outdated Show resolved Hide resolved
CONTRIBUTING.md Outdated Show resolved Hide resolved
repository: temporalio/docker-compose
path: docker-compose
- name: Install Temporal CLI
uses: temporalio/setup-temporal@v0
Copy link
Member

Choose a reason for hiding this comment

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

Is this action even stable?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It was about a year ago, and I'm not aware of any problem with it ATM. It goes through https://temporal.download/cli/, not the shell script, and clearly, still work properly now that CLI 0.12.0 has been released.

But agree we should get some more pair of eyes on that repo.

@mjameswh mjameswh merged commit adac766 into main May 10, 2024
85 checks passed
@mjameswh mjameswh deleted the ci-refactor branch May 10, 2024 22:44
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.

None yet

3 participants