chore: update workflows from templates

Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
pull/1875/head
skjnldsv 2024-03-08 21:55:21 +01:00
rodzic 9edbaf90d7
commit 4e32aaf56e
14 zmienionych plików z 403 dodań i 237 usunięć

Wyświetl plik

@ -9,9 +9,6 @@ on:
release: release:
types: [published] types: [published]
env:
PHP_VERSION: 8.1
jobs: jobs:
build_and_publish: build_and_publish:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -21,7 +18,7 @@ jobs:
steps: steps:
- name: Check actor permission - name: Check actor permission
uses: skjnldsv/check-actor-permission@e591dbfe838300c007028e1219ca82cc26e8d7c5 # v2.1 uses: skjnldsv/check-actor-permission@69e92a3c4711150929bca9fcf34448c5bf5526e7 # v3.0
with: with:
require: write require: write
@ -32,7 +29,7 @@ jobs:
echo "APP_VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV echo "APP_VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV
- name: Checkout - name: Checkout
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with: with:
path: ${{ env.APP_NAME }} path: ${{ env.APP_NAME }}
@ -44,19 +41,19 @@ jobs:
expression: "//info//dependencies//nextcloud/@min-version" expression: "//info//dependencies//nextcloud/@min-version"
- name: Read package.json node and npm engines version - name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1 uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: versions id: versions
# Continue if no package.json # Continue if no package.json
continue-on-error: true continue-on-error: true
with: with:
path: ${{ env.APP_NAME }} path: ${{ env.APP_NAME }}
fallbackNode: "^16" fallbackNode: '^20'
fallbackNpm: "^7" fallbackNpm: '^10'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }} - name: Set up node ${{ steps.versions.outputs.nodeVersion }}
# Skip if no package.json # Skip if no package.json
if: ${{ steps.versions.outputs.nodeVersion }} if: ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3 uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with: with:
node-version: ${{ steps.versions.outputs.nodeVersion }} node-version: ${{ steps.versions.outputs.nodeVersion }}
@ -65,17 +62,23 @@ jobs:
if: ${{ steps.versions.outputs.npmVersion }} if: ${{ steps.versions.outputs.npmVersion }}
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}" run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
- name: Set up php ${{ env.PHP_VERSION }} - name: Get php version
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d # v2 id: php-versions
uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1
with: with:
php-version: ${{ env.PHP_VERSION }} filename: ${{ env.APP_NAME }}/appinfo/info.xml
- name: Set up php ${{ steps.php-versions.outputs.php-min }}
uses: shivammathur/setup-php@a4e22b60bbb9c1021113f2860347b0759f66fe5d # v2
with:
php-version: ${{ steps.php-versions.outputs.php-min }}
coverage: none coverage: none
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Check composer.json - name: Check composer.json
id: check_composer id: check_composer
uses: andstor/file-existence-action@20b4d2e596410855db8f9ca21e96fbe18e12930b # v2 uses: andstor/file-existence-action@076e0072799f4942c8bc574a82233e1e4d13e9d6 # v2
with: with:
files: "${{ env.APP_NAME }}/composer.json" files: "${{ env.APP_NAME }}/composer.json"
@ -88,6 +91,8 @@ jobs:
- name: Build ${{ env.APP_NAME }} - name: Build ${{ env.APP_NAME }}
# Skip if no package.json # Skip if no package.json
if: ${{ steps.versions.outputs.nodeVersion }} if: ${{ steps.versions.outputs.nodeVersion }}
env:
CYPRESS_INSTALL_BINARY: 0
run: | run: |
cd ${{ env.APP_NAME }} cd ${{ env.APP_NAME }}
npm ci npm ci
@ -95,7 +100,7 @@ jobs:
- name: Check Krankerl config - name: Check Krankerl config
id: krankerl id: krankerl
uses: andstor/file-existence-action@20b4d2e596410855db8f9ca21e96fbe18e12930b # v2 uses: andstor/file-existence-action@076e0072799f4942c8bc574a82233e1e4d13e9d6 # v2
with: with:
files: ${{ env.APP_NAME }}/krankerl.toml files: ${{ env.APP_NAME }}/krankerl.toml
@ -126,7 +131,7 @@ jobs:
unzip latest-$NCVERSION.zip unzip latest-$NCVERSION.zip
- name: Checkout server master fallback - name: Checkout server master fallback
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
if: ${{ steps.server-checkout.outcome != 'success' }} if: ${{ steps.server-checkout.outcome != 'success' }}
with: with:
submodules: true submodules: true
@ -149,7 +154,7 @@ jobs:
tar -zcvf ${{ env.APP_NAME }}.tar.gz ${{ env.APP_NAME }} tar -zcvf ${{ env.APP_NAME }}.tar.gz ${{ env.APP_NAME }}
- name: Attach tarball to github release - name: Attach tarball to github release
uses: svenstaro/upload-release-action@2b9d2847a97b04d02ad5c3df2d3a27baa97ce689 # v2 uses: svenstaro/upload-release-action@04733e069f2d7f7f0b4aebc4fbdbce8613b03ccd # v2
id: attach_to_release id: attach_to_release
with: with:
repo_token: ${{ secrets.GITHUB_TOKEN }} repo_token: ${{ secrets.GITHUB_TOKEN }}

