From 5a3b0ae30e837cf77537427ebf64d50f047aeb9f Mon Sep 17 00:00:00 2001 From: Norbert Orzechowicz Date: Thu, 6 Jan 2022 11:45:00 +0100 Subject: [PATCH 01/11] Added fix reusable composer scripts workflows --- .../workflows/composer-script-benchmark.yaml | 45 +++++++++++++ .../workflows/composer-script-mutation.yaml | 53 +++++++++++++++ .../composer-script-static-analyze.yaml | 45 +++++++++++++ .github/workflows/composer-script-test.yaml | 64 +++++++++++++++++++ 4 files changed, 207 insertions(+) create mode 100644 .github/workflows/composer-script-benchmark.yaml create mode 100644 .github/workflows/composer-script-mutation.yaml create mode 100644 .github/workflows/composer-script-static-analyze.yaml create mode 100644 .github/workflows/composer-script-test.yaml diff --git a/.github/workflows/composer-script-benchmark.yaml b/.github/workflows/composer-script-benchmark.yaml new file mode 100644 index 0000000..ea7e2ab --- /dev/null +++ b/.github/workflows/composer-script-benchmark.yaml @@ -0,0 +1,45 @@ +on: + workflow_call: + inputs: + php-version: + required: true + type: string + default: "7.4" + +jobs: + mutation: + name: "Composer Script - Benchmarks" + + runs-on: "ubuntu-latest" + + steps: + - name: "Checkout" + uses: "actions/checkout@v2" + + - name: "Install PHP" + uses: "shivammathur/setup-php@v2" + with: + coverage: pcov + tools: composer:v2 + php-version: "${{ inputs.php-version }}" + ini-values: memory_limit=-1 + + - name: "Get Composer Cache Directory" + id: composer-cache + run: | + echo "::set-output name=dir::$(composer config cache-files-dir)" + + - name: "Cache Composer dependencies" + uses: "actions/cache@v2" + with: + path: | + ${{ steps.composer-cache.outputs.dir }} + key: "php-${{ inputs.php-version }}-locked-composer-${{ hashFiles('**/composer.lock') }}" + restore-keys: | + php-${{ inputs.php-version }}-locked-composer- + + - name: "Install locked dependencies" + run: "composer install --no-interaction --no-progress --no-suggest" + + - name: "Benchmarks" + run: "composer benchmark -- --progress=none" \ No newline at end of file diff --git a/.github/workflows/composer-script-mutation.yaml b/.github/workflows/composer-script-mutation.yaml new file mode 100644 index 0000000..32e010d --- /dev/null +++ b/.github/workflows/composer-script-mutation.yaml @@ -0,0 +1,53 @@ +on: + workflow_call: + inputs: + php-version: + required: true + type: string + default: "7.4" + secrets: + infection_badge_api_key: + required: true + stryker_dashboard_api_key: + required: true + +jobs: + mutation: + name: "Composer Script - Mutation Tests" + + runs-on: "ubuntu-latest" + + steps: + - name: "Checkout" + uses: "actions/checkout@v2" + + - name: "Install PHP" + uses: "shivammathur/setup-php@v2" + with: + coverage: pcov + tools: composer:v2 + php-version: "${{ inputs.php-version }}" + ini-values: memory_limit=-1 + + - name: "Get Composer Cache Directory" + id: composer-cache + run: | + echo "::set-output name=dir::$(composer config cache-files-dir)" + + - name: "Cache Composer dependencies" + uses: "actions/cache@v2" + with: + path: | + ${{ steps.composer-cache.outputs.dir }} + key: "php-${{ matrix.php-version }}-locked-composer-${{ hashFiles('**/composer.lock') }}" + restore-keys: | + php-${{ inputs.php-version }}-locked-composer- + + - name: "Install locked dependencies" + run: "composer install --no-interaction --no-progress --no-suggest" + + - name: "Mutation Tests" + run: "composer test:mutation" + env: + INFECTION_BADGE_API_KEY: ${{ secrets.infection_badge_api_key }} + STRYKER_DASHBOARD_API_KEY: ${{ secrets.stryker_dashboard_api_key }} \ No newline at end of file diff --git a/.github/workflows/composer-script-static-analyze.yaml b/.github/workflows/composer-script-static-analyze.yaml new file mode 100644 index 0000000..3c8ace3 --- /dev/null +++ b/.github/workflows/composer-script-static-analyze.yaml @@ -0,0 +1,45 @@ +on: + workflow_call: + inputs: + php-version: + required: true + type: string + default: "7.4" + +jobs: + static-analyze: + name: "Composer Script - Static Analyze" + + runs-on: "ubuntu-latest" + + steps: + - name: "Checkout" + uses: "actions/checkout@v2" + + - name: "Install PHP" + uses: "shivammathur/setup-php@v2" + with: + coverage: pcov + tools: composer:v2 + php-version: "${{ inputs.php-version }}" + ini-values: memory_limit=-1 + + - name: "Get Composer Cache Directory" + id: composer-cache + run: | + echo "::set-output name=dir::$(composer config cache-files-dir)" + + - name: "Cache Composer dependencies" + uses: "actions/cache@v2" + with: + path: | + ${{ steps.composer-cache.outputs.dir }} + key: "php-${{ inputs.php-version }}-locked-composer-${{ hashFiles('**/composer.lock') }}" + restore-keys: | + php-${{ inputs.php-version }}-locked-composer- + + - name: "Install locked dependencies" + run: "composer install --no-interaction --no-progress --no-suggest" + + - name: "Static Analyze" + run: "composer static:analyze" \ No newline at end of file diff --git a/.github/workflows/composer-script-test.yaml b/.github/workflows/composer-script-test.yaml new file mode 100644 index 0000000..3691198 --- /dev/null +++ b/.github/workflows/composer-script-test.yaml @@ -0,0 +1,64 @@ +on: + workflow_call: + +jobs: + tests: + name: "Composer Script - Tests" + + runs-on: ${{ matrix.operating-system }} + + strategy: + fail-fast: false + matrix: + dependencies: + - "locked" + - "lowest" + - "highest" + php-version: + - "7.4" + - "8.0" + - "8.1" + operating-system: + - "ubuntu-latest" + + steps: + - name: "Checkout" + uses: "actions/checkout@v2" + + - name: "Install PHP" + uses: "shivammathur/setup-php@v2" + with: + coverage: pcov + tools: composer:v2 + php-version: "${{ matrix.php-version }}" + ini-values: memory_limit=-1 + + - name: "Get Composer Cache Directory" + id: composer-cache + run: | + echo "::set-output name=dir::$(composer config cache-files-dir)" + + - name: "Cache Composer dependencies" + uses: "actions/cache@v2" + with: + path: | + ${{ steps.composer-cache.outputs.dir }} + key: "php-${{ matrix.php-version }}-${{ matrix.dependencies }}-composer-${{ hashFiles('**/composer.lock') }}" + restore-keys: | + php-${{ matrix.php-version }}-${{ matrix.dependencies }}-composer- + + - name: "Install lowest dependencies" + if: ${{ matrix.dependencies == 'lowest' }} + run: "composer update --prefer-lowest --no-interaction --no-progress --no-suggest" + + - name: "Install highest dependencies" + if: ${{ matrix.dependencies == 'highest' }} + run: "composer update --no-interaction --no-progress --no-suggest" + + - name: "Install locked dependencies" + if: ${{ matrix.dependencies == 'locked' }} + run: "composer install --no-interaction --no-progress --no-suggest" + + - name: "Test" + run: "composer test" + continue-on-error: ${{ matrix.php-version == '8.1' }} \ No newline at end of file From 2c4eefe7b82568f8898cd7801c8f7963cc489814 Mon Sep 17 00:00:00 2001 From: Norbert Orzechowicz Date: Thu, 6 Jan 2022 12:24:10 +0100 Subject: [PATCH 02/11] Moved reusable workflwos to aeon-php/actions repository --- .../workflows/composer-script-benchmark.yaml | 45 ------------- .../workflows/composer-script-mutation.yaml | 53 --------------- .../composer-script-static-analyze.yaml | 45 ------------- .github/workflows/composer-script-test.yaml | 64 ------------------- 4 files changed, 207 deletions(-) delete mode 100644 .github/workflows/composer-script-benchmark.yaml delete mode 100644 .github/workflows/composer-script-mutation.yaml delete mode 100644 .github/workflows/composer-script-static-analyze.yaml delete mode 100644 .github/workflows/composer-script-test.yaml diff --git a/.github/workflows/composer-script-benchmark.yaml b/.github/workflows/composer-script-benchmark.yaml deleted file mode 100644 index ea7e2ab..0000000 --- a/.github/workflows/composer-script-benchmark.yaml +++ /dev/null @@ -1,45 +0,0 @@ -on: - workflow_call: - inputs: - php-version: - required: true - type: string - default: "7.4" - -jobs: - mutation: - name: "Composer Script - Benchmarks" - - runs-on: "ubuntu-latest" - - steps: - - name: "Checkout" - uses: "actions/checkout@v2" - - - name: "Install PHP" - uses: "shivammathur/setup-php@v2" - with: - coverage: pcov - tools: composer:v2 - php-version: "${{ inputs.php-version }}" - ini-values: memory_limit=-1 - - - name: "Get Composer Cache Directory" - id: composer-cache - run: | - echo "::set-output name=dir::$(composer config cache-files-dir)" - - - name: "Cache Composer dependencies" - uses: "actions/cache@v2" - with: - path: | - ${{ steps.composer-cache.outputs.dir }} - key: "php-${{ inputs.php-version }}-locked-composer-${{ hashFiles('**/composer.lock') }}" - restore-keys: | - php-${{ inputs.php-version }}-locked-composer- - - - name: "Install locked dependencies" - run: "composer install --no-interaction --no-progress --no-suggest" - - - name: "Benchmarks" - run: "composer benchmark -- --progress=none" \ No newline at end of file diff --git a/.github/workflows/composer-script-mutation.yaml b/.github/workflows/composer-script-mutation.yaml deleted file mode 100644 index 32e010d..0000000 --- a/.github/workflows/composer-script-mutation.yaml +++ /dev/null @@ -1,53 +0,0 @@ -on: - workflow_call: - inputs: - php-version: - required: true - type: string - default: "7.4" - secrets: - infection_badge_api_key: - required: true - stryker_dashboard_api_key: - required: true - -jobs: - mutation: - name: "Composer Script - Mutation Tests" - - runs-on: "ubuntu-latest" - - steps: - - name: "Checkout" - uses: "actions/checkout@v2" - - - name: "Install PHP" - uses: "shivammathur/setup-php@v2" - with: - coverage: pcov - tools: composer:v2 - php-version: "${{ inputs.php-version }}" - ini-values: memory_limit=-1 - - - name: "Get Composer Cache Directory" - id: composer-cache - run: | - echo "::set-output name=dir::$(composer config cache-files-dir)" - - - name: "Cache Composer dependencies" - uses: "actions/cache@v2" - with: - path: | - ${{ steps.composer-cache.outputs.dir }} - key: "php-${{ matrix.php-version }}-locked-composer-${{ hashFiles('**/composer.lock') }}" - restore-keys: | - php-${{ inputs.php-version }}-locked-composer- - - - name: "Install locked dependencies" - run: "composer install --no-interaction --no-progress --no-suggest" - - - name: "Mutation Tests" - run: "composer test:mutation" - env: - INFECTION_BADGE_API_KEY: ${{ secrets.infection_badge_api_key }} - STRYKER_DASHBOARD_API_KEY: ${{ secrets.stryker_dashboard_api_key }} \ No newline at end of file diff --git a/.github/workflows/composer-script-static-analyze.yaml b/.github/workflows/composer-script-static-analyze.yaml deleted file mode 100644 index 3c8ace3..0000000 --- a/.github/workflows/composer-script-static-analyze.yaml +++ /dev/null @@ -1,45 +0,0 @@ -on: - workflow_call: - inputs: - php-version: - required: true - type: string - default: "7.4" - -jobs: - static-analyze: - name: "Composer Script - Static Analyze" - - runs-on: "ubuntu-latest" - - steps: - - name: "Checkout" - uses: "actions/checkout@v2" - - - name: "Install PHP" - uses: "shivammathur/setup-php@v2" - with: - coverage: pcov - tools: composer:v2 - php-version: "${{ inputs.php-version }}" - ini-values: memory_limit=-1 - - - name: "Get Composer Cache Directory" - id: composer-cache - run: | - echo "::set-output name=dir::$(composer config cache-files-dir)" - - - name: "Cache Composer dependencies" - uses: "actions/cache@v2" - with: - path: | - ${{ steps.composer-cache.outputs.dir }} - key: "php-${{ inputs.php-version }}-locked-composer-${{ hashFiles('**/composer.lock') }}" - restore-keys: | - php-${{ inputs.php-version }}-locked-composer- - - - name: "Install locked dependencies" - run: "composer install --no-interaction --no-progress --no-suggest" - - - name: "Static Analyze" - run: "composer static:analyze" \ No newline at end of file diff --git a/.github/workflows/composer-script-test.yaml b/.github/workflows/composer-script-test.yaml deleted file mode 100644 index 3691198..0000000 --- a/.github/workflows/composer-script-test.yaml +++ /dev/null @@ -1,64 +0,0 @@ -on: - workflow_call: - -jobs: - tests: - name: "Composer Script - Tests" - - runs-on: ${{ matrix.operating-system }} - - strategy: - fail-fast: false - matrix: - dependencies: - - "locked" - - "lowest" - - "highest" - php-version: - - "7.4" - - "8.0" - - "8.1" - operating-system: - - "ubuntu-latest" - - steps: - - name: "Checkout" - uses: "actions/checkout@v2" - - - name: "Install PHP" - uses: "shivammathur/setup-php@v2" - with: - coverage: pcov - tools: composer:v2 - php-version: "${{ matrix.php-version }}" - ini-values: memory_limit=-1 - - - name: "Get Composer Cache Directory" - id: composer-cache - run: | - echo "::set-output name=dir::$(composer config cache-files-dir)" - - - name: "Cache Composer dependencies" - uses: "actions/cache@v2" - with: - path: | - ${{ steps.composer-cache.outputs.dir }} - key: "php-${{ matrix.php-version }}-${{ matrix.dependencies }}-composer-${{ hashFiles('**/composer.lock') }}" - restore-keys: | - php-${{ matrix.php-version }}-${{ matrix.dependencies }}-composer- - - - name: "Install lowest dependencies" - if: ${{ matrix.dependencies == 'lowest' }} - run: "composer update --prefer-lowest --no-interaction --no-progress --no-suggest" - - - name: "Install highest dependencies" - if: ${{ matrix.dependencies == 'highest' }} - run: "composer update --no-interaction --no-progress --no-suggest" - - - name: "Install locked dependencies" - if: ${{ matrix.dependencies == 'locked' }} - run: "composer install --no-interaction --no-progress --no-suggest" - - - name: "Test" - run: "composer test" - continue-on-error: ${{ matrix.php-version == '8.1' }} \ No newline at end of file From fb30fea5ebf8b73501d97ed314c48dee2c2b18cf Mon Sep 17 00:00:00 2001 From: Norbert Orzechowicz <1921950+norberttech@users.noreply.github.com> Date: Sun, 19 Jun 2022 07:53:47 +0200 Subject: [PATCH 03/11] Update bug_report.md --- .github/ISSUE_TEMPLATE/bug_report.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 7295f85..dbd7ce7 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -7,13 +7,11 @@ assignees: '' --- - - **Describe the bug** -A clear and concise description of what the bug is. + **Expected behavior** -A clear and concise description of what you expected to happen. + **Additional context** -Add any other context about the problem here. + From 97960d8b9c3b0392f47ca6807e44e28f558c5820 Mon Sep 17 00:00:00 2001 From: Norbert Orzechowicz <1921950+norberttech@users.noreply.github.com> Date: Sun, 19 Jun 2022 07:54:18 +0200 Subject: [PATCH 04/11] Update feature_request.md --- .github/ISSUE_TEMPLATE/feature_request.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 1a94ea8..53f6962 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -7,13 +7,11 @@ assignees: '' --- - - **Describe the feature** -A clear and concise description of what the feature should do. + **Expected behavior** -A clear and concise description of what you expected to happen. + **Additional context** -Add any other context about how you are going to use that feature and why do you think others will benefit from it as well. + From 82ff61fe350f2732647688ff91219956453b2da7 Mon Sep 17 00:00:00 2001 From: Norbert Orzechowicz <1921950+norberttech@users.noreply.github.com> Date: Tue, 28 Jun 2022 15:34:23 +0200 Subject: [PATCH 05/11] Update README.md --- profile/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/profile/README.md b/profile/README.md index 3f5328e..85abbe3 100644 --- a/profile/README.md +++ b/profile/README.md @@ -10,4 +10,4 @@ Aeon is an attempt to provide fully object oriented abstraction over DateTime an ## Community -Let us know what you are thinking about through [:octocat: Discussions](https://github.com/aeon-php/.github/discussions)! +Let us know what you are thinking about through [:octocat: Discussions](https://github.com/aeon-php/calendar/discussions)! From 8e1f8114e295b368659c2d27b352407cbd818641 Mon Sep 17 00:00:00 2001 From: Norbert Orzechowicz <1921950+norberttech@users.noreply.github.com> Date: Tue, 28 Jun 2022 15:34:43 +0200 Subject: [PATCH 06/11] Update README.md --- profile/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/profile/README.md b/profile/README.md index 85abbe3..45c5a89 100644 --- a/profile/README.md +++ b/profile/README.md @@ -10,4 +10,4 @@ Aeon is an attempt to provide fully object oriented abstraction over DateTime an ## Community -Let us know what you are thinking about through [:octocat: Discussions](https://github.com/aeon-php/calendar/discussions)! +Let us know what you are thinking about through [:octocat: Discussions](https://github.com/orgs/aeon-php/discussions)! From 9885ee886ebd237fa959198d43b28ff1b80c9164 Mon Sep 17 00:00:00 2001 From: Norbert Orzechowicz <1921950+norberttech@users.noreply.github.com> Date: Fri, 22 Jul 2022 20:21:17 +0200 Subject: [PATCH 07/11] Update README.md --- profile/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/profile/README.md b/profile/README.md index 45c5a89..0409634 100644 --- a/profile/README.md +++ b/profile/README.md @@ -6,7 +6,7 @@ Aeon is an attempt to provide fully object oriented abstraction over DateTime an * 7.4 - ✅ * 8.0 - ✅ -* 8.1 - in progress ⚙️ +* 8.1 - ✅ ## Community From 15e833a62fa9b2d772e0e27a489a87d5dbc763b0 Mon Sep 17 00:00:00 2001 From: Norbert Orzechowicz <1921950+norberttech@users.noreply.github.com> Date: Fri, 24 Feb 2023 10:44:49 +0100 Subject: [PATCH 08/11] Update README.md --- profile/README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/profile/README.md b/profile/README.md index 0409634..3048602 100644 --- a/profile/README.md +++ b/profile/README.md @@ -4,9 +4,8 @@ Aeon is an attempt to provide fully object oriented abstraction over DateTime an ## Supported PHP Versions -* 7.4 - ✅ -* 8.0 - ✅ * 8.1 - ✅ +* 8.2 - ✅ ## Community From ed3e6103e0db02ea2e610e8ef3ae9690811c01ce Mon Sep 17 00:00:00 2001 From: Norbert Orzechowicz <1921950+norberttech@users.noreply.github.com> Date: Mon, 13 Jan 2025 22:26:12 -0600 Subject: [PATCH 09/11] Create FUNDING.yml --- FUNDING.yml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 FUNDING.yml diff --git a/FUNDING.yml b/FUNDING.yml new file mode 100644 index 0000000..e66df71 --- /dev/null +++ b/FUNDING.yml @@ -0,0 +1,2 @@ +github: norberttech +custom: https://flow-php.com/sponsor From 0acdea01f6dbd11bb64b23b972f0d1aedf406180 Mon Sep 17 00:00:00 2001 From: Norbert Orzechowicz <1921950+norberttech@users.noreply.github.com> Date: Fri, 24 Jan 2025 09:38:52 -0600 Subject: [PATCH 10/11] Update README.md --- profile/README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/profile/README.md b/profile/README.md index 3048602..eeee109 100644 --- a/profile/README.md +++ b/profile/README.md @@ -1,12 +1,13 @@ ## Aeon PHP, simple DateTime libraries for PHP 🙌 -Aeon is an attempt to provide fully object oriented abstraction over DateTime and all related operations in PHP. +Aeon is an attempt to provide fully object-oriented abstraction over DateTime and all related operations in PHP. ## Supported PHP Versions -* 8.1 - ✅ * 8.2 - ✅ +* 8.3 - ✅ +* 8.4 - ✅ ## Community -Let us know what you are thinking about through [:octocat: Discussions](https://github.com/orgs/aeon-php/discussions)! +Let us know what you think about this through [:octocat: Discussions](https://github.com/orgs/aeon-php/discussions)! From 59d7f1ffe31022f7a2ae769a136c377e06a421e0 Mon Sep 17 00:00:00 2001 From: Joseph Bielawski Date: Sat, 14 Feb 2026 10:22:54 +0100 Subject: [PATCH 11/11] Adjust notes about supported PHP versions --- profile/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/profile/README.md b/profile/README.md index eeee109..c3f2b0a 100644 --- a/profile/README.md +++ b/profile/README.md @@ -1,12 +1,12 @@ ## Aeon PHP, simple DateTime libraries for PHP 🙌 -Aeon is an attempt to provide fully object-oriented abstraction over DateTime and all related operations in PHP. +Aeon is an attempt to provide a fully object-oriented abstraction over DateTime and all related operations in PHP. ## Supported PHP Versions -* 8.2 - ✅ * 8.3 - ✅ * 8.4 - ✅ +* 8.5 - ✅ ## Community