-
Notifications
You must be signed in to change notification settings - Fork 1
Ci cd #6
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
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Create workflows
Add Super-Linter workflow for multi-language code linting.
Changed formatting of events and added pull_request
Specifies exact dependencies.
Update package.json for AI Object Recognition Project.
Add CI pipeline for Python and Node.js.
Add integration tests for AI Object Recognition Project.
Add unit tests in test_example.py for AI Object Recognition project
Remove comments to clear Node.js tests.
Simplified package.json to pass Node.js tests.
- Modified deploy-staging.yml to trigger on any push or pull request across all branches. - Added wildcard '**' to ensure the workflow runs on all branches for both push and pull events. - Deployment to staging is limited to direct pushes, while pull requests run the build steps without deploying. This update enables more flexible testing and deployment workflows across different branches, supporting comprehensive CI/CD coverage.
- Added a "build" script in package.json to resolve missing build step error in CI workflow. - Ensures the "npm run build" command runs successfully, supporting the staging deployment process. - Prevents workflow failures due to missing build script, enhancing CI/CD stability. This update ensures the CI workflow can proceed smoothly without errors related to the build step.
- Integrated React app in a 'client' directory and added a build script in the root package.json to build the frontend. - Updated package.json with "build" script to navigate to the client directory, install dependencies, and run npm build. - Configured Express server to serve static files from the React build directory, enabling full-stack deployment from a single server. - Ensures production-ready React files are served alongside the Node.js backend for streamlined deployment. This setup supports building and deploying both frontend and backend in a full-stack environment.
- Added double quotes around environment variables and file paths in the curl command within deploy-staging.yml. - Resolved shellcheck SC2086 error by quoting $STAGING_API_URL and @/dist/index.js to prevent globbing and word splitting. - Ensures compatibility with shellcheck and improves the reliability of the staging deployment step. This update addresses linter errors, allowing the CI workflow to proceed without deployment command issues.
- Created a new React application in the client directory to serve as the frontend for the project. - Set up necessary files and dependencies for the React app, enabling a structured frontend environment. - Updated project structure to support a full-stack setup with separate client and server codebases. This addition provides the foundational setup for the React frontend, facilitating the build and deployment process.
- Initialized package.json in the client directory to manage dependencies for the React frontend. - Added core React dependencies and scripts for starting, building, and testing the frontend. - This setup allows separate management of frontend and backend dependencies in a full-stack project structure.
- Added index.html to the client/public directory to serve as the entry point for the React application. - Fixes the error encountered during the build process where the required index.html file could not be found. - Ensures that the React build process completes successfully in the GitHub Actions workflow. This update provides the necessary file structure for the React frontend, enabling successful deployment.
Goodbye
- Placed index.html in the client/public directory to serve as the entry point for the React application. - Resolves the issue in the build process where react-scripts could not locate the required index.html file. - Ensures the React app can be built and deployed successfully. This addition allows the React build process to complete without errors in the GitHub Actions workflow.
- Added a step to list the root directory contents in the GitHub Actions workflow to verify that the client directory and necessary files are accessible. - Ensures that the workflow can locate client/public/index.html and other essential files during the build process. - This update helps identify issues with directory paths and confirms the presence of required files in the GitHub Actions environment. This change aims to resolve build issues by providing more insight into the directory structure during deployment.
…ugging - Added a step to list the contents of client/public in the GitHub Actions workflow to confirm accessibility of necessary files. - Also included root directory listing to check the overall project structure during workflow execution. - This update helps identify any issues with file paths or missing files, ensuring that the build process can locate index.html and other required files. This change aims to resolve build errors by providing clearer insights into the directory structure within the GitHub Actions environment.
- Created e2e-tests.yml to run Cypress end-to-end tests after deployment to the staging environment. - Configured workflow to trigger after the Staging Deployment workflow completes. - Includes steps to set up Node.js, install dependencies, start the staging server, and execute Cypress tests. - This workflow ensures comprehensive testing of the entire user workflow in a staging environment. This addition automates E2E testing to verify functionality across the user journey before production deployment.
- Created index.js in client/src as the main entry point for the React application. - Ensures that the React build process can find the required entry file to complete successfully. - Set up basic ReactDOM render logic, importing the main App component and rendering it to the root div in index.html. This update resolves build errors related to the missing index.js file in the client/src directory.
- Created App.js in client/src as the main application component for the React app. - Defines a basic functional component that renders a "Hello, World!" message. - Supports the main entry point (index.js) by providing a component to render to the DOM. This addition completes the basic structure required for the React application to build successfully.
- Created generate-docs.yml to automate the generation and updating of documentation using Sphinx or JSDoc. - Configured the workflow to run on every push to the main branch and weekly on Sundays at midnight (UTC). - Includes setup steps for both Python (Sphinx) and Node.js (JSDoc) environments. - Supports generating and deploying documentation for both Python and JavaScript projects. This workflow ensures that project documentation remains up-to-date automatically.
- Added conf.py to the docs/ directory to configure Sphinx documentation generation. - Includes project metadata, extensions for autodoc, Napoleon, and viewcode, and paths for templates and static files. - Configured the project source directory in sys.path for generating API documentation. - Set the Alabaster theme for HTML output, with support for ReadTheDocs style if needed. This file provides the foundational configuration required for Sphinx to generate documentation.
- Created index.rst in the docs/ directory as the main entry point for the Sphinx documentation. - Added a toctree directive to organize module and content references in the documentation. - Includes sections for indices, search, and other structured content. This file serves as the top-level structure for the Sphinx documentation system.
- Added debugging steps to list the root directory and the contents of the docs directory during the workflow. - Ensured actions/checkout fetches the full repository with fetch-depth set to 0. - Updated sphinx-build step to use a relative path for the docs directory. - This update addresses potential path recognition issues and ensures the docs directory is properly located and used during the workflow.
- Updated the generate-docs.yml workflow to ensure the correct path to the docs directory is used. - Added debugging steps to list the root directory and verify the existence of the docs directory. - Ensured full repository checkout by setting fetch-depth to 0 in actions/checkout. - Updated sphinx-build command to use the relative path docs/. This commit resolves issues with the workflow failing to locate the docs directory during Sphinx documentation generation.
- Added an empty dist directory with a .gitkeep file to ensure the directory is tracked in version control. - This is a placeholder until the build process populates the dist directory with output files. - Prevents workflow errors caused by the missing dist directory during deployment or testing.
- Commented out the Generate Documentation workflow to prevent it from running. - Disabled all triggers and jobs in the workflow file. - This is a temporary change and can be re-enabled when documentation generation is needed.
- Commented out the Staging Deployment workflow to prevent it from running. - Disabled all triggers and jobs in the workflow file. - This is a temporary change and can be re-enabled when staging deployment is needed again.
- Commented out the E2E Testing workflow to prevent it from running. - Disabled all triggers and jobs in the workflow file. - This is a temporary change and can be re-enabled when end-to-end testing is required again.
- Added a new GitHub Actions workflow (security-scan.yml) to scan for vulnerabilities using CodeQL. - Configured to run weekly, on pull requests, and on pushes to the main branch. - Supports JavaScript and Python analysis by default. - Ensures early detection of security vulnerabilities in dependencies and code.
- Applied black formatting to standardize the code style in conf.py. - Added type annotations to satisfy mypy requirements. - Ensured proper configuration of Sphinx extensions and paths. - Updated quotes and alignment for consistency.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.