Wyświetl plik

@ -1,38 +1,55 @@
name: Cypress name: Cypress
on: on: pull_request
pull_request:
push: concurrency:
branches: group: cypress-${{ github.head_ref || github.run_id }}
- master cancel-in-progress: true
- stable*
env: env:
APP_NAME: social # Adjust APP_NAME if your repository name is different
BRANCH: ${{ github.base_ref }} APP_NAME: ${{ github.event.repository.name }}
# This represents the server branch to checkout.
# Usually it's the base branch of the PR, but for pushes it's the branch itself.
# e.g. 'main', 'stable27' or 'feature/my-feature
# n.b. server will use head_ref, as we want to test the PR branch.
BRANCH: ${{ github.base_ref || github.ref_name }}
jobs: jobs:
init: init:
runs-on: ubuntu-latest runs-on: ubuntu-latest
outputs:
nodeVersion: ${{ steps.versions.outputs.nodeVersion }}
npmVersion: ${{ steps.versions.outputs.npmVersion }}
env:
PUPPETEER_SKIP_DOWNLOAD: true
steps: steps:
- name: Checkout app - name: Checkout app
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Install server dependencies - name: Check composer.json
run: composer install id: check_composer
uses: andstor/file-existence-action@076e0072799f4942c8bc574a82233e1e4d13e9d6 # v2
with:
files: "composer.json"
- name: Install composer dependencies
if: steps.check_composer.outputs.files_exists == 'true'
run: composer install --no-dev
- name: Read package.json node and npm engines version - name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1 uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: versions id: versions
with: with:
fallbackNode: "^14" fallbackNode: "^20"
fallbackNpm: "^7" fallbackNpm: "^10"
- name: Set up node ${{ steps.versions.outputs.nodeVersion }} - name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0 uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with: with:
cache: "npm"
node-version: ${{ steps.versions.outputs.nodeVersion }} node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }} - name: Set up npm ${{ steps.versions.outputs.npmVersion }}
@ -42,8 +59,9 @@ jobs:
run: | run: |
npm ci npm ci
TESTING=true npm run build --if-present TESTING=true npm run build --if-present
- name: Save context - name: Save context
uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1 uses: buildjet/cache/save@e376f15c6ec6dc595375c78633174c7e5f92dc0e # v3
with: with:
key: cypress-context-${{ github.run_id }} key: cypress-context-${{ github.run_id }}
path: ./ path: ./
@ -55,37 +73,39 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
# run multiple copies of the current job in parallel # Run multiple copies of the current job in parallel
containers: ["component", 1, 2] # Please increase the number or runners as your tests suite grows
containers: ["component", 1, 2, 3]
name: runner ${{ matrix.containers }} name: runner ${{ matrix.containers }}
steps: steps:
- name: Restore context - name: Restore context
uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1 uses: buildjet/cache/restore@e376f15c6ec6dc595375c78633174c7e5f92dc0e # v3
with: with:
fail-on-cache-miss: true fail-on-cache-miss: true
key: cypress-context-${{ github.run_id }} key: cypress-context-${{ github.run_id }}
path: ./ path: ./
- name: Set up node ${{ needs.init.outputs.nodeVersion }} - name: Set up node ${{ needs.init.outputs.nodeVersion }}
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0 uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with: with:
cache: "npm"
node-version: ${{ needs.init.outputs.nodeVersion }} node-version: ${{ needs.init.outputs.nodeVersion }}
- name: Set up npm ${{ needs.init.outputs.npmVersion }} - name: Set up npm ${{ needs.init.outputs.npmVersion }}
run: npm i -g npm@"${{ needs.init.outputs.npmVersion }}" run: npm i -g npm@"${{ needs.init.outputs.npmVersion }}"
- name: Run ${{ matrix.containers == 'component' && 'component' || 'E2E' }} cypress tests - name: Run ${{ matrix.containers == 'component' && 'component' || 'E2E' }} cypress tests
uses: cypress-io/github-action@1b70233146622b69e789ccdd4f9452adc638d25a # v6.6.1
uses: cypress-io/github-action@db1693016f23ccf9043f4b2428f9b04e5d502a73 # v5.8.1
with: with:
record: true record: ${{ secrets.CYPRESS_RECORD_KEY && true }}
parallel: true parallel: ${{ secrets.CYPRESS_RECORD_KEY && true }}
# cypress run type
component: ${{ matrix.containers == 'component' }}
group: ${{ secrets.CYPRESS_RECORD_KEY && env.CYPRESS_GROUP }}
# cypress env # cypress env
ci-build-id: ${{ github.sha }}-${{ github.run_number }} ci-build-id: ${{ secrets.CYPRESS_RECORD_KEY && env.CYPRESS_BUILD_ID }}
tag: ${{ github.event_name }} tag: ${{ secrets.CYPRESS_RECORD_KEY && github.event_name }}
env: env:
# Needs to be prefixed with CYPRESS_ # Needs to be prefixed with CYPRESS_
CYPRESS_BRANCH: ${{ env.BRANCH }} CYPRESS_BRANCH: ${{ env.BRANCH }}
@ -95,21 +115,23 @@ jobs:
TESTING: true TESTING: true
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
CYPRESS_BUILD_ID: ${{ github.sha }}-${{ github.run_number }}
CYPRESS_GROUP: Run ${{ matrix.containers == 'component' && 'component' || 'E2E' }}
- name: Upload snapshots - name: Upload snapshots
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2 uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
if: always() if: always()
with: with:
name: snapshots_${{ matrix.containers }} name: snapshots_${{ matrix.containers }}
path: cypress/snapshots path: cypress/snapshots
- name: Extract NC logs - name: Extract NC logs
if: always() if: failure() && matrix.containers != 'component'
run: docker-compose --project-directory cypress logs > nextcloud.log run: docker logs nextcloud-cypress-tests-${{ env.APP_NAME }} > nextcloud.log
- name: Upload NC logs - name: Upload NC logs
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
if: always() if: failure() && matrix.containers != 'component'
with: with:
name: nc_logs_${{ matrix.containers }} name: nc_logs_${{ matrix.containers }}
path: nextcloud.log path: nextcloud.log

