forked from EP-u-NW/web_ffi
-
Notifications
You must be signed in to change notification settings - Fork 3
53 lines (44 loc) · 1.25 KB
/
publish.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
name: Publish Dart Packages
on:
push:
branches:
- main
paths:
- 'CHANGELOG.md'
jobs:
analyze-and-publish:
name: Analyze and Publish Dart Packages
runs-on: ubuntu-latest
strategy:
matrix:
package:
- wasm_ffi
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Dart
uses: dart-lang/setup-dart@v1
with:
channel: stable
- name: Check if relevant CHANGELOG is updated
id: changes
run: |
if [[ ! $(git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep "^${{ matrix.package }}/CHANGELOG.md$") ]]; then
echo "skip=true" >> $GITHUB_ENV
fi
- name: Analyze ${{ matrix.package }}
if: env.skip != 'true'
run: |
dart pub get
dart analyze
dart test
- name: Publish ${{ matrix.package }} (if valid)
if: env.skip != 'true'
env:
PUB_TOKEN: ${{ secrets.PUB_TOKEN }}
run: |
# Validate the package
dart pub publish --dry-run
# Publish the package if validation succeeds
echo "Publishing ${{ matrix.package }} to pub.dev..."
# dart pub publish --force