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

feat(ci): add opencommit #8

Merged
merged 38 commits into from
Nov 26, 2023
Merged

feat(ci): add opencommit #8

merged 38 commits into from
Nov 26, 2023

Conversation

ralphschuler
Copy link
Owner

@ralphschuler ralphschuler commented Nov 26, 2023

=== auto-pr-body ===

Summary: Added several npm packages to package.json and created new methods and classes for handling CLI commands.

List of Changes:

  • Added methods removeCommand(), use(), run(), and parseArgumentsAndFlags() to handle CLI commands
  • Added several npm packages to package.json (@ralphschuler/cli)

Suggested Refactoring:

  • Break down the run() method into smaller components to increase readability
  • Re-name variables and parameters for clarity
  • Use error class to create and track more precise errors

This commit adds the `.github/workflows/opencommit.yml` file, which defines a workflow for the OpenCommit Action. The workflow is triggered on push events, excluding the `main` and `master` branches. It runs on the `ubuntu-latest` environment and has a timeout of 10 minutes.

The workflow consists of the following steps:
1. Setup Node.js environment using the `actions/setup-node@v2` action with Node.js version 16.
2. Checkout the repository with the `actions/checkout@v3` action, setting the fetch depth to 0.
3. Use the `di-sukharev/[email protected]` action to run the OpenCommit Action. It requires the `GITHUB_TOKEN` secret to authenticate with the GitHub API.
4. Set environment variables for the OpenCommit Action, including the `OCO_OPENAI_API_KEY`, `OCO_OPENAI_MAX_TOKENS`, `OCO_OPENAI_BASE_PATH`, `OCO_DESCRIPTION`, `OCO_EMOJI`, `OCO_MODEL`, `OCO_LANGUAGE`, and `OCO_PROMPT_MODULE`.

These changes were made to enable the OpenCommit Action in the repository, allowing for automated generation of conventional commit messages using OpenAI's GPT-3.5 Turbo model.
This commit adds the `.github/workflows/opencommit.yml` file, which defines a workflow for the OpenCommit Action. The OpenCommit Action is triggered on push events, excluding the `main` and `master` branches. The workflow runs on the `ubuntu-latest` environment and has a timeout of 10 minutes.

The workflow consists of the following steps:
1. Setup Node.js Environment: Sets up the Node.js environment using the `actions/setup-node@v2` action with Node.js version 16.
2. Checkout: Checks out the repository with the `actions/checkout@v3` action, with a fetch depth of 0.
3. OpenCommit: Uses the `di-sukharev/[email protected]` action to run the OpenCommit Action. It requires the `GITHUB_TOKEN` secret to authenticate with the GitHub API. Additionally, it sets the `OCO_OPENAI_API_KEY` secret for the OpenAI API integration.
4. Environment Variables: Sets various environment variables for customization, including `OCO_OPENAI_MAX_TOKENS`, `OCO_OPENAI_BASE_PATH`, `OCO_DESCRIPTION`, `OCO_EMOJI`, `OCO_MODEL`, `OCO_LANGUAGE`, and `OCO_PROMPT_MODULE`.

This workflow enables the OpenCommit Action to automatically generate commit messages using the OpenAI GPT-3.5 Turbo model based on the conventional commit convention.
Add a new workflow file `auto-pr-body.yml` to generate automatic pull request bodies using AI. This workflow runs on every pull request event and has read permissions for contents, and write permissions for repository projects and pull requests.

Add another new workflow file `pr-agent.yml` to run a PR agent on every pull request and respond to user comments. This workflow runs on pull request and issue comment events and has write permissions for issues, pull requests, and contents. It uses the Codium-ai/pr-agent action and requires the `OPENAI_API_KEY` and `GITHUB_TOKEN` secrets.
This commit adds the `.github/workflows/opencommit.yml` file, which defines a workflow for the OpenCommit Action. The workflow is triggered on push events, excluding the `main` and `master` branches. It runs on the `ubuntu-latest` environment and has a timeout of 10 minutes.

The workflow consists of the following steps:
1. Setup Node.js environment using the `actions/setup-node@v2` action with Node.js version 16.
2. Checkout the repository with the `actions/checkout@v3` action, setting the fetch depth to 0.
3. Use the `di-sukharev/[email protected]` action to run the OpenCommit Action. It requires the `GITHUB_TOKEN` secret to authenticate with the GitHub API.
4. Set environment variables for the OpenCommit Action, including the `OCO_OPENAI_API_KEY`, `OCO_OPENAI_MAX_TOKENS`, `OCO_OPENAI_BASE_PATH`, `OCO_DESCRIPTION`, `OCO_EMOJI`, `OCO_MODEL`, `OCO_LANGUAGE`, and `OCO_PROMPT_MODULE`.

These changes were made to enable the OpenCommit Action in the repository, allowing for automated generation of conventional commit messages using OpenAI's GPT-3.5 Turbo model.
- Added a new file `.github/ISSUE_TEMPLATE/Bug Rport.yml` to provide a bug report issue template.
- Added a new file `.github/ISSUE_TEMPLATE/Feature Request.yml` to provide a feature request issue template.

