ci: Update github actions
Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
64
.github/workflows/integration.yml
vendored
64
.github/workflows/integration.yml
vendored
@@ -12,6 +12,7 @@ on:
|
|||||||
- 'composer.lock'
|
- 'composer.lock'
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
|
- main
|
||||||
- master
|
- master
|
||||||
- stable*
|
- stable*
|
||||||
|
|
||||||
@@ -70,16 +71,17 @@ jobs:
|
|||||||
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@2.21.2
|
uses: shivammathur/setup-php@2.25.4
|
||||||
with:
|
with:
|
||||||
php-version: ${{ matrix.php-versions }}
|
php-version: ${{ matrix.php-versions }}
|
||||||
tools: phpunit
|
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, mysql, pdo_mysql, pgsql, pdo_pgsql, apcu
|
||||||
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, mysql, pdo_mysql, pgsql, pdo_pgsql,
|
ini-values:
|
||||||
|
apc.enable_cli=on
|
||||||
coverage: none
|
coverage: none
|
||||||
|
|
||||||
- name: Set up PHPUnit
|
- name: Set up dependencies
|
||||||
working-directory: apps/${{ env.APP_NAME }}
|
working-directory: apps/${{ env.APP_NAME }}
|
||||||
run: composer i
|
run: composer i --no-dev
|
||||||
|
|
||||||
- name: Set up Nextcloud
|
- name: Set up Nextcloud
|
||||||
run: |
|
run: |
|
||||||
@@ -90,11 +92,63 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
mkdir data
|
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 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
|
cat config/config.php
|
||||||
./occ user:list
|
./occ user:list
|
||||||
./occ app:enable --force ${{ env.APP_NAME }}
|
./occ app:enable --force ${{ env.APP_NAME }}
|
||||||
|
./occ config:system:set query_log_file --value "$PWD/query.log"
|
||||||
php -S localhost:8080 &
|
php -S localhost:8080 &
|
||||||
|
|
||||||
- name: Run behat
|
- name: Run behat
|
||||||
working-directory: apps/${{ env.APP_NAME }}/tests/integration
|
working-directory: apps/${{ env.APP_NAME }}/tests/integration
|
||||||
run: ./run.sh
|
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
|
||||||
|
})
|
||||||
|
}
|
||||||
64
.github/workflows/nightly.yml
vendored
64
.github/workflows/nightly.yml
vendored
@@ -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
|
|
||||||
Reference in New Issue
Block a user