Merge pull request #4912 from nextcloud/ci/stable25

This commit is contained in:
Julius Härtl
2023-07-21 18:18:34 +02:00
committed by GitHub
11 changed files with 154 additions and 162 deletions

View File

@@ -4,7 +4,7 @@ on:
pull_request:
push:
branches:
- master
- main
- stable*
env:
@@ -14,7 +14,7 @@ env:
jobs:
cypress:
runs-on: ubuntu-latest
runs-on: self-hosted
strategy:
fail-fast: false
@@ -33,6 +33,11 @@ jobs:
- name: Set up npm7
run: npm i -g npm@7
- name: Register text Git reference
run: |
text_app_ref="$(if [ "${{ matrix.server-versions }}" = "master" ]; then echo -n "main"; else echo -n "${{ matrix.server-versions }}"; fi)"
echo "text_app_ref=$text_app_ref" >> $GITHUB_ENV
- name: Checkout server
uses: actions/checkout@v3
with:
@@ -51,11 +56,18 @@ jobs:
with:
path: apps/${{ env.APP_NAME }}
- name: Checkout text
uses: actions/checkout@v3
with:
repository: nextcloud/text
ref: ${{ env.text_app_ref }}
path: apps/text
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.21.2
uses: shivammathur/setup-php@2.25.4
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, zip, gd, apcu
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite, apcu
ini-values:
apc.enable_cli=on
coverage: none
@@ -84,7 +96,7 @@ jobs:
curl -v http://localhost:8081/index.php/login
- name: Cypress run
uses: cypress-io/github-action@v4
uses: cypress-io/github-action@v5
with:
record: true
parallel: false
@@ -96,7 +108,7 @@ jobs:
npm_package_name: ${{ env.APP_NAME }}
- name: Upload test failure screenshots
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
if: failure()
with:
name: Upload screenshots
@@ -104,7 +116,7 @@ jobs:
retention-days: 5
- name: Upload nextcloud logs
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
if: failure()
with:
name: Upload nextcloud log

View File

@@ -12,6 +12,7 @@ on:
- 'composer.lock'
push:
branches:
- main
- master
- stable*
@@ -70,16 +71,17 @@ jobs:
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.21.2
uses: shivammathur/setup-php@2.25.4
with:
php-version: ${{ matrix.php-versions }}
tools: phpunit
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, mysql, pdo_mysql, pgsql, pdo_pgsql,
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite, mysql, pdo_mysql, pgsql, pdo_pgsql, apcu
ini-values:
apc.enable_cli=on
coverage: none
- name: Set up PHPUnit
- name: Set up dependencies
working-directory: apps/${{ env.APP_NAME }}
run: composer i
run: composer i --no-dev
- name: Set up Nextcloud
run: |
@@ -90,11 +92,63 @@ jobs:
fi
mkdir data
./occ maintenance:install --verbose --database=${{ matrix.databases }} --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
./occ config:system:set hashing_default_password --value=true --type=boolean
./occ config:system:set memcache.local --value="\\OC\\Memcache\\APCu"
./occ config:system:set memcache.distributed --value="\\OC\\Memcache\\APCu"
cat config/config.php
./occ user:list
./occ app:enable --force ${{ env.APP_NAME }}
./occ config:system:set query_log_file --value "$PWD/query.log"
php -S localhost:8080 &
- name: Run behat
working-directory: apps/${{ env.APP_NAME }}/tests/integration
run: ./run.sh
- name: Query count
if: ${{ matrix.databases == 'mysql' }}
uses: actions/github-script@v6
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
let myOutput = ''
let myError = ''
const options = {}
options.listeners = {
stdout: (data) => {
myOutput += data.toString()
},
stderr: (data) => {
myError += data.toString()
}
}
await exec.exec(`/bin/bash -c "cat query.log | wc -l"`, [], options)
msg = myOutput
const queryCount = parseInt(myOutput, 10)
myOutput = ''
await exec.exec('cat', ['apps/${{ env.APP_NAME }}/tests/integration/base-query-count.txt'], options)
const baseCount = parseInt(myOutput, 10)
const absoluteIncrease = queryCount - baseCount
const relativeIncrease = baseCount <= 0 ? 100 : (parseInt((absoluteIncrease / baseCount * 10000), 10) / 100)
if (absoluteIncrease >= 100 || relativeIncrease > 5) {
const comment = `🐢 Performance warning.\nIt looks like the query count of the integration tests increased with this PR.\nDatabase query count is now ` + queryCount + ' was ' + baseCount + ' (+' + relativeIncrease + '%)\nPlease check your code again. If you added a new test this can be expected and the base value in tests/integration/base-query-count.txt can be increased.'
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: comment
})
}
if (queryCount < 100) {
const comment = `🐈 Performance messuring seems broken. Failed to get query count.`
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: comment
})
}

