Skip to content

Conversation

@ianhi
Copy link
Collaborator

@ianhi ianhi commented Oct 1, 2025

This is the same branch as #1226 but on a branch form within the repo to make sure the tests all run properly

ianhi and others added 26 commits September 26, 2025 14:07
- Split rust-ci tests: basic tests for external PRs, full tests for trusted PRs
- External PRs run unit tests only (--lib) without external service secrets
- Internal PRs and labeled external PRs get full integration testing
- Added label-based approval: maintainers can add 'test-external-services' label
- Added manual dispatch workflow for on-demand external PR testing
- Reusable workflow design prevents code duplication
- Maintains security while enabling external contributions

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

Co-Authored-By: Claude <[email protected]>
- Split rust-ci into separate jobs: rust-safe (immediate) + rust-external-services (approval required)
- rust-safe: runs unit tests, MinIO/Azurite integration tests, doc tests, examples across all platforms
- rust-external-services: requires 'external-services' environment approval for AWS/R2/Tigris tests
- External PRs get comprehensive feedback immediately while secrets remain protected
- Maintainers can review code changes before approving external service tests
- Uses GitHub's built-in deployment protection with audit trail
- Optimized external tests to only run AWS/R2/Tigris (excludes redundant MinIO tests)
- Maintains backward compatibility with workflow_call for reusability
- Removed separate test-external-pr.yaml (functionality now integrated)

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

Co-Authored-By: Claude <[email protected]>
…iciency

- Merge rust-external-services and rust-cron-integration into single job
- For manual approval (PR/push): Run targeted external service tests (AWS, R2, Tigris)
- For cron schedule: Run comprehensive integration tests (all ignored tests)
- Remove duplicate job infrastructure and unnecessary Docker setup
- Maintain same deployment protection for both execution modes

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

Co-Authored-By: Claude <[email protected]>
- Update environment name from external-services to ci-with-secrets
- Leverages existing GitHub environment configuration
- Maintains deployment protection for external service tests

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

Co-Authored-By: Claude <[email protected]>
Single rust-external-services job with conditional environment protection:
- External PRs: Require manual approval via ci-with-secrets environment
- Internal PRs & cron: Run automatically without environment protection
- Combines external services and cron integration into unified job
- Maintains test separation: safe tests (MinIO/Azurite) vs external services

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

Co-Authored-By: Claude <[email protected]>
Clean up leftover file from shared workflow approach.
Using single job with conditional environment protection instead.

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

Co-Authored-By: Claude <[email protected]>
Remove inputs.ref which only applies to reusable workflows.
Use standard github.event.pull_request.head.sha || github.sha instead.

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

Co-Authored-By: Claude <[email protected]>
- Remove unused workflow_call section and inputs
- Remove 'labeled' trigger that was for abandoned label-based bypass
- Keep clean regular workflow without reusable workflow leftovers

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

Co-Authored-By: Claude <[email protected]>
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.

2 participants