These templates will help contributors provide structured information when reporting bugs or suggesting new features, improving the quality of the submitted issues.

fix(release.yml): update release workflow to trigger only on deleted releases and pushed tags starting with 'v'
feat(release.yml): add support for triggering the workflow on pushed tags starting with 'v' to automate release process
…sion 4 for improved compatibility and security

refactor(bump-version.yml): remove unnecessary conditions for triggering the workflow on pull request events
…d and deleted tags

fix(release.yml): fix condition for the publish job to run only on push events and not on tag deletion events
…riables for NPM_TOKEN and GITHUB_TOKEN

feat(release.yml): add support for npm registry and GitHub Package Registry in release workflow
fix(release.yml): update setup-node action to use correct node version and include registry-url and scope parameters
fix(release.yml): update environment variable NODE_AUTH_TOKEN to use the appropriate token based on the registry being used
…d and deleted tags

fix(release.yml): fix condition for the publish job to run only on tag creation and not on tag deletion
This commit adds the `.github/workflows/opencommit.yml` file, which defines a workflow for the OpenCommit Action. The workflow is triggered on push events, excluding the `main` and `master` branches. It runs on the `ubuntu-latest` environment and has a timeout of 10 minutes.

The workflow consists of the following steps:
1. Setup Node.js environment using the `actions/setup-node@v2` action with Node.js version 16.
2. Checkout the repository with the `actions/checkout@v3` action, setting the fetch depth to 0.
3. Use the `di-sukharev/[email protected]` action to run the OpenCommit Action. It requires the `GITHUB_TOKEN` secret to authenticate with the GitHub API.
4. Set environment variables for the OpenCommit Action, including the `OCO_OPENAI_API_KEY`, `OCO_OPENAI_MAX_TOKENS`, `OCO_OPENAI_BASE_PATH`, `OCO_DESCRIPTION`, `OCO_EMOJI`, `OCO_MODEL`, `OCO_LANGUAGE`, and `OCO_PROMPT_MODULE`.

These changes were made to enable the OpenCommit Action in the repository, allowing for automated generation of conventional commit messages using OpenAI's GPT-3.5 Turbo model.
The 'publish' script has been added to all package.json files in the packages directory. This script allows for easy publishing of the packages to npm.

chore(package.json): add 'publish' script to all packages to simplify publishing process
…e secrets.GITHUB_TOKEN for publishing and unpublishing packages

chore(release.yml): update yarn publish command to include --access public flag for publishing packages
chore(release.yml): update npmPublishRegistry and npmRegistryServer values in .yarnrc.yml for @ralphschuler scope
…sion for packages to improve workflow permissions

fix(release.yml): fix syntax error by adding double quotes around registry-url and scope variables
feat(release.yml): add always-auth flag to ensure authentication when setting up node and running yarn commands
…ges and npmjs.org to enable authentication with NODE_AUTH_TOKEN

chore(package.json): add repository field to all packages to specify the GitHub repository URL

chore(package.json): add repository field with GitHub repository URL for all packages

The repository field was added to the package.json files of all packages in order to provide a link to the GitHub repository where the packages are hosted. This will make it easier for users and contributors to access the source code and contribute to the project.
…org to prevent publishing to npm registry

chore(.yarnrc.yml): remove npm registry configuration for npmjs.org to prevent publishing to npm registry
feat(cli): add eslint configuration and package.json

feat(cli): add index.ts file with initial implementation

chore(cli): add tsconfig.json file
This commit adds a new workflow file, `auto-pr-body.yml`, which is responsible for generating the body of pull requests automatically. The workflow is triggered on every pull request event.

The workflow has the following permissions:
- `contents: read`
- `repository-projects: write`
- `pull-requests: write`

The workflow runs on the latest version of Ubuntu and consists of two steps:
1. `actions/checkout@v2` is used to check out the repository.
2. `jbrocher/[email protected]` is used to generate the pull request body. It requires the `OPENAI_API_KEY` secret to be set.

feat(workflows): add PR agent workflow

This commit adds a new workflow file, `pr-agent.yml`, which is responsible for running the PR agent on every pull request and responding to user comments.

The workflow is triggered on both pull request and issue comment events.

The workflow has the following permissions:
- `issues: write`
- `pull-requests: write`
- `contents: write`

The workflow runs on the latest version of Ubuntu and consists of one step:
1. `Codium-ai/pr-agent@main` is used to run the PR agent. It requires the `OPENAI_KEY` and `GITHUB_TOKEN` secrets to be set.

fix(cli): add "@ralphschuler/ts-error" dependency

This commit adds the "@ralphschuler/ts-error" dependency to the "dependencies" section of the "cli" package.json file. The dependency is added with the version constraint "workspace:^".

feat(cli): add Cli class

This commit adds a new file, "Cli.ts", which contains the implementation of the Cli class. The Cli class is currently empty and will be used to implement the command-line interface functionality.

feat(cli): add HelloWorld command

This commit adds a new file, "HelloWorld.ts", which contains the implementation of the HelloWorld command. The HelloWorld command is a simple command that takes a name argument and a times flag, and prints "Hello {name}!" the specified number of times.