View File

@@ -1,64 +0,0 @@
name: Package nightly
on:
push:
branches:
- nightly
schedule:
- cron: '0 1 * * *' # run at 2 AM UTC
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [14.x]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: Set up npm7
run: npm i -g npm@7
- name: Setup PHP
uses: shivammathur/setup-php@2.21.2
with:
php-version: '7.4'
tools: composer
- name: install dependencies
run: |
wget https://github.com/ChristophWurst/krankerl/releases/download/v0.12.2/krankerl_0.12.2_amd64.deb
sudo dpkg -i krankerl_0.12.2_amd64.deb
- name: package
run: |
uname -a
RUST_BACKTRACE=1 krankerl --version
RUST_BACKTRACE=1 krankerl package
- name: Set git config
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git tag -f nightly
- name: Push tag
uses: juliushaertl/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
tags: true
force: true
- name: Create Release
id: create_release
uses: juliushaertl/action-release@master
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag: nightly
files: ./build/artifacts/deck.tar.gz
name: Nightly build
body: |
Nightly release of deck
draft: false
prerelease: true
overwrite: true

142
package-lock.json generated
View File

@@ -3611,17 +3611,17 @@
}
},
"node_modules/@nextcloud/stylelint-config": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/@nextcloud/stylelint-config/-/stylelint-config-2.3.1.tgz",
"integrity": "sha512-Bhz0xIC2SWS2ihzRFCkKuEc7M1WeHeImu7JvmBZfdxlcM7FuFwV8L8JIIsnzKED1xd6ZtmAlPYWstE8hMKwOxQ==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@nextcloud/stylelint-config/-/stylelint-config-2.3.0.tgz",
"integrity": "sha512-5mtWqqwrXFXekGT0I8PtVYxJAUQXYwMF28e2MBFbsbyCv+XVzFn9rOYAn6xUG1PrsIeEnom0xlQdrrjpJc71oA==",
"dev": true,
"engines": {
"node": "^20.0.0",
"npm": "^9.0.0"
"node": "^16.0.0",
"npm": "^7.0.0 || ^8.0.0"
},
"peerDependencies": {
"stylelint": "^15.6.0",
"stylelint-config-recommended-scss": "^12.0.0",
"stylelint": "^14.2.0",
"stylelint-config-recommended-scss": "^7.0.0",
"stylelint-config-recommended-vue": "^1.1.0"
}
},
@@ -16770,29 +16770,6 @@
"license": "MIT",
"peer": true
},
"node_modules/postcss-scss": {
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.6.tgz",
"integrity": "sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ==",
"dev": true,
"funding": [
{
"type": "opencollective",
"url": "https://opencollective.com/postcss/"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/postcss-scss"
}
],
"peer": true,
"engines": {
"node": ">=12.0"
},
"peerDependencies": {
"postcss": "^8.4.19"
}
},
"node_modules/postcss-selector-parser": {
"version": "6.0.13",
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz",
@@ -18709,35 +18686,46 @@
"stylelint": ">=14.0.0"
}
},
"node_modules/stylelint-config-recommended": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-8.0.0.tgz",
"integrity": "sha512-IK6dWvE000+xBv9jbnHOnBq01gt6HGVB2ZTsot+QsMpe82doDQ9hvplxfv4YnpEuUwVGGd9y6nbaAnhrjcxhZQ==",
"dev": true,
"peer": true,
"peerDependencies": {
"stylelint": "^14.8.0"
}
},
"node_modules/stylelint-config-recommended-scss": {
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-12.0.0.tgz",
"integrity": "sha512-5Bb2mlGy6WLa30oNeKpZvavv2lowJUsUJO25+OA68GFTemlwd1zbFsL7q0bReKipOSU3sG47hKneZ6Nd+ctrFA==",
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-7.0.0.tgz",
"integrity": "sha512-rGz1J4rMAyJkvoJW4hZasuQBB7y9KIrShb20l9DVEKKZSEi1HAy0vuNlR8HyCKy/jveb/BdaQFcoiYnmx4HoiA==",
"dev": true,
"peer": true,
"dependencies": {
"postcss-scss": "^4.0.6",
"stylelint-config-recommended": "^12.0.0",
"stylelint-scss": "^5.0.0"
"postcss-scss": "^4.0.2",
"stylelint-config-recommended": "^8.0.0",
"stylelint-scss": "^4.0.0"
},
"peerDependencies": {
"postcss": "^8.3.3",
"stylelint": "^15.5.0"
},
"peerDependenciesMeta": {
"postcss": {
"optional": true
}
"stylelint": "^14.4.0"
}
},
"node_modules/stylelint-config-recommended-scss/node_modules/stylelint-config-recommended": {
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-12.0.0.tgz",
"integrity": "sha512-x6x8QNARrGO2sG6iURkzqL+Dp+4bJorPMMRNPScdvaUK8PsynriOcMW7AFDKqkWAS5wbue/u8fUT/4ynzcmqdQ==",
"node_modules/stylelint-config-recommended-scss/node_modules/postcss-scss": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.4.tgz",
"integrity": "sha512-aBBbVyzA8b3hUL0MGrpydxxXKXFZc5Eqva0Q3V9qsBOLEMsjb6w49WfpsoWzpEgcqJGW4t7Rio8WXVU9Gd8vWg==",
"dev": true,
"peer": true,
"engines": {
"node": ">=12.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/postcss/"
},
"peerDependencies": {
"stylelint": "^15.5.0"
"postcss": "^8.3.3"
}
},
"node_modules/stylelint-config-recommended-vue": {
@@ -18809,15 +18797,15 @@
"peer": true
},
"node_modules/stylelint-scss": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-5.0.1.tgz",
"integrity": "sha512-n87iCRZrr2J7//I/QFsDXxFLnHKw633U4qvWZ+mOW6KDAp/HLj06H+6+f9zOuTYy+MdGdTuCSDROCpQIhw5fvQ==",
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-4.7.0.tgz",
"integrity": "sha512-TSUgIeS0H3jqDZnby1UO1Qv3poi1N8wUYIJY6D1tuUq2MN3lwp/rITVo0wD+1SWTmRm0tNmGO0b7nKInnqF6Hg==",
"dev": true,
"peer": true,
"dependencies": {
"postcss-media-query-parser": "^0.2.3",
"postcss-resolve-nested-selector": "^0.1.1",
"postcss-selector-parser": "^6.0.13",
"postcss-selector-parser": "^6.0.11",
"postcss-value-parser": "^4.2.0"
},
"peerDependencies": {
@@ -23604,9 +23592,9 @@
}
},
"@nextcloud/stylelint-config": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/@nextcloud/stylelint-config/-/stylelint-config-2.3.1.tgz",
"integrity": "sha512-Bhz0xIC2SWS2ihzRFCkKuEc7M1WeHeImu7JvmBZfdxlcM7FuFwV8L8JIIsnzKED1xd6ZtmAlPYWstE8hMKwOxQ==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@nextcloud/stylelint-config/-/stylelint-config-2.3.0.tgz",
"integrity": "sha512-5mtWqqwrXFXekGT0I8PtVYxJAUQXYwMF28e2MBFbsbyCv+XVzFn9rOYAn6xUG1PrsIeEnom0xlQdrrjpJc71oA==",
"dev": true,
"requires": {}
},
@@ -33131,14 +33119,6 @@
"dev": true,
"peer": true
},
"postcss-scss": {
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.6.tgz",
"integrity": "sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ==",
"dev": true,
"peer": true,
"requires": {}
},
"postcss-selector-parser": {
"version": "6.0.13",
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz",
@@ -34607,22 +34587,30 @@
"peer": true,
"requires": {}
},
"stylelint-config-recommended": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-8.0.0.tgz",
"integrity": "sha512-IK6dWvE000+xBv9jbnHOnBq01gt6HGVB2ZTsot+QsMpe82doDQ9hvplxfv4YnpEuUwVGGd9y6nbaAnhrjcxhZQ==",
"dev": true,
"peer": true,
"requires": {}
},
"stylelint-config-recommended-scss": {
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-12.0.0.tgz",
"integrity": "sha512-5Bb2mlGy6WLa30oNeKpZvavv2lowJUsUJO25+OA68GFTemlwd1zbFsL7q0bReKipOSU3sG47hKneZ6Nd+ctrFA==",
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-7.0.0.tgz",
"integrity": "sha512-rGz1J4rMAyJkvoJW4hZasuQBB7y9KIrShb20l9DVEKKZSEi1HAy0vuNlR8HyCKy/jveb/BdaQFcoiYnmx4HoiA==",
"dev": true,
"peer": true,
"requires": {
"postcss-scss": "^4.0.6",
"stylelint-config-recommended": "^12.0.0",
"stylelint-scss": "^5.0.0"
"postcss-scss": "^4.0.2",
"stylelint-config-recommended": "^8.0.0",
"stylelint-scss": "^4.0.0"
},
"dependencies": {
"stylelint-config-recommended": {
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-12.0.0.tgz",
"integrity": "sha512-x6x8QNARrGO2sG6iURkzqL+Dp+4bJorPMMRNPScdvaUK8PsynriOcMW7AFDKqkWAS5wbue/u8fUT/4ynzcmqdQ==",
"postcss-scss": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.4.tgz",
"integrity": "sha512-aBBbVyzA8b3hUL0MGrpydxxXKXFZc5Eqva0Q3V9qsBOLEMsjb6w49WfpsoWzpEgcqJGW4t7Rio8WXVU9Gd8vWg==",
"dev": true,
"peer": true,
"requires": {}
@@ -34679,15 +34667,15 @@
}
},
"stylelint-scss": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-5.0.1.tgz",
"integrity": "sha512-n87iCRZrr2J7//I/QFsDXxFLnHKw633U4qvWZ+mOW6KDAp/HLj06H+6+f9zOuTYy+MdGdTuCSDROCpQIhw5fvQ==",
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-4.7.0.tgz",
"integrity": "sha512-TSUgIeS0H3jqDZnby1UO1Qv3poi1N8wUYIJY6D1tuUq2MN3lwp/rITVo0wD+1SWTmRm0tNmGO0b7nKInnqF6Hg==",
"dev": true,
"peer": true,
"requires": {
"postcss-media-query-parser": "^0.2.3",
"postcss-resolve-nested-selector": "^0.1.1",
"postcss-selector-parser": "^6.0.13",
"postcss-selector-parser": "^6.0.11",
"postcss-value-parser": "^4.2.0"
}
},

