diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml new file mode 100644 index 0000000..da7dda2 --- /dev/null +++ b/.github/workflows/continuous-integration.yml @@ -0,0 +1,47 @@ +name: Continuous Integration + +on: + push: + pull_request: + workflow_dispatch: + +jobs: + build: + + runs-on: ubuntu-latest + + strategy: + matrix: + operating-system: + - ubuntu-latest + php-version: + - '8.4' + - '8.5' + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup PHP ${{ matrix.php-version }} + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-version }} + coverage: none + tools: none + ini-values: assert.exception=1, zend.assertions=1 + + - name: Get composer cache directory + id: composer-cache + run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT + + - name: Cache dependencies + uses: actions/cache@v4 + with: + path: ${{ steps.composer-cache.outputs.dir }} + key: ${{ runner.os }}-composer-${{ hashFiles('composer.json') }} + restore-keys: ${{ runner.os }}-composer- + + - name: Install dependencies + run: composer install --no-interaction --prefer-dist + + - name: Run test suite + run: ./vendor/bin/phpunit diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..7e07dc4 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,31 @@ +# Releasing this package: Actions -> Release -> Run workflow, pick the branch +# (7.x) and type the version. Or from a terminal: +# +# gh workflow run release.yml --ref 7.x -f version=7.0.0 +# +# The shared workflow creates the tag itself, and only after every check has +# passed. Do not tag by hand -- Packagist derives versions from tags, so a tag +# is a published version the moment it exists. +# +# Release notes come from this package's own CHANGELOG.md. The version you type +# must match the version at the top of the change log -- or, for a pre-release +# such as 7.0.0-alpha1, its base version, so that alphas and betas do not each +# need a change log section of their own. + +name: Release + +on: + workflow_dispatch: + inputs: + version: + description: 'Version to release, e.g. 7.0.0' + required: true + type: string + +jobs: + release: + uses: auraphp/bin/.github/workflows/release.yml@master + permissions: + contents: write + with: + version: ${{ inputs.version }} diff --git a/CHANGELOG.md b/CHANGELOG.md index e386d77..560bdfd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # CHANGELOG -## 6.0.0 +## 7.0.0 Initial release. @@ -10,5 +10,5 @@ Initial release. - (ADD) `Aura\Session_Interface\FlashSegmentInterface` — flash values: `setFlash()`, `getFlash()`, `clearFlash()`, `getFlashNext()`, `setFlashNow()`, `clearFlashNow()`, `keepFlash()`. These interfaces are shared by `aura/session` (the full implementation) and -`aura/auth` (which needs only a light session); both depend on `^6.0`. PHP -8.1+ is required. +`aura/auth` (which needs only a light session); both depend on `^7.0`. PHP +8.4+ is required. diff --git a/README.md b/README.md index 9514471..3aac1a0 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ They are used by: composer require aura/session-interface ``` -This package has no dependencies other than PHP `^8.1`. +This package has no dependencies other than PHP `^8.4`. ## Interfaces diff --git a/composer.json b/composer.json index 49ebf59..8cb3cbc 100644 --- a/composer.json +++ b/composer.json @@ -18,7 +18,7 @@ } ], "require": { - "php": "^8.1" + "php": "^8.4" }, "autoload": { "psr-4": {