mirror of
https://github.com/matrix-org/dendrite
synced 2024-11-18 15:50:52 +01:00
113 lines
3.4 KiB
YAML
113 lines
3.4 KiB
YAML
name: Scheduled
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '0 0 * * *' # every day at midnight
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
# run Sytest in different variations
|
|
sytest:
|
|
timeout-minutes: 60
|
|
name: "Sytest (${{ matrix.label }})"
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- label: SQLite
|
|
|
|
- label: SQLite, full HTTP APIs
|
|
api: full-http
|
|
|
|
- label: PostgreSQL
|
|
postgres: postgres
|
|
|
|
- label: PostgreSQL, full HTTP APIs
|
|
postgres: postgres
|
|
api: full-http
|
|
container:
|
|
image: matrixdotorg/sytest-dendrite:latest
|
|
volumes:
|
|
- ${{ github.workspace }}:/src
|
|
- /root/.cache/go-build:/github/home/.cache/go-build
|
|
- /root/.cache/go-mod:/gopath/pkg/mod
|
|
env:
|
|
POSTGRES: ${{ matrix.postgres && 1}}
|
|
API: ${{ matrix.api && 1 }}
|
|
SYTEST_BRANCH: ${{ github.head_ref }}
|
|
RACE_DETECTION: 1
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: actions/cache@v3
|
|
with:
|
|
path: |
|
|
~/.cache/go-build
|
|
/gopath/pkg/mod
|
|
key: ${{ runner.os }}-go-sytest-${{ hashFiles('**/go.sum') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-go-sytest-
|
|
- name: Run Sytest
|
|
run: /bootstrap.sh dendrite
|
|
working-directory: /src
|
|
- name: Summarise results.tap
|
|
if: ${{ always() }}
|
|
run: /sytest/scripts/tap_to_gha.pl /logs/results.tap
|
|
- name: Sytest List Maintenance
|
|
if: ${{ always() }}
|
|
run: /src/show-expected-fail-tests.sh /logs/results.tap /src/sytest-whitelist /src/sytest-blacklist
|
|
continue-on-error: true # not fatal
|
|
- name: Are We Synapse Yet?
|
|
if: ${{ always() }}
|
|
run: /src/are-we-synapse-yet.py /logs/results.tap -v
|
|
continue-on-error: true # not fatal
|
|
- name: Upload Sytest logs
|
|
uses: actions/upload-artifact@v2
|
|
if: ${{ always() }}
|
|
with:
|
|
name: Sytest Logs - ${{ job.status }} - (Dendrite, ${{ join(matrix.*, ', ') }})
|
|
path: |
|
|
/logs/results.tap
|
|
/logs/**/*.log*
|
|
|
|
element_web:
|
|
timeout-minutes: 120
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: tecolicom/actions-use-apt-tools@v1
|
|
with:
|
|
# Our test suite includes some screenshot tests with unusual diacritics, which are
|
|
# supposed to be covered by STIXGeneral.
|
|
tools: fonts-stix
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
repository: matrix-org/matrix-react-sdk
|
|
- uses: actions/setup-node@v3
|
|
with:
|
|
cache: 'yarn'
|
|
- name: Fetch layered build
|
|
run: scripts/ci/layered.sh
|
|
- name: Copy config
|
|
run: cp element.io/develop/config.json config.json
|
|
working-directory: ./element-web
|
|
- name: Build
|
|
env:
|
|
CI_PACKAGE: true
|
|
run: yarn build
|
|
working-directory: ./element-web
|
|
- name: Edit Test Config
|
|
run: |
|
|
sed -i '/HOMESERVER/c\ HOMESERVER: "dendrite",' cypress.config.ts
|
|
- name: "Run cypress tests"
|
|
uses: cypress-io/github-action@v4.1.1
|
|
with:
|
|
browser: chrome
|
|
start: npx serve -p 8080 ./element-web/webapp
|
|
wait-on: 'http://localhost:8080'
|
|
env:
|
|
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: true
|
|
TMPDIR: ${{ runner.temp }}
|