Skip to content

New CI#1479

Merged
AStaroverov merged 15 commits intomainfrom
feat/new-ci
Apr 14, 2026
Merged

New CI#1479
AStaroverov merged 15 commits intomainfrom
feat/new-ci

Conversation

@AStaroverov
Copy link
Copy Markdown
Collaborator

No description provided.

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Mar 2, 2026

🦋 Changeset detected

Latest commit: 11db329

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 0 packages

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a new, reusable GitHub composite action designed to streamline the setup of a comprehensive CI environment. It automates the configuration of Node.js, pnpm, various container registries (ECR, Quay.io), and Turbo S3 remote caching, aiming to standardize and accelerate build and deployment workflows.

Highlights

  • New GitHub Composite Action: Introduced a new reusable GitHub composite action, .github/actions/setup/action.yml, to standardize and streamline CI environment setup.
  • Node.js and pnpm Setup: Configured Node.js and pnpm, including pnpm store caching, to ensure efficient dependency management and faster installations.
  • Registry Logins and AWS Integration: Integrated conditional logins for AWS ECR, Quay.io, and containers.pl-open.science Docker registries, along with AWS credential configuration, to facilitate secure access to container images and cloud resources.
  • Turbo S3 Remote Cache: Implemented conditional setup for Turbo S3 remote caching to accelerate build processes by leveraging shared cache across CI runs.
Changelog
  • .github/actions/setup/action.yml
    • Added a new GitHub composite action for setting up the CI environment.
    • Included steps for Node.js and pnpm setup, dependency caching, AWS and Docker registry logins, and Turbo S3 cache configuration.
Ignored Files
  • Ignored by pattern: .github/workflows/** (3)
    • .github/workflows/build.yaml
    • .github/workflows/build_run_all_tests.yaml
    • .github/workflows/test-k8s-nightly.yaml
Activity
  • The pull request is currently marked as "[WIP]" (Work In Progress) by AStaroverov, indicating that it is still under active development.
  • No specific review comments or further activity have been recorded yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a new composite GitHub Action to standardize the setup of the CI environment, handling Node.js and pnpm setup, caching, Docker registry logins, and dependency installation. No security vulnerabilities were found. The implementation is solid, but a minor typo and an opportunity to improve the clarity of some input descriptions have been identified for better maintainability.

Comment thread .github/actions/setup/action.yml
Comment thread .github/actions/setup/action.yml
NPMJS_TOKEN: ${{ secrets.NPMJS_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PL_DOCKER_REGISTRY_PUSH_TO: 'quay.io/milaboratories/pl-containers'
run: pnpm run ci:build:local
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Does this affect new package releases?
If so, we then get into the situation, when software (ptabler, ptexter) metadata becomes released without proper build/upload of package to our CDN and docker registry. This means we will have inconsistent workflow-tengo SDK package that would 100% break every block that will try to use it.
PL_PKG_DEV=local affects software builds and is designed for local software changes. It intentionally prevents software publication and 'spoils' links to the software in metadata to local paths on a host instead of real URLs.
It is like having file:// link in dependencies of your package.json, pointing to some private package you never published to anyone.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

nope, it's not affect release packages. Before publish we run ci:build

MI_LICENSE: ${{ secrets.MI_LICENSE }}
NPMJS_TOKEN: ${{ secrets.NPMJS_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: pnpm run ci:test:local
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Potentially, the same story as for builds for releases.
Tests are run over some backend that is started as a separate process. In remote K8S, or as a docker container with docker-compose. This means, any reference to software that contains local path on a current runner would not exist on remote backend side.

I don't say this would never work. I just show a warn flag this is a thing to check. I.e., by adding chages to some python code of ptabler/ptexter we publish from monorepo (if we still do so).

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

This scenario hasn't changed, this logic has always had this command

@AStaroverov AStaroverov force-pushed the feat/new-ci branch 2 times, most recently from 9c8e4ef to 9276ff2 Compare April 14, 2026 07:23
@AStaroverov AStaroverov changed the title [WIP] New CI New CI Apr 14, 2026
@AStaroverov AStaroverov added this pull request to the merge queue Apr 14, 2026
Merged via the queue into main with commit a087138 Apr 14, 2026
5 checks passed
@AStaroverov AStaroverov deleted the feat/new-ci branch April 14, 2026 10:17
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