Hey <@UB2EH889X>, hope you're doing well (not sure...
# atmos-dev
j
Hey @Erik Osterman (Cloud Posse), hope you're doing well (not sure who to ping so I hope you can forward it to the right person 🙂) We are running into frequent Github rate limits with our drift detection as our project grows - the main culprit seems to be the pagination over the releases in the setup atmos action. I've submitted a PR to the setup action that hopefully remedies this (and speeds it up quite a bit as a result) github.com/cloudposse/github-action-setup-atmos/pull/116
e
Thanks, will review!
We don't use the action any more in our own workflows
That said, we should still make the optimizations you propose in the PR
j
Thanks for the tip; I looked into it before but I couldn't find any drift detection so I think that's why we didn't migrate to the new CI yet
e
While yes, in that workflow we are using native CI, the key takeaway is that all execution of atmos happens inside a container that already has atmos installed. Whether or not you use "native CI"
While I can't attest to that the drift detection action will run in the container, it I wouldn't rule it out.
j
So I suppose theoretically all the existing actions can be made compatible with the container by disabling the setup-atmos sub-action inside the actions?
e
Yes, that would be the trick
(we arrived at this solution based on our own load testing with Atmos Pro; imagine a PR that modifies 500 component instances. It doesn't take more than a few commit pushes and replans to blow through all github rate limits).
j
Yes that's also partially why I ended up here haha
e
Note, the CI tests failed on the PR
Can you take a look?
And address the coderabbit nitpicks
Copy code
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@src/__tests__/setup-atmos.test.ts`:
- Around line 98-112: Move the githubReleaseArm fixture out of
setup-atmos.test.ts into the shared src/__fixtures__ location, export it from
the fixture module, and import it into the test suite where it is used. Preserve
the fixture's current values and structure.
- Around line 29-35: Replace the octokit method mocks in the affected tests with
nock interceptors for the tagged, latest, and paginated GitHub release API
requests used by createOctokit. Configure each response to match the expected
request and add afterEach(() => nock.cleanAll()) around these tests to remove
interceptors between cases.
j
Yes, I'll take a look tomorrow 👍
👍 1
I looked into the reviews; I did not implement the nitpick about
nock
because it would affect other (unrelated to my PR) tests as well.
e
Kicked off the tests; if they pass we'll merge