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: Consolidates and improves the ci workflow #256

Merged
merged 9 commits into from
Dec 18, 2024

Conversation

gto90
Copy link
Member

@gto90 gto90 commented Dec 17, 2024

Purpose

This pull request consolidates CI workflows and improves development environment configuration by optimizing GitHub Actions performance and adding standardized VS Code settings.

Changes Made

CI Improvements:

  • Consolidated multiple CI workflows into ci-coverage-ubuntu-full-qt-tests.yml
  • Implemented caching for pip, BerkeleyDB, and depends build artifacts
  • Added cache keys for better dependency management
  • Optimized build performance with parallel jobs (-j3)

Development Environment:

  • Added settings.json with comprehensive C++ file associations for:
    • Standard library headers (chrono, mutex, thread, etc.)
    • System headers
    • Core C++ components
  • Configured CMake settings to ignore missing CMakeLists
  • Enhanced VS Code workspace configuration for consistent development experience

The CI improvements significantly reduce build times by caching dependencies across workflow runs, while the VS Code settings standardize the development environment for all contributors.

Additional Information

The CI optimization reduces redundant builds and downloads, making our continuous integration process more efficient. The VS Code configuration ensures consistent coding environment across different development setups.

This commit consolidates the former Actions into a new GitHub Actions workflow that builds and tests DigiByte Core on Ubuntu with full Qt support and test coverage enabled.

The workflow:
- Runs on Ubuntu latest
- Installs required build dependencies
- Sets up Python packages needed for testing
- Configures Qt5 development tools

This helps ensure code quality by running comprehensive tests on pull requests develop/master branches.
@gto90 gto90 self-assigned this Dec 17, 2024
@gto90 gto90 added enhancement New feature or request refactor Code Refactoring labels Dec 17, 2024
Copy link

@JaredTate JaredTate left a comment

Choose a reason for hiding this comment

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

cACK. Looks good. Thanks for doing this! Will be great to get automated tests on all PRs again.

Copy link
Member

@ycagel ycagel left a comment

Choose a reason for hiding this comment

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

cACK. Great job @gto90!

@ycagel ycagel merged commit 2c2d8ae into develop Dec 18, 2024
1 check passed
@gto90 gto90 deleted the bugfix/ci-cd-consolidation branch December 18, 2024 03:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request refactor Code Refactoring
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants