diff options
Diffstat (limited to '.github')
-rw-r--r-- | .github/CODEOWNERS | 7 | ||||
-rw-r--r-- | .github/ISSUE_TEMPLATE/BUG_REPORT.yml | 2 | ||||
-rw-r--r-- | .github/workflows/node.yml | 7 | ||||
-rw-r--r-- | .github/workflows/performance.yml | 101 | ||||
-rw-r--r-- | .github/workflows/stale.yml | 1 |
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 |