setup-php 2.20.0 → 2.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -51,7 +51,9 @@ Setup PHP with required extensions, php.ini configuration, code-coverage support
51
51
  - [JIT Configuration](#jit-configuration)
52
52
  - [Cache Extensions](#cache-extensions)
53
53
  - [Cache Composer Dependencies](#cache-composer-dependencies)
54
- - [Composer GitHub OAuth](#composer-github-oauth)
54
+ - [GitHub Composer Authentication](#github-composer-authentication)
55
+ - [Private Packagist Authentication](#private-packagist-authentication)
56
+ - [Manual Composer Authentication](#manual-composer-authentication)
55
57
  - [Inline PHP Scripts](#inline-php-scripts)
56
58
  - [Problem Matchers](#problem-matchers)
57
59
  - [Examples](#examples)
@@ -252,7 +254,7 @@ These tools can be set up globally using the `tools` input. It accepts a string
252
254
 
253
255
  When you specify just the major version or the version in `major.minor` format, the latest patch version matching the input will be setup.
254
256
 
255
- Except for major versions of `composer`, For other tools when you specify only the `major` version or the version in `major.minor` format for any tool you can get rate limited by GitHub's API. To avoid this, it is recommended to provide a [`GitHub` OAuth token](https://github.com/shivammathur/setup-php#composer-github-oauth "Composer GitHub OAuth"). You can do that by setting `COMPOSER_TOKEN` environment variable.
257
+ Except for major versions of `composer`, For other tools when you specify only the `major` version or the version in `major.minor` format for any tool you can get rate limited by GitHub's API. To avoid this, it is recommended to provide a [`GitHub` OAuth token](https://github.com/shivammathur/setup-php#composer-github-oauth "Composer GitHub OAuth"). You can do that by setting `GITHUB_TOKEN` environment variable. The `COMPOSER_TOKEN` environment variable has been deprecated in favor of `GITHUB_TOKEN` and will be removed in a future release.
256
258
 
257
259
  ```yaml
258
260
  - name: Setup PHP with tools
@@ -261,7 +263,7 @@ These tools can be set up globally using the `tools` input. It accepts a string
261
263
  php-version: '8.1'
262
264
  tools: php-cs-fixer:3.5, phpunit:9.5
263
265
  env:
264
- COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
266
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
265
267
  ```
266
268
 
267
269
  - The latest stable version of `composer` is set up by default. You can set up the required `composer` version by specifying the major version `v1` or `v2`, or the version in `major.minor` or `semver` format. Additionally for composer `snapshot` and `preview` can also be specified to set up the respective releases.
@@ -736,9 +738,10 @@ key: ${{ runner.os }}-composer-${{ matrix.prefer }}-${{ hashFiles('**/composer.l
736
738
  restore-keys: ${{ runner.os }}-composer-${{ matrix.prefer }}-
737
739
  ```
738
740
 
739
- ### Composer GitHub OAuth
741
+ ### GitHub Composer Authentication
740
742
 
741
- If you have a number of workflows which set up multiple tools or have many composer dependencies, you might hit the GitHub's rate limit for composer. Also, if you specify only the major version or the version in `major.minor` format, you can hit the rate limit. To avoid this you can specify an `OAuth` token by setting `COMPOSER_TOKEN` environment variable. You can use [`GITHUB_TOKEN`](https://help.github.com/en/actions/configuring-and-managing-workflows/authenticating-with-the-github_token "GITHUB_TOKEN documentation") secret for this purpose.
743
+ If you have a number of workflows which set up multiple tools or have many composer dependencies, you might hit the GitHub's rate limit for composer. Also, if you specify only the major version or the version in `major.minor` format, you can hit the rate limit. To avoid this you can specify an `OAuth` token by setting `GITHUB_TOKEN` environment variable. You can use [`GITHUB_TOKEN`](https://help.github.com/en/actions/configuring-and-managing-workflows/authenticating-with-the-github_token "GITHUB_TOKEN documentation") secret for this purpose.
744
+ The `COMPOSER_TOKEN` key has been deprecated in favor of `GITHUB_TOKEN` and will be removed in the next major version.
742
745
 
743
746
  ```yaml
744
747
  - name: Setup PHP
@@ -746,7 +749,42 @@ If you have a number of workflows which set up multiple tools or have many compo
746
749
  with:
747
750
  php-version: '8.1'
748
751
  env:
749
- COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
752
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
753
+ ```
754
+
755
+ ### Private Packagist Authentication
756
+
757
+ If you use Private Packagist for your private composer dependencies, you can set the `PACKAGIST_TOKEN` environment variable to authenticate.
758
+
759
+ ```yaml
760
+ - name: Setup PHP
761
+ uses: shivammathur/setup-php@v2
762
+ with:
763
+ php-version: '8.1'
764
+ env:
765
+ PACKAGIST_TOKEN: ${{ secrets.PACKAGIST_TOKEN }}
766
+ ```
767
+
768
+ ### Manual Composer Authentication
769
+
770
+ In addition to GitHub or Private Packagist, if you want to authenticate private repositories hosted elsewhere, you can set the `COMPOSER_AUTH_JSON` environment variable with the authentication methods and the credentials in json format.
771
+ Please refer to the authentication section in [`composer documentation`](https://getcomposer.org/doc/articles/authentication-for-private-packages.md "composer documentation") for more details.
772
+
773
+ ```yaml
774
+ - name: Setup PHP
775
+ uses: shivammathur/setup-php@v2
776
+ with:
777
+ php-version: '8.1'
778
+ env:
779
+ COMPOSER_AUTH_JSON: |
780
+ {
781
+ "http-basic": {
782
+ "example.org": {
783
+ "username": "${{ secrets.EXAMPLE_ORG_USERNAME }}",
784
+ "password": "${{ secrets.EXAMPLE_ORG_PASSWORD }}"
785
+ }
786
+ }
787
+ }
750
788
  ```
751
789
 
752
790
  ### Inline PHP Scripts
package/lib/tools.js CHANGED
@@ -34,8 +34,12 @@ const utils = __importStar(require("./utils"));
34
34
  async function getSemverVersion(data) {
35
35
  const search = data['version_prefix'] + data['version'];
36
36
  const url = `https://api.github.com/repos/${data['repository']}/git/matching-refs/tags%2F${search}.`;
37
- const token = await utils.readEnv('COMPOSER_TOKEN');
38
- const response = await fetch.fetch(url, token);
37
+ let github_token = await utils.readEnv('GITHUB_TOKEN');
38
+ const composer_token = await utils.readEnv('COMPOSER_TOKEN');
39
+ if (composer_token && !github_token) {
40
+ github_token = composer_token;
41
+ }
42
+ const response = await fetch.fetch(url, github_token);
39
43
  if (response.error || response.data === '[]') {
40
44
  data['error'] = response.error ?? `No version found with prefix ${search}.`;
41
45
  return data['version'];
package/lib/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "setup-php",
3
- "version": "2.20.0",
3
+ "version": "2.20.1",
4
4
  "private": false,
5
5
  "description": "Setup PHP for use with GitHub Actions",
6
6
  "main": "lib/install.js",
@@ -17,7 +17,7 @@
17
17
  "scripts": {
18
18
  "build": "tsc",
19
19
  "lint": "eslint **/src/*.ts **/__tests__/*.ts --cache --fix",
20
- "format": "prettier --write **/src/*.ts **/__tests__/*.ts && git add -f src/",
20
+ "format": "prettier --write **/src/*.ts **/__tests__/*.ts && git add -f __tests__/ ",
21
21
  "format-check": "prettier --check **/src/*.ts **/__tests__/*.ts",
22
22
  "release": "ncc build -o dist && git add -f dist/",
23
23
  "test": "jest"
@@ -40,7 +40,7 @@
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/jest": "^28.1.4",
43
- "@types/node": "^18.0.1",
43
+ "@types/node": "^18.0.3",
44
44
  "@typescript-eslint/eslint-plugin": "^5.30.5",
45
45
  "@typescript-eslint/parser": "^5.30.5",
46
46
  "@vercel/ncc": "^0.34.0",
@@ -1,7 +1,8 @@
1
1
  # Variables
2
- $composer_bin = "$env:APPDATA\Composer\vendor\bin"
3
- $composer_json = "$env:APPDATA\Composer\composer.json"
4
- $composer_lock = "$env:APPDATA\Composer\composer.lock"
2
+ $composer_home = "$env:APPDATA\Composer"
3
+ $composer_bin = "$composer_home\vendor\bin"
4
+ $composer_json = "$composer_home\composer.json"
5
+ $composer_lock = "$composer_home\composer.lock"
5
6
 
6
7
  # Function to configure composer.
7
8
  Function Edit-ComposerConfig() {
@@ -24,8 +25,30 @@ Function Edit-ComposerConfig() {
24
25
  }
25
26
  Add-EnvPATH $src\configs\composer.env
26
27
  Add-Path $composer_bin
27
- if (Test-Path env:COMPOSER_TOKEN) {
28
- Add-Env COMPOSER_AUTH ('{"github-oauth": {"github.com": "' + $env:COMPOSER_TOKEN + '"}}')
28
+ Set-ComposerAuth
29
+ }
30
+
31
+ # Function to setup authentication in composer.
32
+ Function Set-ComposerAuth() {
33
+ if(Test-Path env:COMPOSER_AUTH_JSON) {
34
+ if(Test-Json -JSON $env:COMPOSER_AUTH_JSON) {
35
+ Set-Content -Path $composer_home\auth.json -Value $env:COMPOSER_AUTH_JSON
36
+ } else {
37
+ Add-Log "$cross" "composer" "Could not parse COMPOSER_AUTH_JSON as valid JSON"
38
+ }
39
+ }
40
+ $composer_auth = @()
41
+ if(Test-Path env:PACKAGIST_TOKEN) {
42
+ $composer_auth += '"http-basic": {"repo.packagist.com": { "username": "token", "password": "' + $env:PACKAGIST_TOKEN + '"}}'
43
+ }
44
+ if(-not(Test-Path env:GITHUB_TOKEN) -and (Test-Path env:COMPOSER_TOKEN)) {
45
+ $env:GITHUB_TOKEN = $env:COMPOSER_TOKEN
46
+ }
47
+ if (Test-Path env:GITHUB_TOKEN) {
48
+ $composer_auth += '"github-oauth": {"github.com": "' + $env:GITHUB_TOKEN + '"}'
49
+ }
50
+ if($composer_auth.length) {
51
+ Add-Env COMPOSER_AUTH ('{' + ($composer_auth -join ',') + '}')
29
52
  }
30
53
  }
31
54
 
@@ -182,7 +205,7 @@ Function Add-ComposertoolHelper() {
182
205
  if(Test-Path $composer_lock) {
183
206
  Remove-Item -Path $composer_lock -Force
184
207
  }
185
- if(composer global show $prefix$tool -a 2>&1 | findstr '^type *: *composer-plugin') {
208
+ if(composer global show $prefix$tool -a 2>&1 | findstr '^type *: *composer-plugin' -and ($composer_args -ne '')) {
186
209
  composer global config --no-plugins allow-plugins."$prefix$tool" true >$null 2>&1
187
210
  }
188
211
  composer global require $prefix$release $composer_args >$null 2>&1
@@ -192,7 +215,7 @@ Function Add-ComposertoolHelper() {
192
215
  $scoped_dir_suffix = (Get-FileHash -InputStream $release_stream -Algorithm sha256).Hash
193
216
  $scoped_dir = "$composer_bin\_tools\$tool-$scoped_dir_suffix"
194
217
  $unix_scoped_dir = $scoped_dir.replace('\', '/')
195
- if(composer show $prefix$tool -d $unix_scoped_dir -a 2>&1 | findstr '^type *: *composer-plugin') {
218
+ if(composer show $prefix$tool -d $unix_scoped_dir -a 2>&1 | findstr '^type *: *composer-plugin' -and ($composer_args -ne '')) {
196
219
  composer config -d $unix_scoped_dir --no-plugins allow-plugins."$prefix$release" true >$null 2>&1
197
220
  }
198
221
  if(-not(Test-Path $scoped_dir)) {
@@ -229,6 +252,7 @@ Function Add-Composertool() {
229
252
  [string]
230
253
  $scope
231
254
  )
255
+ $composer_args = ""
232
256
  if($composer_version.split('.')[0] -ne "1") {
233
257
  $composer_args = "--ignore-platform-req=ext-*"
234
258
  if($tool -match "prestissimo|composer-prefetcher") {
@@ -44,8 +44,27 @@ configure_composer() {
44
44
  fi
45
45
  add_env_path "${src:?}"/configs/composer.env
46
46
  add_path "$composer_bin"
47
- if [ -n "$COMPOSER_TOKEN" ]; then
48
- add_env COMPOSER_AUTH '{"github-oauth": {"github.com": "'"$COMPOSER_TOKEN"'"}}'
47
+ set_composer_auth
48
+ }
49
+
50
+ # Function to setup authentication in composer.
51
+ set_composer_auth() {
52
+ if [ -n "$COMPOSER_AUTH_JSON" ]; then
53
+ if php -r "json_decode('$COMPOSER_AUTH_JSON'); if(json_last_error() !== JSON_ERROR_NONE) { throw new Exception('invalid json'); }"; then
54
+ echo "$COMPOSER_AUTH_JSON" | tee "$composer_home/auth.json" >/dev/null
55
+ else
56
+ add_log "${cross:?}" "composer" "Could not parse COMPOSER_AUTH_JSON as valid JSON"
57
+ fi
58
+ fi
59
+ composer_auth=()
60
+ if [ -n "$PACKAGIST_TOKEN" ]; then
61
+ composer_auth+=( '"http-basic": {"repo.packagist.com": { "username": "token", "password": "'"$PACKAGIST_TOKEN"'"}}' )
62
+ fi
63
+ if [ -n "${GITHUB_TOKEN:-$COMPOSER_TOKEN}" ]; then
64
+ composer_auth+=( '"github-oauth": {"github.com": "'"${GITHUB_TOKEN:-$COMPOSER_TOKEN}"'"}' )
65
+ fi
66
+ if ((${#composer_auth[@]})); then
67
+ add_env COMPOSER_AUTH "{$(IFS=$','; echo "${composer_auth[*]}")}"
49
68
  fi
50
69
  }
51
70
 
@@ -143,17 +162,17 @@ add_composertool_helper() {
143
162
  enable_extensions curl mbstring openssl
144
163
  if [ "$scope" = "global" ]; then
145
164
  sudo rm -f "$composer_lock" >/dev/null 2>&1 || true
146
- if composer global show "$prefix$tool" -a 2>&1 | grep -qE '^type *: *composer-plugin'; then
165
+ if composer global show "$prefix$tool" -a 2>&1 | grep -qE '^type *: *composer-plugin' && [ -n "$composer_args" ]; then
147
166
  composer global config --no-plugins allow-plugins."$prefix$tool" true >/dev/null 2>&1
148
167
  fi
149
168
  composer global require "$prefix$release" "$composer_args" >/dev/null 2>&1
150
- composer global show "$prefix$tool" 2>&1 | grep -E ^versions | sudo tee /tmp/composer_show.log >/dev/null 2>&1
169
+ composer global show "$prefix$tool" 2>&1 | grep -E ^versions | sudo tee /tmp/composer.log >/dev/null 2>&1
151
170
  else
152
171
  scoped_dir="$composer_bin/_tools/$tool-$(echo -n "$release" | shasum -a 256 | cut -d ' ' -f 1)"
153
172
  if ! [ -d "$scoped_dir" ]; then
154
173
  mkdir -p "$scoped_dir"
155
174
  echo '{}' | tee "$scoped_dir/composer.json" >/dev/null
156
- if composer show "$prefix$tool" -d "$scoped_dir" -a 2>&1 | grep -qE '^type *: *composer-plugin'; then
175
+ if composer show "$prefix$tool" -d "$scoped_dir" -a 2>&1 | grep -qE '^type *: *composer-plugin' && [ -n "$composer_args" ]; then
157
176
  composer config -d "$scoped_dir" --no-plugins allow-plugins."$prefix$tool" true >/dev/null 2>&1
158
177
  fi
159
178
  composer require "$prefix$release" -d "$scoped_dir" "$composer_args" >/dev/null 2>&1
@@ -169,6 +188,7 @@ add_composertool() {
169
188
  release=$2
170
189
  prefix=$3
171
190
  scope=$4
191
+ composer_args=
172
192
  composer_major_version=$(cut -d'.' -f 1 /tmp/composer_version)
173
193
  if [ "$composer_major_version" != "1" ]; then
174
194
  composer_args="--ignore-platform-req=ext-*"
package/src/tools.ts CHANGED
@@ -21,8 +21,12 @@ interface IRef {
21
21
  export async function getSemverVersion(data: RS): Promise<string> {
22
22
  const search: string = data['version_prefix'] + data['version'];
23
23
  const url = `https://api.github.com/repos/${data['repository']}/git/matching-refs/tags%2F${search}.`;
24
- const token: string = await utils.readEnv('COMPOSER_TOKEN');
25
- const response: RS = await fetch.fetch(url, token);
24
+ let github_token: string = await utils.readEnv('GITHUB_TOKEN');
25
+ const composer_token: string = await utils.readEnv('COMPOSER_TOKEN');
26
+ if (composer_token && !github_token) {
27
+ github_token = composer_token;
28
+ }
29
+ const response: RS = await fetch.fetch(url, github_token);
26
30
  if (response.error || response.data === '[]') {
27
31
  data['error'] = response.error ?? `No version found with prefix ${search}.`;
28
32
  return data['version'];