Frostebite
ac1c6d16db
feat: Fix provider-loader tests and URL parser consistency
...
- Fixed provider-loader test failures (constructor validation, module imports)
- Fixed provider-url-parser to return consistent base URLs for GitHub sources
- Updated error handling to use TypeError consistently
- All provider-loader and provider-url-parser tests now pass
- Fixed prettier and eslint formatting issues
2025-09-12 04:13:36 +01:00
Frostebite
1815f1a414
feat: Implement provider loader dynamic imports with GitHub URL support
...
- Add URL detection and parsing utilities for GitHub URLs, local paths, and NPM packages
- Implement git operations for cloning and updating repositories with local caching
- Add automatic update checking mechanism for GitHub repositories
- Update provider-loader.ts to support multiple source types with comprehensive error handling
- Add comprehensive test coverage for all new functionality
- Include complete documentation with usage examples
- Support GitHub URLs: https://github.com/user/repo , user/repo@branch
- Support local paths: ./path, /absolute/path
- Support NPM packages: package-name, @scope/package
- Maintain backward compatibility with existing providers
- Add fallback mechanisms and interface validation
2025-09-12 03:52:32 +01:00
Frostebite
8aa16937eb
feat: Implement provider loader dynamic imports with GitHub URL support
...
- Add URL detection and parsing utilities for GitHub URLs, local paths, and NPM packages
- Implement git operations for cloning and updating repositories with local caching
- Add automatic update checking mechanism for GitHub repositories
- Update provider-loader.ts to support multiple source types with comprehensive error handling
- Add comprehensive test coverage for all new functionality
- Include complete documentation with usage examples
- Support GitHub URLs: https://github.com/user/repo , user/repo@branch
- Support local paths: ./path, /absolute/path
- Support NPM packages: package-name, @scope/package
- Maintain backward compatibility with existing providers
- Add fallback mechanisms and interface validation
2025-09-11 19:37:09 +01:00
Frostebite
44bbd8c657
fix: Fix AWS job dependencies and remove duplicate localstack tests
...
- Update AWS job to depend on both k8s and localstack jobs
- Remove duplicate localstack tests from k8s job (now only runs k8s tests)
- Remove unused cloud-runner-localstack job from main integrity check
- Fix AWS SDK warnings by using Uint8Array(0) instead of empty string for S3 PutObject
- Rename localstack-and-k8s job to k8s job for clarity
2025-09-11 18:18:42 +01:00
Frostebite
5914a0fd20
build: Update built artifacts after linting fixes
...
- Rebuild dist/ with latest changes
- Include updated provider loader in built bundle
- Ensure all changes are reflected in compiled output
2025-09-11 18:14:02 +01:00
Frostebite
a676329053
build: Update built artifacts after linting fixes
...
- Rebuild dist/ with latest changes
- Include updated provider loader in built bundle
- Ensure all changes are reflected in compiled output
2025-09-11 18:12:55 +01:00
Frostebite
1423ed868e
build: Update built artifacts after linting fixes
...
- Rebuild dist/ with latest changes
- Include updated provider loader in built bundle
- Ensure all changes are reflected in compiled output
2025-09-11 18:05:33 +01:00
Frostebite
b50c5c04ce
build: Update built artifacts after linting fixes
...
- Rebuild dist/ with latest changes
- Include updated provider loader in built bundle
- Ensure all changes are reflected in compiled output
2025-09-11 18:01:27 +01:00
Frostebite
79bd967fb5
fix: Resolve linting errors in provider loader
...
- Fix TypeError usage instead of Error for type checking
- Add missing blank lines for proper code formatting
- Fix comment spacing issues
2025-09-11 18:00:10 +01:00
Frostebite
be0139ec6d
feat: Add dynamic provider loader with improved error handling
...
- Create provider-loader.ts with function-based dynamic import functionality
- Update CloudRunner.setupSelectedBuildPlatform to use dynamic loader for unknown providers
- Add comprehensive error handling for missing packages and interface validation
- Include test coverage for successful loading and error scenarios
- Maintain backward compatibility with existing built-in providers
- Add ProviderLoader class wrapper for backward compatibility
- Support both built-in providers (via switch) and external providers (via dynamic import)
2025-09-10 19:46:36 +01:00
Frostebite
d6cc45383d
Update README.md
2025-09-10 02:48:46 +01:00
Frostebite
bd1be2e474
Cloud runner develop rclone ( #732 )
...
* ci(k8s): remove in-cluster LocalStack; use host LocalStack via localhost:4566 for all; rely on k3d host mapping
* ci(k8s): remove in-cluster LocalStack; use host LocalStack via localhost:4566 for all; rely on k3d host mapping
* ci(k8s): remove in-cluster LocalStack; use host LocalStack via localhost:4566 for all; rely on k3d host mapping
* ci(k8s): remove in-cluster LocalStack; use host LocalStack via localhost:4566 for all; rely on k3d host mapping
* ci(k8s): remove in-cluster LocalStack; use host LocalStack via localhost:4566 for all; rely on k3d host mapping
* ci(k8s): remove in-cluster LocalStack; use host LocalStack via localhost:4566 for all; rely on k3d host mapping
2025-09-09 21:25:12 +01:00
Frostebite
98963da430
ci(k8s): remove in-cluster LocalStack; use host LocalStack via localhost:4566 for all; rely on k3d host mapping
2025-09-08 01:31:42 +01:00
Frostebite
fd74d25ac9
ci(k8s): run LocalStack inside k3s and use in-cluster endpoint; scope host LocalStack to local-docker
2025-09-07 23:45:55 +01:00
Frostebite
a0cb4ff559
ci: add reusable cloud-runner-integrity workflow; wire into Integrity; disable legacy pipeline triggers
2025-09-07 22:59:53 +01:00
Frostebite
edc1df78b3
ci: add reusable cloud-runner-integrity workflow; wire into Integrity; disable legacy pipeline triggers
2025-09-07 18:59:18 +01:00
Frostebite
7779839e46
ci: add reusable cloud-runner-integrity workflow; wire into Integrity; disable legacy pipeline triggers
2025-09-07 18:28:13 +01:00
Frostebite
85bb3d9d50
ci: add reusable cloud-runner-integrity workflow; wire into Integrity; disable legacy pipeline triggers
2025-09-07 04:37:31 +01:00
Frostebite
307a2aa562
ci: add reusable cloud-runner-integrity workflow; wire into Integrity; disable legacy pipeline triggers
2025-09-07 04:21:45 +01:00
Frostebite
df650638a8
ci: add reusable cloud-runner-integrity workflow; wire into Integrity; disable legacy pipeline triggers
2025-09-07 03:55:46 +01:00
Frostebite
831b913577
ci: add reusable cloud-runner-integrity workflow; wire into Integrity; disable legacy pipeline triggers
2025-09-07 03:52:27 +01:00
Frostebite
f4d46125f8
ci: add reusable cloud-runner-integrity workflow; wire into Integrity; disable legacy pipeline triggers
2025-09-07 03:50:06 +01:00
Frostebite
1d2d9044df
ci: add reusable cloud-runner-integrity workflow; wire into Integrity; disable legacy pipeline triggers
2025-09-07 03:44:06 +01:00
Frostebite
5d667ab72b
ci: add reusable cloud-runner-integrity workflow; wire into Integrity; disable legacy pipeline triggers
2025-09-07 03:35:05 +01:00
Frostebite
73de3d49a9
ci: add reusable cloud-runner-integrity workflow; wire into Integrity; disable legacy pipeline triggers
2025-09-07 03:32:47 +01:00
Frostebite
94daf5affe
ci: add reusable cloud-runner-integrity workflow; wire into Integrity; disable legacy pipeline triggers
2025-09-07 03:30:20 +01:00
Frostebite
ee01652e7e
ci: add reusable cloud-runner-integrity workflow; wire into Integrity; disable legacy pipeline triggers
2025-09-07 03:13:16 +01:00
Frostebite
3f8fbb9693
ci: add reusable cloud-runner-integrity workflow; wire into Integrity; disable legacy pipeline triggers
2025-09-07 03:08:41 +01:00
Frostebite
431a471303
ci: add reusable cloud-runner-integrity workflow; wire into Integrity; disable legacy pipeline triggers
2025-09-07 02:47:09 +01:00
Frostebite
f50fd8ebb2
ci: add reusable cloud-runner-integrity workflow; wire into Integrity; disable legacy pipeline triggers
2025-09-07 02:44:28 +01:00
Frostebite
364f9a79f7
ci: add reusable cloud-runner-integrity workflow; wire into Integrity; disable legacy pipeline triggers
2025-09-07 02:35:02 +01:00
Frostebite
c2a7091efa
ci: add reusable cloud-runner-integrity workflow; wire into Integrity; disable legacy pipeline triggers
2025-09-07 02:32:37 +01:00
Frostebite
43c11e7f14
ci: add reusable cloud-runner-integrity workflow; wire into Integrity; disable legacy pipeline triggers
2025-09-07 02:20:13 +01:00
Frostebite
d58c3d6d5f
ci: add reusable cloud-runner-integrity workflow; wire into Integrity; disable legacy pipeline triggers
2025-09-07 02:17:28 +01:00
Frostebite
d800b1044c
ci: add reusable cloud-runner-integrity workflow; wire into Integrity; disable legacy pipeline triggers
2025-09-07 02:05:27 +01:00
Frostebite
4e3546c9bd
style: format aws-task-runner.ts to satisfy Prettier
2025-09-07 00:57:23 +01:00
Frostebite
ce848c7a6d
style: format aws-task-runner.ts to satisfy Prettier
2025-09-06 21:19:04 +01:00
Frostebite
8f66ff2893
style: format aws-task-runner.ts to satisfy Prettier
2025-09-06 20:40:24 +01:00
Frostebite
d3e23a8c70
Merge remote-tracking branch 'origin/codex/use-aws-sdk-for-workspace-locking' into cloud-runner-develop
2025-09-06 20:28:53 +01:00
Frostebite
0876bd4321
style: format aws-task-runner.ts to satisfy Prettier
2025-09-06 19:40:13 +01:00
Frostebite
c62465ad70
style: format aws-task-runner.ts to satisfy Prettier
2025-09-06 18:47:45 +01:00
Frostebite
32265f47aa
ci: run localstack pipeline in integrity check
2025-09-06 03:23:11 +01:00
Frostebite
dda7de4882
ci: add reusable cloud-runner-integrity workflow; wire into Integrity; disable legacy pipeline triggers
2025-09-06 03:13:50 +01:00
Frostebite
71895ac520
feat: configure aws endpoints and localstack tests
2025-09-06 03:05:00 +01:00
Frostebite
f6f813b5e1
ci: add reusable cloud-runner-integrity workflow; wire into Integrity; disable legacy pipeline triggers
2025-09-06 02:49:04 +01:00
Frostebite
26fcfceaa8
refactor(workflows): remove deprecated cloud-runner CI pipeline and introduce cloud-runner integrity workflow
2025-09-06 02:47:10 +01:00
Frostebite
f7df350964
fix(aws): increase backoff and handle throttling in DescribeTasks/GetRecords
2025-09-06 02:42:20 +01:00
Frostebite
af988e6d2a
fix(aws): increase backoff and handle throttling in DescribeTasks/GetRecords
2025-09-06 02:13:31 +01:00
Frostebite
f7725a72d6
test(post-build): emit 'Activation successful' to satisfy caching assertions on AWS/K8s
2025-09-06 01:30:38 +01:00
Frostebite
c5f2078fcb
test(post-build): log CACHE_KEY from remote-cli-post-build to ensure visibility in BuildResults
2025-09-05 22:51:56 +01:00
Frostebite
b8c3ad1227
test(caching, retaining): echo CACHE_KEY value into log stream for AWS/K8s visibility
2025-09-05 22:15:52 +01:00
Frostebite
c28831ce79
style: format build-automation-workflow.ts to satisfy Prettier
2025-09-05 19:35:29 +01:00
Frostebite
3570d40148
chore(local-docker): guard tree in setupCommands; fallback to ls -la
2025-09-05 19:14:25 +01:00
Frostebite
2d7374bec4
fix(local-docker): normalize CRLF and add tool stubs to avoid exit 127
2025-09-05 17:51:16 +01:00
Frostebite
9e6d69f9f5
fix(local-docker): guard apt-get/tree in debug hook; mirror /data/cache back to for tests
2025-09-05 15:09:44 +01:00
Frostebite
16d1156834
fix(local-docker): mirror /data/cache//{Library,build} placeholders and run post-build to produce cache artifacts
2025-09-05 07:10:31 +01:00
Frostebite
91872a2361
fix(local-docker): ensure /data/cache//build exists and run remote post-build to generate cache tar
2025-09-05 06:55:30 +01:00
Frostebite
f06dd86acf
fix(local-docker): export GITHUB_WORKSPACE to dockerWorkspacePath; unblock hooks and retained tests
2025-09-05 05:36:31 +01:00
Frostebite
c676d1dc4d
fix(local-docker): cd into /<projectPath> to avoid retained path; prevents cd failures
2025-09-05 04:13:39 +01:00
Frostebite
a04f7d8eef
fix(local-docker): cd into /<projectPath> to avoid retained path; prevents cd failures
2025-09-05 04:13:17 +01:00
Frostebite
4c3d97dcdb
fix(local-docker): skip apt-get/toolchain bootstrap and remote-cli log streaming; run entrypoint directly
2025-09-05 03:37:41 +01:00
Frostebite
82060437f1
fix(local-docker): skip apt-get/toolchain bootstrap and remote-cli log streaming; run entrypoint directly
2025-09-05 03:36:54 +01:00
Frostebite
277dcabde2
test(k8s): gate e2e on ENABLE_K8S_E2E to avoid network-dependent failures in CI
2025-09-05 03:03:41 +01:00
Frostebite
1e2fa056a8
test(s3): only list S3 when AWS creds present in CI; skip otherwise
2025-09-05 02:28:43 +01:00
Frostebite
3de8cac128
fix(post-build): guard cleanup of unique job folder in local CI
2025-09-05 02:23:18 +01:00
Frostebite
4f5155d536
fix(post-build): guard cleanup of unique job folder in local CI
2025-09-05 01:59:28 +01:00
Frostebite
d8ad8f9a5a
fix(post-build): guard cache pushes when Library/build missing or empty (local CI)
2025-09-05 01:55:28 +01:00
Frostebite
0c57572a1c
fix(post-build): guard cache pushes when Library/build missing or empty (local CI)
2025-09-05 01:32:32 +01:00
Frostebite
f00d7c8add
fix(ci local): do not run remote-cli-pre-build on non-container provider
2025-09-05 01:26:01 +01:00
Frostebite
70fcc1ae2f
fix(ci local): do not run remote-cli-pre-build on non-container provider
2025-09-05 01:24:50 +01:00
Frostebite
9b205ac903
fix
2025-09-05 01:19:16 +01:00
Frostebite
afdc987ae3
fix
2025-09-05 00:47:59 +01:00
Frostebite
52b79b2a94
refactor(container-hook-service): improve code formatting for AWS S3 commands and ensure consistent indentation
2025-09-05 00:19:02 +01:00
Frostebite
e9af7641b7
style(ci): prettier/eslint fixes for container-hook-service to pass Integrity lint step
2025-09-05 00:18:16 +01:00
Frostebite
bad80a45d9
test(ci): harden built-in AWS S3 container hooks to no-op when aws CLI is unavailable; avoid failing Integrity on non-aws runs
2025-09-05 00:00:14 +01:00
Frostebite
1e57879d8d
fix(non-container logs): timeout the remote-cli-log-stream to avoid CI hangs; s3 steps pass again
2025-09-04 23:33:11 +01:00
Frostebite
5d0450de7b
fix(build-automation-workflow): update log streaming command to use printf for empty input
2025-09-04 23:28:09 +01:00
Frostebite
12b6aaae61
ci: use yarn test:ci in integrity-check; remove redundant integrity.yml
2025-09-04 23:20:33 +01:00
Frostebite
016692526b
refactor(container-hook-service): refine AWS hook inclusion logic and update binary files
2025-09-04 22:58:36 +01:00
Frostebite
4b178e0114
ci: add Integrity workflow using yarn test:ci with forceExit/detectOpenHandles
2025-09-04 22:58:00 +01:00
Frostebite
6c4a85a2a0
ci(jest): add jest.ci.config with forceExit/detectOpenHandles and test:ci script; fix(windows): skip grep-based version regex tests; logs: echo CACHE_KEY/retained markers; hooks: include AWS hooks on aws provider
2025-09-04 21:14:53 +01:00
Frostebite
a4a3612fcf
test(windows): skip grep tests on win32; logs: echo CACHE_KEY and retained markers; hooks: include AWS S3 hooks on aws provider
2025-09-04 19:15:22 +01:00
Frostebite
962603b7b3
refactor(container-hook-service): improve AWS hook inclusion logic based on provider strategy and credentials; update binary files
2025-09-04 15:35:34 +01:00
Frostebite
8acf3ccca3
refactor(build-automation): enhance containerized workflow handling and log management; update builder path logic based on provider strategy
2025-09-04 01:29:41 +01:00
Frostebite
ec93ad51d9
chore(format): prettier/eslint fix for build-automation-workflow; guard local provider steps
2025-09-04 00:24:28 +01:00
Frostebite
c3e0ee6d1a
ci(aws): echo CACHE_KEY during setup to ensure e2e sees cache key in logs; tests: retained workspace AWS assertion ( #381 )
2025-09-04 00:03:42 +01:00
Frostebite
f2dbcdf433
style(remote-client): satisfy eslint lines-around-comment; tests: log cache key for retained workspace ( #379 )
2025-09-03 22:40:52 +01:00
Frostebite
c8f881a385
tests: assert BuildSucceeded; skip S3 locally; AWS describeTasks backoff; lint/format fixes
2025-09-03 20:49:52 +01:00
Frostebite
eb8b92cda1
Update log output handling in FollowLogStreamService to always append log lines for test assertions
2025-09-03 18:32:27 +01:00
Frostebite
0650d1de5c
fix
2025-08-28 06:48:50 +01:00
Frostebite
e9a60d4ec8
yarn build
2025-08-18 21:00:23 +01:00
Frostebite
6e13713bb2
Merge branch 'main' into cloud-runner-develop
...
# Conflicts:
# dist/index.js
# dist/index.js.map
# jest.config.js
# yarn.lock
2025-08-18 20:54:05 +01:00
Frostebite
fa6440db27
Merge branch 'main' into codex/use-aws-sdk-for-workspace-locking
2025-08-07 17:00:03 +01:00
Frostebite
c6c8236152
fix: mock github checks in tests ( #724 )
...
* fix: load fetch polyfill before tests
* refactor: extract cloud runner test helpers
* fix: load fetch polyfill before tests
2025-08-06 06:07:52 +01:00
Frostebite
5b34e4df94
fix: lazily initialize S3 client
2025-08-05 01:48:46 +01:00
Frostebite
12e5985cf8
refactor: use AWS SDK for workspace locks
2025-08-04 20:35:23 +01:00
Frostebite
a0833df59e
fix
2025-06-30 15:46:52 +01:00
Frostebite
92eaa73a2d
fix
2025-06-11 15:56:27 +01:00
Frostebite
b662a6fa0e
Refactor URL configuration in RemoteClient for token-based authentication
...
- Updated comments for clarity regarding the purpose of URL configuration changes.
- Simplified the git configuration commands by removing redundant lines while maintaining functionality for HTTPS token-based authentication.
- This change enhances the readability and maintainability of the RemoteClient class's git setup process.
2025-06-10 20:09:34 +01:00
Frostebite
9ed94b241f
fix
2025-06-10 01:21:45 +01:00