The HelloWorld command has the following properties:
- name: "hello-world"
- description: "A simple hello world command"
- arguments:
  - name: "name"
    description: "Your name"
    type: "string"
    required: true
- flags:
This commit adds the `.github/workflows/opencommit.yml` file, which defines a workflow for the OpenCommit Action. The workflow is triggered on push events, excluding the `main` and `master` branches. It runs on the `ubuntu-latest` environment and has a timeout of 10 minutes.

The workflow consists of the following steps:
1. Setup Node.js environment using the `actions/setup-node@v2` action with Node.js version 16.
2. Checkout the repository with the `actions/checkout@v3` action, setting the fetch depth to 0.
3. Use the `di-sukharev/[email protected]` action to run the OpenCommit Action. It requires the `GITHUB_TOKEN` secret to authenticate with the GitHub API.
4. Set environment variables for the OpenCommit Action, including the `OCO_OPENAI_API_KEY`, `OCO_OPENAI_MAX_TOKENS`, `OCO_OPENAI_BASE_PATH`, `OCO_DESCRIPTION`, `OCO_EMOJI`, `OCO_MODEL`, `OCO_LANGUAGE`, and `OCO_PROMPT_MODULE`.

These changes were made to enable the OpenCommit Action in the repository, allowing for automated generation of conventional commit messages using OpenAI's GPT-3.5 Turbo model.
This commit adds the `.github/workflows/opencommit.yml` file, which defines a workflow for the OpenCommit Action. The OpenCommit Action is triggered on push events, excluding the `main` and `master` branches. The workflow runs on the `ubuntu-latest` environment and sets up the Node.js environment with version 16. It then checks out the repository and uses the `di-sukharev/[email protected]` action to run the OpenCommit tool. The necessary environment variables, including the GitHub token and OpenAI API key, are configured. Customization options such as the maximum number of tokens, base path, description, emoji, model, language, and prompt module are also set. The timeout for the job is set to 10 minutes.
This commit adds the `.github/workflows/opencommit.yml` file, which defines a workflow for the OpenCommit Action. The OpenCommit Action is triggered on push events, excluding the `main` and `master` branches. The workflow runs on the `ubuntu-latest` environment and has a timeout of 10 minutes.

The workflow consists of the following steps:
1. Setup Node.js Environment: Sets up the Node.js environment using the `actions/setup-node@v2` action with Node.js version 16.
2. Checkout: Checks out the repository with the `actions/checkout@v3` action, with a fetch depth of 0.
3. OpenCommit: Uses the `di-sukharev/[email protected]` action to run the OpenCommit Action. It requires the `GITHUB_TOKEN` secret to authenticate with the GitHub API. Additionally, it sets the `OCO_OPENAI_API_KEY` secret for the OpenAI API integration.
4. Environment Variables: Sets various environment variables for customization, including `OCO_OPENAI_MAX_TOKENS`, `OCO_OPENAI_BASE_PATH`, `OCO_DESCRIPTION`, `OCO_EMOJI`, `OCO_MODEL`, `OCO_LANGUAGE`, and `OCO_PROMPT_MODULE`.

This workflow enables the OpenCommit Action to automatically generate commit messages using the OpenAI GPT-3.5 Turbo model based on the conventional commit convention.
Add a new workflow file `auto-pr-body.yml` to generate automatic pull request bodies using AI. This workflow runs on every pull request event and has read permissions for contents, and write permissions for repository projects and pull requests.

Add another new workflow file `pr-agent.yml` to run a PR agent on every pull request and respond to user comments. This workflow runs on pull request and issue comment events and has write permissions for issues, pull requests, and contents. It uses the Codium-ai/pr-agent action and requires the `OPENAI_API_KEY` and `GITHUB_TOKEN` secrets.
This commit adds the `.github/workflows/opencommit.yml` file, which defines a workflow for the OpenCommit Action. The workflow is triggered on push events, excluding the `main` and `master` branches. It runs on the `ubuntu-latest` environment and has a timeout of 10 minutes.

The workflow consists of the following steps:
1. Setup Node.js environment using the `actions/setup-node@v2` action with Node.js version 16.
2. Checkout the repository with the `actions/checkout@v3` action, setting the fetch depth to 0.
3. Use the `di-sukharev/[email protected]` action to run the OpenCommit Action. It requires the `GITHUB_TOKEN` secret to authenticate with the GitHub API.
4. Set environment variables for the OpenCommit Action, including the `OCO_OPENAI_API_KEY`, `OCO_OPENAI_MAX_TOKENS`, `OCO_OPENAI_BASE_PATH`, `OCO_DESCRIPTION`, `OCO_EMOJI`, `OCO_MODEL`, `OCO_LANGUAGE`, and `OCO_PROMPT_MODULE`.

These changes were made to enable the OpenCommit Action in the repository, allowing for automated generation of conventional commit messages using OpenAI's GPT-3.5 Turbo model.
@ralphschuler ralphschuler merged commit 4cdb3aa into main Nov 26, 2023
5 checks passed
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.

1 participant