View File

@@ -79,7 +79,7 @@ import { mapGetters, mapState } from 'vuex'
import { getCurrentUser } from '@nextcloud/auth'
import { showError, showSuccess } from '@nextcloud/dialogs'
import { loadState } from '@nextcloud/initial-state'
import debounce from 'lodash/debounce'
import debounce from 'lodash/debounce.js'
export default {
name: 'SharingTabSidebar',

View File

@@ -70,7 +70,7 @@ import CommentForm from './CommentForm.vue'
import { getCurrentUser } from '@nextcloud/auth'
import md5 from 'blueimp-md5'
import relativeDate from '../../mixins/relativeDate.js'
import ReplyIcon from 'vue-material-design-icons/Reply'
import ReplyIcon from 'vue-material-design-icons/Reply.vue'
const AtMention = {
name: 'AtMention',

View File

@@ -83,7 +83,7 @@ import { NcActions, NcActionButton, NcModal } from '@nextcloud/vue'
import { formatFileSize } from '@nextcloud/files'
import { generateUrl } from '@nextcloud/router'
import { mapState, mapGetters } from 'vuex'
import PaperclipIcon from 'vue-material-design-icons/Paperclip'
import PaperclipIcon from 'vue-material-design-icons/Paperclip.vue'
const markdownIt = new MarkdownIt({
linkify: true,
@@ -100,7 +100,7 @@ markdownIt.use(MarkdownItLinkAttributes, {
export default {
name: 'Description',
components: {
VueEasymde: () => import('vue-easymde/dist/VueEasyMDE.common'),
VueEasymde: () => import('vue-easymde/dist/VueEasyMDE.common.js'),
NcActions,
NcActionButton,
NcModal,

View File

@@ -94,8 +94,8 @@ import { generateUrl } from '@nextcloud/router'
import { getCurrentUser } from '@nextcloud/auth'
import { showUndo } from '@nextcloud/dialogs'
import '@nextcloud/dialogs/styles/toast.scss'
import ArchiveIcon from 'vue-material-design-icons/Archive'
import CardBulletedIcon from 'vue-material-design-icons/CardBulleted'
import ArchiveIcon from 'vue-material-design-icons/Archive.vue'
import CardBulletedIcon from 'vue-material-design-icons/CardBulleted.vue'
export default {
name: 'CardMenu',

View File

@@ -140,8 +140,8 @@
<script>
import { NcAppNavigationIconBullet, NcAppNavigationCounter, NcAppNavigationItem, NcColorPicker, NcActions, NcActionButton } from '@nextcloud/vue'
import ClickOutside from 'vue-click-outside'
import ArchiveIcon from 'vue-material-design-icons/Archive'
import CloneIcon from 'vue-material-design-icons/ContentDuplicate'
import ArchiveIcon from 'vue-material-design-icons/Archive.vue'
import CloneIcon from 'vue-material-design-icons/ContentDuplicate.vue'
export default {
name: 'AppNavigationBoard',

View File

@@ -21,7 +21,7 @@
*/
import { showError } from '@nextcloud/dialogs'
import { formatFileSize } from '@nextcloud/files'
// eslint-disable-next-line import/no-unresolved, node/no-missing-import
// eslint-disable-next-line import/no-unresolved, n/no-missing-import
import PQueue from 'p-queue'
const queue = new PQueue({ concurrency: 2 })

View File

@@ -1,3 +1,5 @@
const stylelintConfig = require('@nextcloud/stylelint-config')
stylelintConfig.rules['selector-pseudo-element-no-unknown'][1].ignorePseudoElements.push('v-deep')
module.exports = stylelintConfig