Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cypress.yml « workflows « .github - github.com/nextcloud/text.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 567ffa9bfc815c4d433bde31127a4affe567cbfa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
name: Cypress

on:
  pull_request:
  push:
    branches:
      - master
      - stable*

env:
  APP_NAME: text
  CYPRESS_baseUrl: http://localhost:8081/index.php

jobs:
  cypress:

    runs-on: ubuntu-latest

    strategy:
      fail-fast: false
      matrix:
        node-version: [14]
        # containers: [1, 2, 3]
        php-versions: [ '7.4' ]
        databases: [ 'sqlite' ]
        server-versions: [ 'stable24' ]

    steps:
      - 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: Checkout server
        uses: actions/checkout@v3
        with:
          repository: nextcloud/server
          ref: ${{ matrix.server-versions }}

      - name: Checkout submodules
        shell: bash
        run: |
          auth_header="$(git config --local --get http.https://github.com/.extraheader)"
          git submodule sync --recursive
          git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1

      - name: Checkout viewer
        uses: actions/checkout@v3
        with:
          repository: nextcloud/viewer
          ref: ${{ matrix.server-versions }}
          path: apps/viewer

      - name: npm install, build viewer in testing mode
        working-directory: apps/viewer
        run: |
          npm ci
          TESTING=true npm run build

      - name: Checkout ${{ env.APP_NAME }}
        uses: actions/checkout@v3
        with:
          path: apps/${{ env.APP_NAME }}

      - name: setup npm cache
        uses: actions/setup-node@v3
        with:
          cache: 'npm'
          cache-dependency-path: apps/${{ env.APP_NAME }}/package-lock.json
          # cypress will install dependencies

      - name: Set up php ${{ matrix.php-versions }}
        uses: shivammathur/setup-php@v2
        with:
          php-version: ${{ matrix.php-versions }}
          extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, zip, gd, apcu
          ini-values:
            apc.enable_cli=on
          coverage: none

      - name: Set up Nextcloud
        env:
          DB_PORT: 4444
          PHP_CLI_SERVER_WORKERS: 10
        run: |
          mkdir data
          php 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
          php occ config:system:set memcache.local --value="\\OC\\Memcache\\APCu"
          php occ config:system:set debug --value=true --type=boolean
          php -f index.php
          php -S 0.0.0.0:8081 &
          export OC_PASS=1234561
          php occ user:add --password-from-env user1
          php occ user:add --password-from-env user2
          php occ app:enable viewer
          php occ app:enable text
          php occ app:list
          curl -v http://localhost:8081/index.php/login
          cat data/nextcloud.log

      - name: Cypress run
        uses: cypress-io/github-action@v3
        with:
          record: true
          parallel: false
          wait-on: '${{ env.CYPRESS_baseUrl }}'
          working-directory: 'apps/${{ env.APP_NAME }}'
          config: defaultCommandTimeout=10000,video=false
        env:
          CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
          npm_package_name: ${{ env.APP_NAME }}

      - name: Upload test failure screenshots
        uses: actions/upload-artifact@v2
        if: failure()
        with:
          name: Upload screenshots
          path: apps/${{ env.APP_NAME }}/cypress/screenshots/
          retention-days: 5

      - name: Upload nextcloud logs
        uses: actions/upload-artifact@v2
        if: failure()
        with:
          name: Upload nextcloud log
          path: data/nextcloud.log
          retention-days: 5