-
Notifications
You must be signed in to change notification settings - Fork 137
107 lines (99 loc) · 2.64 KB
/
ci.yml
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
---
name: ci
on:
push:
branches:
- main
paths-ignore:
- '**.md'
- '**.asciidoc'
pull_request:
branches:
- main
paths-ignore:
- '**.md'
- '**.asciidoc'
# Limit the access of the generated GITHUB_TOKEN
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
permissions:
statuses: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
- run: '.ci/scripts/lint.sh'
- run: 'npm run ci:bundlesize'
id: bundlesize
# TODO: This fails on forked PRs
# - uses: actions/github-script@v6
# env:
# BUNDLESIZE_PASS: ${{ steps.bundlesize.outputs.bundlesize_pass }}
# BUNDLESIZE_FAIL: ${{ steps.bundlesize.outputs.bundlesize_fail }}
# with:
# script: |
# const { BUNDLESIZE_PASS, BUNDLESIZE_FAIL } = process.env;
# let state = 'success';
# if (BUNDLESIZE_FAIL > 0) {
# state = 'failure';
# }
# github.rest.repos.createCommitStatus({
# ...context.repo,
# sha: context.sha,
# state: state,
# context: `${context.workflow} / Bundlesize: ${BUNDLESIZE_PASS} pass / ${BUNDLESIZE_FAIL} fail`,
# });
test-puppeteer:
name: Test Puppeteer
runs-on: ubuntu-latest
strategy:
matrix:
stack-version:
- '8.0.0-SNAPSHOT'
- '8.14.1'
scope:
- '@elastic/apm-rum'
- '@elastic/apm-rum-core'
- '@elastic/apm-rum-react'
- '@elastic/apm-rum-angular'
- '@elastic/apm-rum-vue'
steps:
- uses: actions/checkout@v4
- name: Run puppeteer tests
uses: ./.github/workflows/run-test
with:
goal: 'test'
scope: ${{ matrix.scope }}
stack-version: ${{ matrix.stack-version }}
all:
if: always()
runs-on: ubuntu-latest
needs:
- lint
- test-puppeteer
steps:
- id: check
uses: elastic/apm-pipeline-library/.github/actions/check-dependent-jobs@current
with:
needs: ${{ toJSON(needs) }}
- run: ${{ steps.check.outputs.isSuccess }}
coverage:
name: Coverage
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run coverage
uses: ./.github/workflows/run-test
with:
goal: 'coverage'
stack-version: '8.14.1'