diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 9d5f5fd..18e5367 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -48,11 +48,25 @@ $ make help - **Fork the Repository**: Start by forking the repository to your GitHub account. - **Create a Branch**: In your fork, create a new branch for your work. Name it appropriately based on the feature, fix, or update you're working on. -- **Make Your Changes**: Implement your changes, commit them, and push the branch to your fork. +- **Make Your Changes**: Implement your changes +- **Update Documentation**: If you've made changes that affect the project's documentation, ensure it is updated. +- **Run Linters**: Ensure your code passes all linting checks using `make lint`. +- **Commit Your Changes**: Use the [Conventional Commits](#-commit-message-guidelines) standard for your commit messages. You can use `make commit` to assist in creating commit messages. +- **Push Your Changes**: Push your branch to your fork on GitHub. - **Open a Pull Request**: Submit a pull request to the `master` branch of the original repository. Ensure your PR is focused, addressing a single feature, fix, or improvement.
+## ⚡️ Continuous Integration with GitHub Actions + +Our project employs [GitHub Actions](https://github.com/features/actions) for continuous integration, ensuring code quality and reliability. We encourage contributors to review our workflow configurations to understand the CI processes: + +- [`workflows/integrate.yaml`](workflows/integrate.yaml) +- [`workflows/triage.yml`](workflows/triage.yml) +- [`workflows/release.yml`](workflows/create-arch-diagram.yml) + +
+ ## ✉️ Commit Message Guidelines We follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) standard. Please structure your commit messages as follows, using the appropriate prefix: @@ -100,6 +114,18 @@ $ make lint-yaml by default, [`cytopia/yamllint`](https://github.com/cytopia/docker-yamllint) Docker image will be used to run linter. +### → Action Lint + +We use [`actionlint`](https://github.com/rhysd/actionlint) to enforce coding standards in GitHub Actions workflows. + +To lint GitHub Actions run: + +```bash +$ make lint-actions +``` + +by default, [`rhysd/actionlint`](https://hub.docker.com/r/rhysd/actionlint/tags) Docker image will be used to run linter. +
## 📦 Pre-commit Hooks diff --git a/.github/workflows/create-changesets-release.yml b/.github/workflows/create-changesets-release.yml index 25e787b..05865b5 100644 --- a/.github/workflows/create-changesets-release.yml +++ b/.github/workflows/create-changesets-release.yml @@ -31,7 +31,7 @@ jobs: steps: - name: 📦 Check out the codebase - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@v4 with: fetch-depth: 0 diff --git a/README.md b/README.md index 0f4f6bb..2a593d3 100644 --- a/README.md +++ b/README.md @@ -136,6 +136,7 @@ jobs: ``` +Real-world examples can be found in the [`wayofdev/laravel-package-tpl`](https://github.com/wayofdev/laravel-package-tpl/blob/master/.github/workflows/apply-labels.yml) repository.
@@ -176,6 +177,45 @@ jobs: ``` +Real-world examples can be found in the [`wayofdev/laravel-package-tpl`](https://github.com/wayofdev/laravel-package-tpl/blob/master/.github/workflows/auto-merge-release.yml) repository. + +
+ +#### `create-changesets-release.yml:` + +This workflow creates a release based on changesets. This workflow utilizes [changesets/action](https://github.com/changesets/action) to create a release based on changesets. + +Here is an example of how to use this workflow: + +
+.github/workflows/create-changesets-release.yml + +```yaml +--- +on: # yamllint disable-line rule:truthy + push: + branches: + - master + +name: 🦋 Create release or publish to pnpm + +jobs: + release: + uses: wayofdev/gh-actions/.github/workflows/create-changesets-release.yml@master + with: + node: 18 + repository: wayofdev/next-starter-tpl + secrets: + # to trigger other workflows, pass PAT token instead of GITHUB_TOKEN + token: ${{ secrets.PERSONAL_GITHUB_TOKEN }} + npm_token: ${{ secrets.NPM_TOKEN }} + +... +``` +
+ +Real-world examples can be found in the [`wayofdev/next-starter-tpl`](https://github.com/wayofdev/next-starter-tpl/blob/master/.github/workflows/create-changesets-release.yml) repository. +
### → Docker Workflows @@ -246,6 +286,8 @@ jobs: ``` +Real-world examples can be found in the [`wayofdev/docker-node`](https://github.com/wayofdev/docker-node/blob/master/.github/workflows/build-release.yml) repository. +
### → Code Architecture @@ -291,6 +333,8 @@ jobs: ``` +Real-world examples can be found in the [`wayofdev/laravel-package-tpl`](https://github.com/wayofdev/laravel-package-tpl/blob/master/.github/workflows/create-arch-diagram.yml) repository. +
### → Static Analysis @@ -328,6 +372,8 @@ jobs: ``` +Real-world examples can be found in the [`wayofdev/laravel-package-tpl`](https://github.com/wayofdev/laravel-package-tpl/blob/master/.github/workflows/shellcheck.yml) repository. +
## 🤝 License