Skip to content

build(deps): Bump actions/checkout from 6.0.2 to 6.0.3 #3844

build(deps): Bump actions/checkout from 6.0.2 to 6.0.3

build(deps): Bump actions/checkout from 6.0.2 to 6.0.3 #3844

name: Integration Tests
on:
pull_request
env:
POSTGRES_PASSWORD: nc_test_db
MYSQL_USER: nc_test
MYSQL_PASSWORD: nc_test_db
MYSQL_DATABASE: nc_test
MYSQL_PORT: 3800 # hardcoded at services:mariadb:ports
permissions: {}
jobs:
integration:
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.experimental }}
name: "Integration: Nextcloud ${{ matrix.nextcloud }} - PHP ${{ matrix.php-versions }} - DB ${{ matrix.database }}"
permissions:
contents: read
services:
postgres:
image: postgres:14
env:
POSTGRES_PASSWORD: ${{ env.POSTGRES_PASSWORD }}
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432 # Maps tcp port 5432 on service container to the host
mariadb:
image: mariadb:10.5
env:
MYSQL_ROOT_PASSWORD: ${{ env.MYSQL_PASSWORD }}
MYSQL_USER: ${{ env.MYSQL_USER }}
MYSQL_PASSWORD: ${{ env.MYSQL_PASSWORD }}
MYSQL_DATABASE: ${{ env.MYSQL_DATABASE }}
options: --health-cmd="mariadb-admin ping" --health-interval 5s --health-timeout 2s --health-retries 5
ports:
- 3800:3306/tcp
strategy:
matrix:
php-versions: ['8.2', '8.3']
nextcloud: ['stable34']
database: ['sqlite', 'pgsql', 'mysql']
experimental: [false]
include:
- php-versions: 8.3
nextcloud: pre-release
database: sqlite
experimental: true
- php-versions: 8.3
nextcloud: pre-release
database: sqlite
experimental: true
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
submodules: recursive
persist-credentials: false
- name: Setup PHP
uses: shivammathur/setup-php@7c071dfe9dc99bdf297fa79cb49ea005b9fcadbc # 2.37.1
with:
php-version: ${{ matrix.php-versions }}
extensions: pdo_sqlite,pdo_mysql,pdo_pgsql,gd,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Setup BATS & httpie
run: sudo apt-get update && sudo apt-get install -y httpie && sudo npm install -g bats@1.11.0
### MySQL specific setup
- name: Set up server MySQL
if: matrix.database == 'mysql'
uses: SMillerDev/nextcloud-actions/setup-nextcloud@b13a04eb6a4e48972d31fa07559619843fcc2102 # main
with:
version: ${{ matrix.nextcloud }}
cron: true
database-type: ${{ matrix.database }}
database-host: 127.0.0.1
database-port: ${{ env.MYSQL_PORT }}
database-name: ${{ env.MYSQL_DATABASE }}
database-user: root
database-password: ${{ env.MYSQL_PASSWORD }}
### Back to normal setup
- name: Set up server non MySQL
if: matrix.database != 'mysql'
uses: SMillerDev/nextcloud-actions/setup-nextcloud@b13a04eb6a4e48972d31fa07559619843fcc2102 # main
with:
version: ${{ matrix.nextcloud }}
cron: true
database-type: ${{ matrix.database }}
database-host: localhost
database-port: 5432
database-name: postgres
database-user: postgres
database-password: ${{ env.POSTGRES_PASSWORD }}
- name: Prime app build
run: make php-test-dependencies-appstore
- name: Configure server with app
uses: SMillerDev/nextcloud-actions/setup-nextcloud-app@b13a04eb6a4e48972d31fa07559619843fcc2102 # main
with:
app: 'news'
check-code: false
force: ${{ matrix.experimental }}
- name: Allow local remote servers
working-directory: ../server
run: php ./occ config:system:set allow_local_remote_servers --type=boolean --value=true
- name: Run API tests
working-directory: ../server
run: |
php -S localhost:8080 &> /tmp/webserver.log &
cd apps/news/tests/test_helper/feeds && php -S localhost:8090 &> /tmp/feedserver.log &
sleep 2
cd ${{ github.workspace }}/../server
bats apps/news/tests/api
# Kill php server
kill %1
kill %2
- name: Functional tests maintenance
working-directory: ../server
run: |
./occ maintenance:repair
- name: Functional tests
working-directory: ../server
run: |
cd apps/news/tests/test_helper/feeds && php -S localhost:8090 &> /tmp/feedserver.log &
sleep 2
cd ${{ github.workspace }}/../server
bats apps/news/tests/command
kill %1
- name: Check feeds if feeds from explore page are reachable
working-directory: ../server/apps/news
run: make feed-test