Wyświetl plik

@ -24,7 +24,7 @@ jobs:
pull-requests: write pull-requests: write
name: Block fixup and squash commits name: Block fixup and squash commits
runs-on: ubuntu-latest runs-on: ubuntu-latest-low
steps: steps:
- name: Run check - name: Run check

Wyświetl plik

@ -8,20 +8,7 @@
name: Lint eslint name: Lint eslint
on: on: pull_request
pull_request:
paths:
- '.github/workflows/**'
- 'src/**'
- 'appinfo/info.xml'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
- '.eslintrc.*'
- '.eslintignore'
- '**.js'
- '**.ts'
- '**.vue'
permissions: permissions:
contents: read contents: read
@ -31,24 +18,52 @@ concurrency:
cancel-in-progress: true cancel-in-progress: true
jobs: jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- 'src/**'
- 'appinfo/info.xml'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
- '.eslintrc.*'
- '.eslintignore'
- '**.js'
- '**.ts'
- '**.vue'
lint: lint:
runs-on: ubuntu-latest runs-on: ubuntu-latest
name: eslint needs: changes
if: needs.changes.outputs.src != 'false'
name: NPM lint
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Read package.json node and npm engines version - name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1 uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: versions id: versions
with: with:
fallbackNode: '^16' fallbackNode: '^20'
fallbackNpm: '^7' fallbackNpm: '^10'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }} - name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3 uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with: with:
node-version: ${{ steps.versions.outputs.nodeVersion }} node-version: ${{ steps.versions.outputs.nodeVersion }}
@ -56,7 +71,25 @@ jobs:
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}" run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
- name: Install dependencies - name: Install dependencies
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
run: npm ci run: npm ci
- name: Lint - name: Lint
run: npm run lint run: npm run lint
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, lint]
if: always()
# This is the summary, we just avoid to rename it so that branch protection rules still match
name: eslint
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.lint.result != 'success' }}; then exit 1; fi

