diff options
author | Robin Appelman <robin@icewind.nl> | 2023-08-31 15:46:13 +0200 |
---|---|---|
committer | backportbot-nextcloud[bot] <backportbot-nextcloud[bot]@users.noreply.github.com> | 2023-09-18 17:33:43 +0000 |
commit | e9227c29a9c777ccf845820fe64340c230e2a70c (patch) | |
tree | c1311735779a5ae77e1baf3fc9988d12c088f409 | |
parent | 373bd09fbfcd6875b0fe4e3d2d756e9aaab9ad42 (diff) | |
download | nextcloud-server-e9227c29a9c777ccf845820fe64340c230e2a70c.tar.gz nextcloud-server-e9227c29a9c777ccf845820fe64340c230e2a70c.zip |
add sftp ci test
Signed-off-by: Robin Appelman <robin@icewind.nl>
-rw-r--r-- | .github/workflows/sftp.yml | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/.github/workflows/sftp.yml b/.github/workflows/sftp.yml new file mode 100644 index 00000000000..939372a53d2 --- /dev/null +++ b/.github/workflows/sftp.yml @@ -0,0 +1,75 @@ +name: SFTP unit tests +on: + push: + branches: + - master + - stable* + paths: + - 'apps/files_external/**' + pull_request: + paths: + - 'apps/files_external/**' + +env: + APP_NAME: files_external + +jobs: + sftp-tests: + runs-on: ubuntu-latest + + if: ${{ github.repository_owner != 'nextcloud-gmbh' }} + + strategy: + # do not stop on another job's failure + fail-fast: false + matrix: + php-versions: ['8.0'] + sftpd: ['openssh'] + + name: php${{ matrix.php-versions }}-${{ matrix.sftpd }} + + steps: + - name: Checkout server + uses: actions/checkout@v3 + with: + submodules: true + + - name: Set up sftpd + run: | + sudo mkdir /tmp/sftp + sudo chown -R 0777 /tmp/sftp + if [[ "${{ matrix.sftpd }}" == 'openssh' ]]; then docker run -p 2222:22 --name sftp -d -v /tmp/sftp:/home/test atmoz/sftp "test:test:::data"; fi + - name: Set up php ${{ matrix.php-versions }} + uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d #v2.25.2 + with: + php-version: ${{ matrix.php-versions }} + tools: phpunit:9 + extensions: mbstring, fileinfo, intl, sqlite, pdo_sqlite, zip, gd + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - 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 + ./occ app:enable --force ${{ env.APP_NAME }} + php -S localhost:8080 & + - name: PHPUnit + run: | + echo "<?php return ['run' => true, 'host' => 'localhost:2222','user' => 'test','password' => 'test', 'root' => 'data'];" > apps/${{ env.APP_NAME }}/tests/config.sftp.php + phpunit --configuration tests/phpunit-autotest-external.xml apps/files_external/tests/Storage/SftpTest.php + - name: sftpd logs + if: always() + run: | + ls -l /tmp/sftp + docker logs sftp + + sftp-summary: + runs-on: ubuntu-latest + needs: sftp-tests + + if: always() + + steps: + - name: Summary status + run: if ${{ needs.sftp-tests.result != 'success' }}; then exit 1; fi |