Repository navigation
48 lines (43 loc) · 1.83 KB
/
Copy pathapp-testing.yml
File metadata and controls
48 lines (43 loc) · 1.83 KB
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
# CI for projectmanager, via EGroupware's reusable test workflow.
#
# Builds and installs a full EGroupware instance, replaces the composer-provided copy of projectmanager
# with the ref under test, then runs projectmanager's tests only.
#
# Two reasons to run:
# - push / pull_request: test this branch's projectmanager against EGroupware master.
# - weekly: test projectmanager master against EGroupware master, to catch EGroupware
# changes that break it. EGroupware's own CI does run projectmanager's tests on
# every commit, but against the sha pinned in its composer.lock, which
# lags this repository's master.
#
# No credentials: this repository is public, so the workflow clones it anonymously.
name: ProjectManager Testing
on:
push:
branches:
- master
pull_request:
schedule:
# Mondays 7:23 UTC. Off the hour, where scheduled runs are heavily contended.
- cron: '23 7 * * 1'
workflow_dispatch:
inputs:
egw-ref:
description: 'EGroupware branch/tag/sha to test against, eg. master or a 26.x release tag'
type: string
default: master
permissions:
contents: read
jobs:
test:
uses: EGroupware/egroupware/.github/workflows/testing.yml@master
with:
egw-ref: ${{ inputs.egw-ref || 'master' }}
# github.head_ref is the PR's source branch; github.ref_name covers push, schedule
# (always the default branch) and dispatch. This tests the PR head, not the merge result.
extra-apps: >-
[{"repo": "EGroupware/projectmanager", "dir": "projectmanager",
"ref": "${{ github.head_ref || github.ref_name }}"}]
# Only projectmanager's suite - not the whole EGroupware suite, which its own CI already covers.
test-apps: projectmanager
test-scope: extra-apps