Wyświetl plik

@ -5,13 +5,7 @@
name: Lint info.xml name: Lint info.xml
on: on: pull_request
pull_request:
push:
branches:
- main
- master
- stable*
permissions: permissions:
contents: read contents: read
@ -22,18 +16,18 @@ concurrency:
jobs: jobs:
xml-linters: xml-linters:
runs-on: ubuntu-latest runs-on: ubuntu-latest-low
name: info.xml lint name: info.xml lint
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Download schema - name: Download schema
run: wget https://raw.githubusercontent.com/nextcloud/appstore/master/nextcloudappstore/api/v1/release/info.xsd run: wget https://raw.githubusercontent.com/nextcloud/appstore/master/nextcloudappstore/api/v1/release/info.xsd
- name: Lint info.xml - name: Lint info.xml
uses: ChristophWurst/xmllint-action@39155a91429af431d65fafc21fa52ba5c4f5cb71 # v1.1 uses: ChristophWurst/xmllint-action@36f2a302f84f8c83fceea0b9c59e1eb4a616d3c1 # v1.2
with: with:
xml-file: ./appinfo/info.xml xml-file: ./appinfo/info.xml
xml-schema-file: ./info.xsd xml-schema-file: ./info.xsd

Wyświetl plik

@ -22,12 +22,17 @@ jobs:
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Set up php - name: Get php version
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d # v2 id: versions
uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1
- name: Set up php${{ steps.versions.outputs.php-available }}
uses: shivammathur/setup-php@a4e22b60bbb9c1021113f2860347b0759f66fe5d # v2
with: with:
php-version: 8.1 php-version: ${{ steps.versions.outputs.php-available }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none coverage: none
ini-file: development ini-file: development
env: env:

Wyświetl plik

@ -5,13 +5,7 @@
name: Lint php name: Lint php
on: on: pull_request
pull_request:
push:
branches:
- main
- master
- stable*
permissions: permissions:
contents: read contents: read
@ -21,22 +15,35 @@ concurrency:
cancel-in-progress: true cancel-in-progress: true
jobs: jobs:
matrix:
runs-on: ubuntu-latest-low
outputs:
php-versions: ${{ steps.versions.outputs.php-versions }}
steps:
- name: Checkout app
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Get version matrix
id: versions
uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.0.0
php-lint: php-lint:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: matrix
strategy: strategy:
matrix: matrix:
php-versions: [ "8.0", "8.1", "8.2" ] php-versions: ${{fromJson(needs.matrix.outputs.php-versions)}}
name: php-lint name: php-lint
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Set up php ${{ matrix.php-versions }} - name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d # v2 uses: shivammathur/setup-php@a4e22b60bbb9c1021113f2860347b0759f66fe5d # v2
with: with:
php-version: ${{ matrix.php-versions }} php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none coverage: none
ini-file: development ini-file: development
env: env:
@ -48,7 +55,7 @@ jobs:
summary: summary:
permissions: permissions:
contents: none contents: none
runs-on: ubuntu-latest runs-on: ubuntu-latest-low
needs: php-lint needs: php-lint
if: always() if: always()

Wyświetl plik

@ -22,17 +22,17 @@ jobs:
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Read package.json node and npm engines version - name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1 uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: versions id: versions
with: with:
fallbackNode: '^16' fallbackNode: '^20'
fallbackNpm: '^7' fallbackNpm: '^10'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }} - name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3 uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with: with:
node-version: ${{ steps.versions.outputs.nodeVersion }} node-version: ${{ steps.versions.outputs.nodeVersion }}
@ -40,6 +40,8 @@ jobs:
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}" run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
- name: Install dependencies - name: Install dependencies
env:
CYPRESS_INSTALL_BINARY: 0
run: npm ci run: npm ci
- name: Lint - name: Lint

