-
Notifications
You must be signed in to change notification settings - Fork 10
155 lines (139 loc) · 4.46 KB
/
Copy pathdart.yml
File metadata and controls
155 lines (139 loc) · 4.46 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
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
name: Dart
on:
push:
branches: [main]
tags:
- 'obs_websocket_js-v*'
- 'obs_mcp_js-v*'
- 'v[0-9]+.[0-9]+.[0-9]+*'
pull_request:
branches: [main]
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
pana:
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/pana.yml@v1
with:
working_directory: packages/obs_websocket
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# Note: This workflow uses the latest stable version of the Dart SDK.
# You can specify other versions if desired, see documentation here:
# https://github.com/dart-lang/setup-dart/blob/main/README.md
- uses: dart-lang/setup-dart@v1
- name: Install Melos
run: dart pub global activate melos
- name: Bootstrap workspace
run: melos bootstrap
- name: Verify formatting
run: melos run format-check
- name: Analyze project source
run: melos run analyze
- name: Run tests
run: melos run test
obs_websocket_js:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dart-lang/setup-dart@v1
- uses: actions/setup-node@v4
with:
node-version: '24'
- name: Install Melos
run: dart pub global activate melos
- name: Bootstrap Dart workspace
run: melos bootstrap
- name: Install npm deps
working-directory: packages/obs_websocket_js
run: npm install
- name: Build (dart2js + tsup)
working-directory: packages/obs_websocket_js
run: npm run build
- name: Type-check
working-directory: packages/obs_websocket_js
run: npm run typecheck
- name: Test
working-directory: packages/obs_websocket_js
run: npm test
obs_mcp_js:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dart-lang/setup-dart@v1
- uses: actions/setup-node@v4
with:
node-version: '24'
- name: Install Melos
run: dart pub global activate melos
- name: Bootstrap Dart workspace
run: melos bootstrap
- name: Install npm deps
working-directory: packages/obs_mcp_js
run: npm install
- name: Build (dart2js + tsup)
working-directory: packages/obs_mcp_js
run: npm run build
- name: Type-check
working-directory: packages/obs_mcp_js
run: npm run typecheck
- name: Test
working-directory: packages/obs_mcp_js
run: npm test
publish-obs-websocket-js:
needs: [obs_websocket_js]
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/obs_websocket_js-v')
steps:
- uses: actions/checkout@v4
- uses: dart-lang/setup-dart@v1
- uses: actions/setup-node@v4
with:
node-version: '24'
registry-url: 'https://registry.npmjs.org'
- name: Install Melos
run: dart pub global activate melos
- name: Bootstrap Dart workspace
run: melos bootstrap
- name: Install npm deps
working-directory: packages/obs_websocket_js
run: npm install
- name: Build (dart2js + tsup)
working-directory: packages/obs_websocket_js
run: npm run build
- name: Publish to npm
working-directory: packages/obs_websocket_js
run: npm publish --access=public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
publish-obs-mcp-js:
needs: [obs_mcp_js]
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/obs_mcp_js-v')
steps:
- uses: actions/checkout@v4
- uses: dart-lang/setup-dart@v1
- uses: actions/setup-node@v4
with:
node-version: '24'
registry-url: 'https://registry.npmjs.org'
- name: Install Melos
run: dart pub global activate melos
- name: Bootstrap Dart workspace
run: melos bootstrap
- name: Install npm deps
working-directory: packages/obs_mcp_js
run: npm install
- name: Build (dart2js + tsup)
working-directory: packages/obs_mcp_js
run: npm run build
- name: Publish to npm
working-directory: packages/obs_mcp_js
run: npm publish --access=public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}