Commit Graph

18 Commits

Author SHA1 Message Date
Claude
99fce0de47 fix: resolve TypeScript build errors and lint issues
- Fix axios-retry type compatibility issues in reporter.ts
- Remove unused imports (Context, Metric_MetricType)
- Update test expectations to match current implementation
- Fix ESLint errors and apply formatting

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-03 15:33:27 -04:00
Claude
cc46a915dd refactor: complete removal of buildkit and sticky disk management
This commit completes the refactoring of build-push-action to focus solely on
Docker build reporting and metrics, with all infrastructure management moved
to the separate setup-docker-builder action.

Changes:
- Remove all setupOnly references from context.ts, main.ts, and state-helper.ts
- Rename startBlacksmithBuilder to reportBuildMetrics to better reflect its purpose
- Remove exposeId from all function signatures and state management
- Remove sticky disk commit logic from reporter.ts
- Update tests to match new function names and signatures
- Clean up unused imports and fix linting issues

The action now assumes that a Docker builder has already been configured
(either via setup-docker-builder or existing setup) and focuses only on:
- Running Docker builds with the configured builder
- Reporting build metrics and status to Blacksmith API
- Managing build outputs and metadata

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-01 14:25:57 -04:00
Claude
a037e6f634 src: use BLACKSMITH prefixed VM ID env var 2025-06-16 16:12:28 -04:00
Claude
41a36ac067 src: print the port bpa is trying to hit 2025-05-14 13:43:57 -04:00
Claude
11ec21ffed src: use port from env 2025-04-15 18:23:28 -07:00
Claude
ab514e31b5 *: introduce a setup-only mode to the build-push-action
This setup-only mode will setup a docker builder with the stickydisk
mounted but will not run a Docker build. The use case here is to allow
customers to then run their custom Tilt files or Docker commands against
our builder. The other subtle change is that we only cleanup in the post
step of this builder action. It is still to be seen if you can start several
of these builders at the same time in a workflow but we can do that as a follow
on.
2025-04-14 16:36:36 -07:00
Aditya Maru
4a3e86e9c9 src: add scaffolding for support multi-platform builds 2025-02-17 05:25:52 +05:30
Aditya Maru
9fdeb57c53 src: disable automatic buildkit GC
We have reason to believe that automatic GC is affecting
daemon startup times. In this patch we disable automatic GC
and instead rely on manual pruning of the buildkit cache.
Once the daemon is ready we spawn an async task to run prune
on any objects older than 14 days. We are already manaing the
ceph volume approaching its size limit ourselves in the VM
Agent.

Patch also adds some alerting when inode usage is high on a mountpoint.
2024-12-23 09:15:34 -05:00
Aditya Maru
61713d1849 src: print api url in debug info 2024-12-21 23:42:52 -05:00
Aditya Maru
6fe2467492 src: silence metric warnings for now 2024-12-21 23:12:08 -05:00
Aditya Maru
4759d93c12 src: use the plumbed BLACKSMITH_BACKEND_URL if present 2024-12-21 12:08:11 -05:00
Aditya Maru
def1585067 *: report metrics to the VM agent 2024-12-20 17:43:40 -05:00
Aditya Maru
ac42783fa9 src: cleanup flakiness in different parts of the action 2024-12-18 09:58:15 -05:00
Aditya Maru
d43ee61bb7 *: move to grpc backed communication for the agent 2024-12-16 15:29:30 -05:00
Aditya Maru
0f99a0b1c7 src: start sending get request with query params
We are incorrectly using formData in a get request. To move
away from this we send both query params and formData until
the server is fully upgraded. After which we can stop sending
formData.
2024-12-09 13:01:35 -05:00
Aditya Maru
0186286e06 *: use axios-retry instead of handrolled retry methods 2024-12-09 13:01:20 -05:00
Aditya Maru
f06a558c36 src: alert if an exception is thrown on cleanup 2024-12-08 19:21:46 -05:00
Aditya Maru
c71ad2dbef *: refactor methods to support mocking
Additionally, write some tests to ensure the driver method
`startBlacksmithBuilder` handles all exceptions correctly in
both nofallback=true and nofallback=false configurations.
2024-12-08 14:35:30 -05:00