Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: fix CI reports not uploading #138

Merged
merged 7 commits into from
Dec 5, 2024

Conversation

aaronsteers
Copy link
Contributor

@aaronsteers aaronsteers commented Dec 5, 2024

This resolves the issue where airbyte-ci reports were not being uploaded, and the PR author would have to manually download the job results artifact, then decompress, and then navigate to the report url.

Requires this PR to be merged:

Now, the report URL is printed in the job execution log (as usual for Airbyte CI tests):

image

For convenient access, it is also posted to the "Summary" page of the GitHub Workflow for easy access, and to prevent having to scan through job logs:

https://github.com/airbytehq/airbyte-python-cdk/actions/runs/12187332389?pr=138

image

The job artifacts are still downloadable from the bottom of the Summary page as well, in case other test report artifacts are useful - but for most cases, you can simply go to the summary page and click on the report link in the job summary.

image

Summary by CodeRabbit

  • New Features

    • Enhanced reporting capabilities with HTML report URL extraction.
    • Improved clarity in workflow execution outputs.
  • Bug Fixes

    • Clearer output messages when the job is aborted due to no relevant changes.
  • Chores

    • Updated job permissions to allow creating checks on pull requests.
    • Specified branch for code checkout in testing.
    • Adjusted job name for conditional skipping based on relevant changes.

@github-actions github-actions bot added the ci label Dec 5, 2024
@aaronsteers aaronsteers marked this pull request as ready for review December 5, 2024 20:25
@aaronsteers
Copy link
Contributor Author

aaronsteers commented Dec 5, 2024

/autofix

Auto-Fix Job Info

This job attempts to auto-fix any linting or formating issues. If any fixes are made,
those changes will be automatically committed and pushed back to the PR.

Note: This job can only be run by maintainers. On PRs from forks, this command requires
that the PR author has enabled the Allow edits from maintainers option.

PR auto-fix job started... Check job output.

✅ Changes applied successfully.

Copy link
Contributor

coderabbitai bot commented Dec 5, 2024

📝 Walkthrough
📝 Walkthrough

Walkthrough

The pull request modifies the .github/workflows/connector-tests.yml workflow file to enhance its functionality. Key changes include updates to job permissions, conditional job naming based on previous job outputs, and improved output messaging for clarity. The checkout step now references a specific branch, and the Test Connector step has been adjusted with additional parameters. The output handling has been refined to include an HTML report URL and success status, improving the workflow's reporting capabilities.

Changes

File Change Summary
.github/workflows/connector-tests.yml - Updated permissions to include checks: write for connectors_ci job.
- Modified job name to include conditional skip message based on cdk_changes job outputs.
- Refined Abort if extra not changed step for clearer output messages.
- Changed checkout step to reference branch aj/airbyte-ci/allow-report-uploads-with-fewer-permissions.
- Adjusted Test Connector step to include --ci-report-bucket-name=airbyte-ci-reports-multi.
- Renamed Evaluate Test Output to Evaluate Test and added id: evaluate_output.
- Added output variables success and html_report_url in Evaluate Test step.
- Enhanced job output to include success status and HTML report URL for further use.

Possibly related PRs

Suggested reviewers

  • aaronsteers

📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 491896d and 9748eae.

📒 Files selected for processing (1)
  • .github/workflows/connector-tests.yml (4 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • .github/workflows/connector-tests.yml

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

‼️ IMPORTANT
Auto-reply has been disabled for this repository in the CodeRabbit settings. The CodeRabbit bot will not respond to your replies unless it is explicitly tagged.

  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Outside diff range and nitpick comments (1)
.github/workflows/connector-tests.yml (1)

136-138: Consider parameterizing the bucket name? 🤔

The hardcoded bucket name works, but would it be more flexible to move this to a GitHub secret or environment variable? This would make it easier to use different buckets for different environments, wdyt?

-          --ci-report-bucket-name=airbyte-ci-reports-multi \
+          --ci-report-bucket-name=${{ secrets.CI_REPORT_BUCKET_NAME }} \
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 819555f and 491896d.

📒 Files selected for processing (1)
  • .github/workflows/connector-tests.yml (5 hunks)
🔇 Additional comments (2)
.github/workflows/connector-tests.yml (2)

97-98: LGTM! The checks permission is necessary.

The addition of checks: write permission is appropriate for creating check runs and aligns with the goal of improving report accessibility.


Line range hint 146-170: Great job on the enhanced reporting! 👏

The changes nicely improve the visibility of test results by:

  • Extracting and displaying the HTML report URL
  • Adding clear success/failure indicators
  • Providing structured outputs for downstream steps

This aligns perfectly with the PR's goal of making reports more accessible.

.github/workflows/connector-tests.yml Outdated Show resolved Hide resolved
Copy link
Contributor

@natikgadzhi natikgadzhi left a comment

Choose a reason for hiding this comment

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

Can we also make the GH check line link to the html report?

Approving contingent on the comment that you made to revert the thing to master

@aaronsteers
Copy link
Contributor Author

aaronsteers commented Dec 5, 2024

Can we also make the GH check line link to the html report?

@natikgadzhi - Yes, I think so. I wanted to implement the same but my attempt was reverted here (a50c1b7) due to a "not found" error when I tested it. I'll create a follow-on issue to try again in another PR...

Update: logged here:

@aaronsteers aaronsteers merged commit ff62936 into main Dec 5, 2024
18 checks passed
@aaronsteers aaronsteers deleted the aj/ci/fix-ci-reports-not-uploading branch December 5, 2024 21:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants