Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2,767 changes: 0 additions & 2,767 deletions .drone.star

This file was deleted.

4 changes: 4 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,3 +61,7 @@ updates:
- dependency-name: sinon
versions:
- 9.2.4
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: weekly
167 changes: 167 additions & 0 deletions .github/workflows/acceptance.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
name: Acceptance Tests

on:
push:
branches:
- master
pull_request:
types:
- opened
- synchronize
- reopened

permissions:
contents: read

concurrency:
group: acceptance-${{ github.ref }}
cancel-in-progress: true

jobs:
acceptance-api:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php-version: ["7.4", "8.0", "8.1", "8.2", "8.3", "8.4", "8.5"]
services:
mariadb:
image: mariadb:10.11
env:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: owncloud
MYSQL_USER: owncloud
MYSQL_PASSWORD: owncloud
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
extensions: curl, gd, json, xml, zip, pdo_mysql
ini-values: "memory_limit=1024M"
tools: composer
- name: Install dependencies
run: |
make install-composer-deps
make vendor-bin-behat
- name: Install Server
env:
DB_TYPE: mariadb
DB_NAME: owncloud
DB_USERNAME: owncloud
DB_PASSWORD: owncloud
DB_HOST: 127.0.0.1
run: |
# The install script expects wait-for-it, but we use GHA health checks.
# We can create a dummy wait-for-it or just rely on health checks.
sudo apt-get install -y wait-for-it
bash tests/drone/install-server.sh
- name: Start Web Server
run: php -S 0.0.0.0:8080 &
- name: Run API Acceptance tests
env:
TEST_SERVER_URL: http://localhost:8080
run: make test-acceptance-api

acceptance-cli:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php-version: ["7.4", "8.0", "8.1", "8.2", "8.3", "8.4", "8.5"]
services:
mariadb:
image: mariadb:10.11
env:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: owncloud
MYSQL_USER: owncloud
MYSQL_PASSWORD: owncloud
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
extensions: curl, gd, json, xml, zip, pdo_mysql
ini-values: "memory_limit=1024M"
tools: composer
- name: Install dependencies
run: |
make install-composer-deps
make vendor-bin-behat
- name: Install Server
env:
DB_TYPE: mariadb
DB_NAME: owncloud
DB_USERNAME: owncloud
DB_PASSWORD: owncloud
DB_HOST: 127.0.0.1
run: |
sudo apt-get install -y wait-for-it
bash tests/drone/install-server.sh
- name: Run CLI Acceptance tests
run: make test-acceptance-cli

acceptance-webui:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php-version: ["7.4", "8.0", "8.1", "8.2", "8.3", "8.4", "8.5"]
services:
mariadb:
image: mariadb:10.11
env:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: owncloud
MYSQL_USER: owncloud
MYSQL_PASSWORD: owncloud
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
selenium:
image: selenium/standalone-chrome:latest
ports:
- 4444:4444
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
extensions: curl, gd, json, xml, zip, pdo_mysql
ini-values: "memory_limit=1024M"
tools: composer
- name: Install dependencies
run: |
make install-composer-deps
make vendor-bin-behat
- name: Install Server
env:
DB_TYPE: mariadb
DB_NAME: owncloud
DB_USERNAME: owncloud
DB_PASSWORD: owncloud
DB_HOST: 127.0.0.1
run: |
sudo apt-get install -y wait-for-it
bash tests/drone/install-server.sh
- name: Start Web Server
run: php -S 0.0.0.0:8080 &
- name: Run WebUI Acceptance tests
env:
SELENIUM_HOST: localhost
SELENIUM_PORT: 4444
TEST_SERVER_URL: http://localhost:8080
run: make test-acceptance-webui
34 changes: 34 additions & 0 deletions .github/workflows/changelog.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Changelog

on:
push:
branches:
- master
pull_request:
types:
- opened
- synchronize
- reopened

permissions:
contents: write

jobs:
changelog:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Generate Changelog
run: |
docker run --rm -v $(pwd):/data -w /data toolhippie/calens calens >| CHANGELOG.md
- name: Commit and push changes
if: github.ref == 'refs/heads/master' && github.event_name == 'push'
run: |
git config --local user.email "devops@owncloud.com"
git config --local user.name "ownClouders"
git add CHANGELOG.md
git commit -m "Automated changelog update [skip ci]" || echo "No changes to commit"
git push
133 changes: 133 additions & 0 deletions .github/workflows/dav-litmus.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
name: Dav and Litmus Tests

on:
push:
branches:
- master
pull_request:
types:
- opened
- synchronize
- reopened

permissions:
contents: read

concurrency:
group: dav-litmus-${{ github.ref }}
cancel-in-progress: true

jobs:
dav-tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php-version: ["7.4", "8.0", "8.1", "8.2", "8.3", "8.4", "8.5"]
dav-type: ["caldav-new", "caldav-old", "carddav-new", "carddav-old"]
services:
mariadb:
image: mariadb:10.11
env:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: owncloud
MYSQL_USER: owncloud
MYSQL_PASSWORD: owncloud
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
extensions: curl, gd, json, xml, zip, pdo_mysql
ini-values: "memory_limit=1024M"
tools: composer
- name: Install dependencies
run: |
make install-composer-deps
- name: Install Server
env:
DB_TYPE: mariadb
DB_NAME: owncloud
DB_USERNAME: owncloud
DB_PASSWORD: owncloud
DB_HOST: 127.0.0.1
run: |
sudo apt-get install -y wait-for-it
bash tests/drone/install-server.sh
- name: Run Dav tests
run: |
if [ "${{ matrix.dav-type }}" = "caldav-new" ]; then SCRIPT_PATH="apps/dav/tests/ci/caldav"; fi
if [ "${{ matrix.dav-type }}" = "caldav-old" ]; then SCRIPT_PATH="apps/dav/tests/ci/caldav-old-endpoint"; fi
if [ "${{ matrix.dav-type }}" = "carddav-new" ]; then SCRIPT_PATH="apps/dav/tests/ci/carddav"; fi
if [ "${{ matrix.dav-type }}" = "carddav-old" ]; then SCRIPT_PATH="apps/dav/tests/ci/carddav-old-endpoint"; fi
bash $SCRIPT_PATH/install.sh
bash $SCRIPT_PATH/script.sh

litmus-tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php-version: ["7.4", "8.0", "8.1", "8.2", "8.3", "8.4", "8.5"]
services:
mariadb:
image: mariadb:10.11
env:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: owncloud
MYSQL_USER: owncloud
MYSQL_PASSWORD: owncloud
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
extensions: curl, gd, json, xml, zip, pdo_mysql
ini-values: "memory_limit=1024M"
tools: composer
- name: Install dependencies
run: |
make install-composer-deps
- name: Install Server
env:
DB_TYPE: mariadb
DB_NAME: owncloud
DB_USERNAME: owncloud
DB_PASSWORD: owncloud
DB_HOST: 127.0.0.1
run: |
sudo apt-get install -y wait-for-it
bash tests/drone/install-server.sh
- name: Setup Litmus
run: |
php occ app:enable files_external
php occ config:system:set files_external_allow_create_new_local --value=true
php occ config:app:set core enable_external_storage --value=yes
mkdir -p work/local_storage
php occ files_external:create local_storage local null::null -c datadir=$(pwd)/work/local_storage
php occ user:add --password-from-env user1
env:
OC_PASS: 123456
- name: Run Litmus tests
run: |
# Start a local web server for litmus to test against
php -S 0.0.0.0:8080 &
# Wait for server
sleep 5
# Run litmus using docker
docker run --network host owncloudci/litmus:latest bash -c "
export LITMUS_URL='http://localhost:8080/remote.php/dav/files/admin'
export LITMUS_USERNAME='admin'
export LITMUS_PASSWORD='admin'
/usr/local/bin/litmus-wrapper
"
35 changes: 35 additions & 0 deletions .github/workflows/javascript.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Javascript Tests

on:
push:
branches:
- master
pull_request:
types:
- opened
- synchronize
- reopened

permissions:
contents: read

concurrency:
group: javascript-${{ github.ref }}
cancel-in-progress: true

jobs:
test-js:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '14'
- name: Install dependencies
run: |
make install-nodejs-deps
- name: Run Javascript tests
run: |
make test-js
Loading
Loading