From 44ff4ed92dcea4b41e66920a695ca064d99bade9 Mon Sep 17 00:00:00 2001 From: Shivam Mathur Date: Sat, 29 Jan 2022 07:29:03 +0530 Subject: [PATCH] Refactor workflows and templates --- .github/CONTRIBUTING.md | 78 +++++++++++-------- .../ISSUE_TEMPLATE/{bug_report.md => bug.md} | 0 .../{feature_request.md => feature.md} | 0 .github/SECURITY.md | 11 +-- .../{codeql-workflow.yml => codeql.yml} | 0 .github/workflows/docs.yml | 18 +++-- .../workflows/{node-workflow.yml => node.yml} | 0 .github/workflows/{workflow.yml => php.yml} | 0 .../{node-release.yml => publish.yml} | 0 9 files changed, 60 insertions(+), 47 deletions(-) rename .github/ISSUE_TEMPLATE/{bug_report.md => bug.md} (100%) rename .github/ISSUE_TEMPLATE/{feature_request.md => feature.md} (100%) rename .github/workflows/{codeql-workflow.yml => codeql.yml} (100%) rename .github/workflows/{node-workflow.yml => node.yml} (100%) rename .github/workflows/{workflow.yml => php.yml} (100%) rename .github/workflows/{node-release.yml => publish.yml} (100%) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 4620654f..145f8b07 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -1,37 +1,26 @@ # Contributing to setup-php +## Welcome! + +We look forward to your contributions! Here are some examples how you can contribute: + +* [Ask any questions you may have](https://github.com/shivammathur/setup-php/discussions/new?category=Q-A-Help) +* [Report a bug](https://github.com/shivammathur/setup-php/issues/new?labels=type/bug&template=bug.md) +* [Propose a new feature](https://github.com/shivammathur/setup-php/issues/new?labels=enhancement&template=feature.md) +* [Send a pull request](https://github.com/shivammathur/setup-php/pulls) + ## Contributor Code of Conduct Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms. -## Workflow +## Getting Started -* Fork the project. -* Make your bug fix or feature addition. -* Add tests for it, so we don't break it in a future version unintentionally. -* If editing the scripts, create a demo integration test. -* Send a pull request to the develop branch with all the details. - -Please make sure that you have [set up your user name and email address](https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup) for use with Git. Strings such as `silly nick name ` look really stupid in the commit history of a project. - -Due to time constraints, you may not always get a quick response. Please do not take delays personally and feel free to remind. - -## Coding Guidelines - -## Using setup-php from a Git checkout - -The following commands can be used to perform the initial checkout of setup-php: +To get started fork `setup-php` and clone it using git: ```bash -$ git clone https://github.com/shivammathur/setup-php.git +git clone https://github.com//setup-php.git -$ cd setup-php -``` - -Install setup-php dependencies using [npm](https://www.npmjs.com/): - -```bash -$ npm install +cd setup-php ``` If you are using `Windows` configure `git` to handle line endings. @@ -40,31 +29,54 @@ If you are using `Windows` configure `git` to handle line endings. git config --local core.autocrlf true ``` +Install `setup-php` dependencies using [npm](https://www.npmjs.com/): + +```bash +npm install +``` + +## Workflow to create Pull Requests + +* Fork the `setup-php` project and clone it. +* Create a new branch from the develop branch. +* Make your bug fix or feature addition. +* Add tests for it, so we don't break it in a future version unintentionally. +* Ensure the test suite passes and the code complies with our coding guidelines (see below). +* Send a pull request to the develop branch with all the details. +* If possible, create a GitHub Actions workflow with an integration test for the change in a demo repository and link it in your pull request. + +Please make sure that you have [set up your user name and email address](https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup) for use with Git. Strings such as `silly nick name ` look really stupid in the commit history of a project. + +Due to time constraints, you may not always get a quick response. Please do not take delays personally and feel free to remind. + +## Coding Guidelines + This project comes with `.prettierrc.json` and `eslintrc.json` configuration files. Please run the following commands to fix and verify the code quality. ```bash -$ npm run format -$ npm run lint +npm run format +npm run lint ``` -## Running the test suite +### Running the test suite After following the steps shown above, The `setup-php` tests in the `__tests__` directory can be run using this command: ```bash -$ npm test +npm test ``` -## Creating a release +### Creating a release -Create a release before you push your changes. +Creating a release means compiling all the TypeScript code to a single file which `setup-php` can run. Run this, before you push your changes. ```bash -$ npm run release +npm run release ``` -## Reporting issues +### Reporting issues and discussions -Please submit the issue using the appropriate template provided for a bug report or a feature request: +For questions or support, we prefer GitHub Discussions. For any bugs or new features you can create an issue using the appropriate template: +* [Discussions](https://github.com/shivammathur/setup-php/discussions) * [Issues](https://github.com/shivammathur/setup-php/issues) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug.md similarity index 100% rename from .github/ISSUE_TEMPLATE/bug_report.md rename to .github/ISSUE_TEMPLATE/bug.md diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature.md similarity index 100% rename from .github/ISSUE_TEMPLATE/feature_request.md rename to .github/ISSUE_TEMPLATE/feature.md diff --git a/.github/SECURITY.md b/.github/SECURITY.md index da1607f2..9c654078 100644 --- a/.github/SECURITY.md +++ b/.github/SECURITY.md @@ -2,23 +2,18 @@ ## Supported Versions -The following versions of this project are supported for security updates. - -| Version | Supported | -| ------- | ------------------ | -| 1.11.x | :white_check_mark: | -| 2.14.x | :white_check_mark: | +The latest patch versions of `v1` and `v2` releases of this project are supported for security updates. ## Supported PHP Versions This security policy only applies to the latest patches of the following PHP versions. | Version | Supported | -| ------- | ------------------ | -| 7.3 | :white_check_mark: | +|---------|--------------------| | 7.4 | :white_check_mark: | | 8.0 | :white_check_mark: | | 8.1 | :white_check_mark: | +| 8.2 | :white_check_mark: | ## Reporting a Vulnerability diff --git a/.github/workflows/codeql-workflow.yml b/.github/workflows/codeql.yml similarity index 100% rename from .github/workflows/codeql-workflow.yml rename to .github/workflows/codeql.yml diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 76f72d4e..66646ff3 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -17,7 +17,7 @@ jobs: uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php-versions }} - - name: Save unix + - name: Create for Linux and macOS env: file: php${{ matrix.php-versions }}-${{ matrix.operating-system }}.md version: ${{ matrix.php-versions }} @@ -29,7 +29,7 @@ jobs: php -m >> "$file" echo "\`\`\`" >> "$file" printf "\n" >> "$file" - - name: Save Windows + - name: Create for Windows env: file: php${{ matrix.php-versions }}-${{ matrix.operating-system }}.md version: ${{ matrix.php-versions }} @@ -39,7 +39,8 @@ jobs: Write-Output "``````" | Out-File -FilePath "$env:file" -Append php -m | Out-File -FilePath "$env:file" -Append Write-Output "```````n" | Out-File -FilePath "$env:file" -Append - - uses: actions/upload-artifact@v2 + - name: Upload artifacts + uses: actions/upload-artifact@v2 with: name: lists path: php${{ matrix.php-versions }}-${{ matrix.operating-system }}.md @@ -52,13 +53,16 @@ jobs: uses: actions/checkout@v2 with: repository: ${{ github.repository }}.wiki - - uses: actions/download-artifact@v2 + - name: Download artifacts + uses: actions/download-artifact@v2 with: path: ${{ github.workspace }} - - name: Combine - run: | + - name: Configure Git + run : | git config --local user.email "${{ secrets.email }}" git config --local user.name "${{ github.repository_owner }}" + - name: Combine + run: | for os in ubuntu-20.04 ubuntu-18.04 windows-2022 windows-2019 macos-11 macos-10.15; do echo "These are extensions which are loaded by default on the following PHP versions. More extensions which are available as packages and available on pecl are supported by setup-php. Refer to [php extension support](https://github.com/shivammathur/setup-php#heavy_plus_sign-php-extension-support) for more details." > Php-extensions-loaded-on-"$os".md for version in 5.3 5.4 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2; do @@ -72,6 +76,8 @@ jobs: done done rm -rf ./lists + - name: Update + run: | if [ "$(git status --porcelain=v1 2>/dev/null | wc -l)" != "0" ]; then git add . git commit -m "Update PHP extensions on wiki - $(date +'%d-%m-%y')" diff --git a/.github/workflows/node-workflow.yml b/.github/workflows/node.yml similarity index 100% rename from .github/workflows/node-workflow.yml rename to .github/workflows/node.yml diff --git a/.github/workflows/workflow.yml b/.github/workflows/php.yml similarity index 100% rename from .github/workflows/workflow.yml rename to .github/workflows/php.yml diff --git a/.github/workflows/node-release.yml b/.github/workflows/publish.yml similarity index 100% rename from .github/workflows/node-release.yml rename to .github/workflows/publish.yml