Wyświetl plik

@ -5,23 +5,7 @@
name: Node name: Node
on: on: pull_request
pull_request:
paths:
- '.github/workflows/**'
- 'src/**'
- 'appinfo/info.xml'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
- '**.js'
- '**.ts'
- '**.vue'
push:
branches:
- main
- master
- stable*
permissions: permissions:
contents: read contents: read
@ -31,23 +15,49 @@ concurrency:
cancel-in-progress: true cancel-in-progress: true
jobs: jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- 'src/**'
- 'appinfo/info.xml'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
- '**.js'
- '**.ts'
- '**.vue'
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
name: node needs: changes
if: needs.changes.outputs.src != 'false'
name: NPM build
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Read package.json node and npm engines version - name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1 uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: versions id: versions
with: with:
fallbackNode: '^16' fallbackNode: '^20'
fallbackNpm: '^7' fallbackNpm: '^10'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }} - name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3 uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with: with:
node-version: ${{ steps.versions.outputs.nodeVersion }} node-version: ${{ steps.versions.outputs.nodeVersion }}
@ -55,6 +65,9 @@ jobs:
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}" run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
- name: Install dependencies & build - name: Install dependencies & build
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
run: | run: |
npm ci npm ci
npm run build --if-present npm run build --if-present
@ -69,3 +82,18 @@ jobs:
git status git status
git --no-pager diff git --no-pager diff
exit 1 # make it red to grab attention exit 1 # make it red to grab attention
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, build]
if: always()
# This is the summary, we just avoid to rename it so that branch protection rules still match
name: node
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.build.result != 'success' }}; then exit 1; fi

Wyświetl plik

