aboutsummaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
Diffstat (limited to '.github')
-rw-r--r--.github/CODEOWNERS7
-rw-r--r--.github/ISSUE_TEMPLATE/BUG_REPORT.yml2
-rw-r--r--.github/workflows/node.yml7
-rw-r--r--.github/workflows/performance.yml101
-rw-r--r--.github/workflows/stale.yml1
5 files changed, 117 insertions, 1 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 50399d335d0..587bda28bc1 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -8,3 +8,10 @@
/apps/twofactor_backupcodes @ChristophWurst @miaulalala @nickvergessen
*/TwoFactorAuth/* @ChristophWurst @miaulalala @nickvergessen
/core/templates/twofactor* @ChristophWurst @miaulalala @nickvergessen
+
+/apps/user_status @CarlSchwan
+/apps/settings/lib @CarlSchwan
+/lib/private/Metadata @CarlSchwan
+/lib/private/Profiler @CarlSchwan
+/lib/public/Profiler @CarlSchwan
+
diff --git a/.github/ISSUE_TEMPLATE/BUG_REPORT.yml b/.github/ISSUE_TEMPLATE/BUG_REPORT.yml
index b377db9b05d..3c155f7fdc3 100644
--- a/.github/ISSUE_TEMPLATE/BUG_REPORT.yml
+++ b/.github/ISSUE_TEMPLATE/BUG_REPORT.yml
@@ -21,6 +21,8 @@ body:
required: true
- label: Nextcloud Server **is** up to date. See [Maintenance and Release Schedule](https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule) for supported versions.
required: true
+ - label: Nextcloud Server **is** running on 64bit capable CPU, PHP and OS.
+ required: true
- label: I agree to follow Nextcloud's [Code of Conduct](https://nextcloud.com/contribute/code-of-conduct/).
required: true
- type: textarea
diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml
index a0ecd45b149..7173a224c24 100644
--- a/.github/workflows/node.yml
+++ b/.github/workflows/node.yml
@@ -13,6 +13,9 @@ on:
- master
- stable*
+permissions:
+ contents: read
+
jobs:
build:
runs-on: ubuntu-latest
@@ -50,10 +53,12 @@ jobs:
- name: Check webpack build changes
run: |
- bash -c "[[ ! \"`git status --porcelain `\" ]] || exit 1"
+ bash -c "[[ ! \"`git status --porcelain `\" ]] || (echo 'Please recompile and commit the assets, see the section \"Show changes on failure\" for details' && exit 1)"
- name: Show changes on failure
if: failure()
run: |
git status
git --no-pager diff
+ exit 1 # make it red to grab attention
+
diff --git a/.github/workflows/performance.yml b/.github/workflows/performance.yml
new file mode 100644
index 00000000000..e5cbac5fe8f
--- /dev/null
+++ b/.github/workflows/performance.yml
@@ -0,0 +1,101 @@
+name: Performance testing
+on:
+ pull_request:
+
+jobs:
+ performance-testing:
+ runs-on: ubuntu-latest
+
+ strategy:
+ fail-fast: false
+ matrix:
+ php-versions: ['8.0']
+
+ name: performance-${{ matrix.php-versions }}
+
+ steps:
+ - name: Checkout server before PR
+ uses: actions/checkout@v3
+ with:
+ submodules: true
+ ref: ${{ github.event.pull_request.base.ref }}
+
+ - name: Set up php ${{ matrix.php-versions }}
+ uses: shivammathur/setup-php@v2
+ with:
+ php-version: ${{ matrix.php-versions }}
+ tools: phpunit
+ extensions: mbstring, fileinfo, intl, sqlite, pdo_sqlite, zip, gd
+
+ - name: Set up Nextcloud
+ run: |
+ mkdir data
+ ./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
+
+ php -S localhost:8080 &
+ - name: Apply blueprint
+ uses: icewind1991/blueprint@v0.1.2
+ with:
+ blueprint: tests/blueprints/basic.toml
+ ref: ${{ github.event.pull_request.head.ref }}
+ - name: Run before measurements
+ uses: nextcloud/profiler@fa03a1e6864fcb63fb92b8940fa72f5191baffbe
+ with:
+ run: |
+ curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test
+ curl -s -u test:test http://localhost:8080/remote.php/dav/files/test/test.txt
+ curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test/many_files
+ curl -s -u test:test -T README.md http://localhost:8080/remote.php/dav/files/test/new_file.txt
+ curl -s -u test:test -X DELETE http://localhost:8080/remote.php/dav/files/test/new_file.txt
+ output: before.json
+
+ - name: Apply PR
+ run: |
+ git fetch origin ${{ github.event.pull_request.head.ref }}
+ git checkout ${{ github.event.pull_request.head.ref }}
+ git submodule update
+
+ ./occ upgrade
+
+ - name: Run after measurements
+ id: compare
+ uses: nextcloud/profiler@fa03a1e6864fcb63fb92b8940fa72f5191baffbe
+ with:
+ run: |
+ curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test
+ curl -s -u test:test http://localhost:8080/remote.php/dav/files/test/test.txt
+ curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test/many_files
+ curl -s -u test:test -T README.md http://localhost:8080/remote.php/dav/files/test/new_file.txt
+ curl -s -u test:test -X DELETE http://localhost:8080/remote.php/dav/files/test/new_file.txt
+ output: after.json
+ compare-with: before.json
+
+ - name: Upload profiles
+ if: always()
+ uses: actions/upload-artifact@v2
+ with:
+ name: profiles
+ path: |
+ before.json
+ after.json
+
+ - uses: actions/github-script@v5
+ if: failure() && steps.compare.outcome == 'failure'
+ with:
+ github-token: ${{secrets.GITHUB_TOKEN}}
+ script: |
+ let comment = `Possible performance regression detected\n`;
+ comment += `<details><summary>Show Output</summary>
+
+ \`\`\`
+ ${{ steps.compare.outputs.compare }}
+ \`\`\`
+
+ </details>`;
+
+ github.rest.issues.createComment({
+ issue_number: context.issue.number,
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ body: comment
+ })
diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml
index 28b928dd77e..13dc697664c 100644
--- a/.github/workflows/stale.yml
+++ b/.github/workflows/stale.yml
@@ -24,6 +24,7 @@ jobs:
for your contributions.
stale-issue-label: 'stale'
only-labels: 'needs info'
+ labels-to-remove-when-unstale: 'needs info,stale'
exempt-issue-labels: '1. to develop,2. developing,3. to review,4. to release,security'
days-before-stale: 30
days-before-close: 14