@ -3,27 +3,9 @@
# https://github.com/nextcloud/.github # https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization # https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: PHPUnit mysql name: PHPUnit MySQL
on: on: pull_request
pull_request:
paths:
- '.github/workflows/**'
- 'appinfo/**'
- 'lib/**'
- 'templates/**'
- 'tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
push:
branches:
- main
- master
- stable*
permissions: permissions:
contents: read contents: read
@ -33,17 +15,58 @@ concurrency:
cancel-in-progress: true cancel-in-progress: true
jobs: jobs:
matrix:
runs-on: ubuntu-latest-low
outputs:
matrix: ${{ steps.versions.outputs.sparse-matrix }}
steps:
- name: Checkout app
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Get version matrix
id: versions
uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1
with:
matrix: '{"mysql-versions": ["8.1"]}'
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- 'appinfo/**'
- 'lib/**'
- 'templates/**'
- 'tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
phpunit-mysql: phpunit-mysql:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [changes, matrix]
if: needs.changes.outputs.src != 'false'
strategy: strategy:
matrix: matrix: ${{ fromJson(needs.matrix.outputs.matrix) }}
php-versions: ['8.0', '8.1', '8.2']
server-versions: ['master'] name: MySQL ${{ matrix.mysql-versions }} PHP ${{ matrix.php-versions }} Nextcloud ${{ matrix.server-versions }}
services: services:
mysql: mysql:
image: ghcr.io/nextcloud/continuous-integration-mariadb-10.6:latest image: ghcr.io/nextcloud/continuous-integration-mysql-${{ matrix.mysql-versions }}:latest
ports: ports:
- 4444:3306/tcp - 4444:3306/tcp
env: env:
@ -56,25 +79,20 @@ jobs:
# Split and keep last # Split and keep last
echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
- name: Enable ONLY_FULL_GROUP_BY MySQL option
run: |
echo "SET GLOBAL sql_mode=(SELECT CONCAT(@@sql_mode,',ONLY_FULL_GROUP_BY'));" | mysql -h 127.0.0.1 -P 4444 -u root -prootpassword
echo "SELECT @@sql_mode;" | mysql -h 127.0.0.1 -P 4444 -u root -prootpassword
- name: Checkout server - name: Checkout server
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with: with:
submodules: true submodules: true
repository: nextcloud/server repository: nextcloud/server
ref: ${{ matrix.server-versions }} ref: ${{ matrix.server-versions }}
- name: Checkout app - name: Checkout app
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with: with:
path: apps/${{ env.APP_NAME }} path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }} - name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d # v2 uses: shivammathur/setup-php@a4e22b60bbb9c1021113f2860347b0759f66fe5d # v2
with: with:
php-version: ${{ matrix.php-versions }} php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation # https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@ -84,9 +102,14 @@ jobs:
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Enable ONLY_FULL_GROUP_BY MySQL option
run: |
echo "SET GLOBAL sql_mode=(SELECT CONCAT(@@sql_mode,',ONLY_FULL_GROUP_BY'));" | mysql -h 127.0.0.1 -P 4444 -u root -prootpassword
echo "SELECT @@sql_mode;" | mysql -h 127.0.0.1 -P 4444 -u root -prootpassword
- name: Check composer file existence - name: Check composer file existence
id: check_composer id: check_composer
uses: andstor/file-existence-action@20b4d2e596410855db8f9ca21e96fbe18e12930b # v2 uses: andstor/file-existence-action@076e0072799f4942c8bc574a82233e1e4d13e9d6 # v2
with: with:
files: apps/${{ env.APP_NAME }}/composer.json files: apps/${{ env.APP_NAME }}/composer.json
@ -150,8 +173,8 @@ jobs:
summary: summary:
permissions: permissions:
contents: none contents: none
runs-on: ubuntu-latest runs-on: ubuntu-latest-low
needs: phpunit-mysql needs: [changes, phpunit-mysql]
if: always() if: always()
@ -159,4 +182,4 @@ jobs:
steps: steps:
- name: Summary status - name: Summary status
run: if ${{ needs.phpunit-mysql.result != 'success' }}; then exit 1; fi run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-mysql.result != 'success' }}; then exit 1; fi

Wyświetl plik

@ -3,27 +3,9 @@
# https://github.com/nextcloud/.github # https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization # https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: PHPUnit pgsql name: PHPUnit PostgreSQL
on: on: pull_request
pull_request:
paths:
- '.github/workflows/**'
- 'appinfo/**'
- 'lib/**'
- 'templates/**'
- 'tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
push:
branches:
- main
- master
- stable*
permissions: permissions:
contents: read contents: read
@ -33,13 +15,55 @@ concurrency:
cancel-in-progress: true cancel-in-progress: true
jobs: jobs:
matrix:
runs-on: ubuntu-latest-low
outputs:
php-version: ${{ steps.versions.outputs.php-available-list }}
server-max: ${{ steps.versions.outputs.branches-max-list }}
steps:
- name: Checkout app
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Get version matrix
id: versions
uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- 'appinfo/**'
- 'lib/**'
- 'templates/**'
- 'tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
phpunit-pgsql: phpunit-pgsql:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [changes, matrix]
if: needs.changes.outputs.src != 'false'
strategy: strategy:
matrix: matrix:
php-versions: ['8.0'] php-versions: ${{ fromJson(needs.matrix.outputs.php-version) }}
server-versions: ['master'] server-versions: ${{ fromJson(needs.matrix.outputs.server-max) }}
name: PostgreSQL PHP ${{ matrix.php-versions }} Nextcloud ${{ matrix.server-versions }}
services: services:
postgres: postgres:
@ -59,19 +83,19 @@ jobs:
echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
- name: Checkout server - name: Checkout server
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with: with:
submodules: true submodules: true
repository: nextcloud/server repository: nextcloud/server
ref: ${{ matrix.server-versions }} ref: ${{ matrix.server-versions }}
- name: Checkout app - name: Checkout app
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with: with:
path: apps/${{ env.APP_NAME }} path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }} - name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d # v2 uses: shivammathur/setup-php@a4e22b60bbb9c1021113f2860347b0759f66fe5d # v2
with: with:
php-version: ${{ matrix.php-versions }} php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation # https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@ -83,7 +107,7 @@ jobs:
- name: Check composer file existence - name: Check composer file existence
id: check_composer id: check_composer
uses: andstor/file-existence-action@20b4d2e596410855db8f9ca21e96fbe18e12930b # v2 uses: andstor/file-existence-action@076e0072799f4942c8bc574a82233e1e4d13e9d6 # v2
with: with:
files: apps/${{ env.APP_NAME }}/composer.json files: apps/${{ env.APP_NAME }}/composer.json
@ -147,8 +171,8 @@ jobs:
summary: summary:
permissions: permissions:
contents: none contents: none
runs-on: ubuntu-latest runs-on: ubuntu-latest-low
needs: phpunit-pgsql needs: [changes, phpunit-pgsql]
if: always() if: always()
@ -156,4 +180,4 @@ jobs:
steps: steps:
- name: Summary status - name: Summary status
run: if ${{ needs.phpunit-pgsql.result != 'success' }}; then exit 1; fi run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-pgsql.result != 'success' }}; then exit 1; fi

Wyświetl plik

@ -3,27 +3,9 @@
# https://github.com/nextcloud/.github # https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization # https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: PHPUnit sqlite name: PHPUnit SQLite
on: on: pull_request
pull_request:
paths:
- '.github/workflows/**'
- 'appinfo/**'
- 'lib/**'
- 'templates/**'
- 'tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
push:
branches:
- main
- master
- stable*
permissions: permissions:
contents: read contents: read
@ -33,13 +15,55 @@ concurrency:
cancel-in-progress: true cancel-in-progress: true
jobs: jobs:
matrix:
runs-on: ubuntu-latest-low
outputs:
php-version: ${{ steps.versions.outputs.php-available-list }}
server-max: ${{ steps.versions.outputs.branches-max-list }}
steps:
- name: Checkout app
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Get version matrix
id: versions
uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- 'appinfo/**'
- 'lib/**'
- 'templates/**'
- 'tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
phpunit-sqlite: phpunit-sqlite:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [changes, matrix]
if: needs.changes.outputs.src != 'false'
strategy: strategy:
matrix: matrix:
php-versions: ['8.0'] php-versions: ${{ fromJson(needs.matrix.outputs.php-version) }}
server-versions: ['master'] server-versions: ${{ fromJson(needs.matrix.outputs.server-max) }}
name: SQLite PHP ${{ matrix.php-versions }} Nextcloud ${{ matrix.server-versions }}
steps: steps:
- name: Set app env - name: Set app env
@ -48,19 +72,19 @@ jobs:
echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
- name: Checkout server - name: Checkout server
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with: with:
submodules: true submodules: true
repository: nextcloud/server repository: nextcloud/server
ref: ${{ matrix.server-versions }} ref: ${{ matrix.server-versions }}
- name: Checkout app - name: Checkout app
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with: with:
path: apps/${{ env.APP_NAME }} path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }} - name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d # v2 uses: shivammathur/setup-php@a4e22b60bbb9c1021113f2860347b0759f66fe5d # v2
with: with:
php-version: ${{ matrix.php-versions }} php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation # https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@ -72,7 +96,7 @@ jobs:
- name: Check composer file existence - name: Check composer file existence
id: check_composer id: check_composer
uses: andstor/file-existence-action@20b4d2e596410855db8f9ca21e96fbe18e12930b # v2 uses: andstor/file-existence-action@076e0072799f4942c8bc574a82233e1e4d13e9d6 # v2
with: with:
files: apps/${{ env.APP_NAME }}/composer.json files: apps/${{ env.APP_NAME }}/composer.json
@ -136,8 +160,8 @@ jobs:
summary: summary:
permissions: permissions:
contents: none contents: none
runs-on: ubuntu-latest runs-on: ubuntu-latest-low
needs: phpunit-sqlite needs: [changes, phpunit-sqlite]
if: always() if: always()
@ -145,4 +169,4 @@ jobs:
steps: steps:
- name: Summary status - name: Summary status
run: if ${{ needs.phpunit-sqlite.result != 'success' }}; then exit 1; fi run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-sqlite.result != 'success' }}; then exit 1; fi

Wyświetl plik

@ -1,3 +1,8 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: 'Ask for feedback on PRs' name: 'Ask for feedback on PRs'
on: on:
schedule: schedule:
@ -5,7 +10,7 @@ on:
jobs: jobs:
pr-feedback: pr-feedback:
runs-on: ubuntu-22.04 runs-on: ubuntu-latest
steps: steps:
- name: The get-github-handles-from-website action - name: The get-github-handles-from-website action
uses: marcelklehr/get-github-handles-from-website-action@a739600f6b91da4957f51db0792697afbb2f143c # v1.0.0 uses: marcelklehr/get-github-handles-from-website-action@a739600f6b91da4957f51db0792697afbb2f143c # v1.0.0
@ -18,12 +23,12 @@ jobs:
Hello there, Hello there,
Thank you so much for taking the time and effort to create a pull request to our Nextcloud project. Thank you so much for taking the time and effort to create a pull request to our Nextcloud project.
We hope that the reviewing process is going smooth and is helpful for you. We want to ensure your pull request is reviewed to your satisfaction. If you have a moment, our community management team would very much appreciate your feedback on your experience with this PR reviewing process. We hope that the review process is going smooth and is helpful for you. We want to ensure your pull request is reviewed to your satisfaction. If you have a moment, our community management team would very much appreciate your feedback on your experience with this PR review process.
Your feedback is valuable to us as we continuously strive to improve our community developer experience. Please take a moment to complete our short survey by clicking on the following link: https://cloud.nextcloud.com/apps/forms/s/i9Ago4EQRZ7TWxjfmeEpPkf6 Your feedback is valuable to us as we continuously strive to improve our community developer experience. Please take a moment to complete our short survey by clicking on the following link: https://cloud.nextcloud.com/apps/forms/s/i9Ago4EQRZ7TWxjfmeEpPkf6
Thank you for contributing to Nextcloud and we hope to hear from you soon! Thank you for contributing to Nextcloud and we hope to hear from you soon!
days-before-feedback: 14 days-before-feedback: 14
start-date: "2023-07-10" start-date: "2023-07-10"
exempt-authors: "${{ steps.scrape.outputs.users }}" exempt-authors: "${{ steps.scrape.outputs.users }},nextcloud-command,nextcloud-android-bot,skjnldsv,datenangebot"
exempt-bots: true exempt-bots: true

Wyświetl plik

@ -5,13 +5,7 @@
name: Static analysis name: Static analysis
on: on: pull_request
pull_request:
push:
branches:
- master
- main
- stable*
concurrency: concurrency:
group: psalm-${{ github.head_ref || github.run_id }} group: psalm-${{ github.head_ref || github.run_id }}
@ -20,21 +14,21 @@ concurrency:
jobs: jobs:
static-analysis: static-analysis:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy:
# do not stop on another job's failure
fail-fast: false
matrix:
ocp-version: [ 'dev-master', 'dev-stable27', 'dev-stable26' ]
name: Nextcloud name: static-psalm-analysis
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Set up php - name: Get php version
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d # v2 id: versions
uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1
- name: Set up php${{ steps.versions.outputs.php-available }}
uses: shivammathur/setup-php@a4e22b60bbb9c1021113f2860347b0759f66fe5d # v2
with: with:
php-version: 8.1 php-version: ${{ steps.versions.outputs.php-available }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none coverage: none
ini-file: development ini-file: development
env: env: