Skip to content

Commit e67f2fe

Browse files
committed
Merge remote-tracking branch 'upstream/master'
2 parents d1964ee + 5c26e5b commit e67f2fe

File tree

2 files changed

+150
-44
lines changed

2 files changed

+150
-44
lines changed

.github/workflows/release-automated.yml

Lines changed: 12 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ jobs:
2020
if: github.event_name == 'push' && github.ref_type == 'branch'
2121
runs-on: ubuntu-latest
2222
timeout-minutes: 10
23+
outputs:
24+
dart_tag: ${{ steps.dart-release.outputs.new_release_git_tag }}
25+
flutter_tag: ${{ steps.flutter-release.outputs.new_release_git_tag }}
2326
permissions:
2427
contents: write
2528
issues: write
@@ -38,59 +41,24 @@ jobs:
3841
- name: Install dependencies
3942
run: npm ci
4043
- name: Run semantic-release for dart package
44+
id: dart-release
4145
run: npx semantic-release
4246
env:
4347
GITHUB_TOKEN: ${{ secrets.RELEASE_GITHUB_TOKEN }}
4448
PKG_NAME: dart
4549
- name: Run semantic-release for flutter package
50+
id: flutter-release
4651
run: npx semantic-release
4752
env:
4853
GITHUB_TOKEN: ${{ secrets.RELEASE_GITHUB_TOKEN }}
4954
PKG_NAME: flutter
50-
pub-publish:
51-
if: github.event_name == 'push' && github.ref_type == 'tag'
52-
runs-on: ubuntu-latest
53-
timeout-minutes: 10
55+
publish:
56+
needs: release
57+
if: needs.release.outputs.dart_tag != '' || needs.release.outputs.flutter_tag != ''
58+
uses: ./.github/workflows/release-publish.yml
5459
permissions:
5560
id-token: write
56-
steps:
57-
- name: Checkout code
58-
uses: actions/checkout@v4
59-
with:
60-
ref: ${{ github.ref_name }}
61-
- name: Setup dart
62-
uses: dart-lang/setup-dart@v1
63-
with:
64-
sdk: '3.10.0'
65-
- name: Setup flutter
66-
if: env.package == 'flutter'
67-
uses: subosito/flutter-action@v2
68-
with:
69-
cache: true
70-
channel: stable
71-
flutter-version: 3.38.1
72-
- name: Install dart dependencies
73-
run: dart pub get --directory 'packages/dart'
74-
- name: Install flutter dependencies
75-
if: env.package == 'flutter'
76-
run: dart pub get --directory 'packages/flutter'
77-
- name: Analyze dart
78-
if: env.package == 'dart'
79-
run: dart analyze --fatal-infos 'packages/${{ env.package }}'
80-
- name: Analyze flutter
81-
if: env.package == 'flutter'
82-
run: flutter analyze --fatal-infos 'packages/${{ env.package }}'
83-
- name: Lint
84-
run: dart format --output=none --set-exit-if-changed 'packages/${{ env.package }}'
85-
- name: Publish package (dry-run)
86-
working-directory: 'packages/${{ env.package }}'
87-
run: dart pub publish --dry-run
88-
- name: Publish package
89-
working-directory: 'packages/${{ env.package }}'
90-
run: dart pub publish --force
91-
docs-publish:
92-
if: github.event_name == 'push' && github.ref_type == 'tag'
93-
needs: pub-publish
94-
uses: parse-community/Parse-SDK-Flutter/.github/workflows/release-manual-docs.yml@master
61+
contents: write
9562
with:
96-
tag: ${{ github.ref_name }}
63+
dart_tag: ${{ needs.release.outputs.dart_tag }}
64+
flutter_tag: ${{ needs.release.outputs.flutter_tag }}
Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
name: release-publish
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
tag:
6+
default: ''
7+
description: 'Version tag (dart-#.#.# or flutter-#.#.#):'
8+
workflow_call:
9+
inputs:
10+
dart_tag:
11+
required: false
12+
type: string
13+
description: 'Dart package version tag (dart-#.#.#)'
14+
flutter_tag:
15+
required: false
16+
type: string
17+
description: 'Flutter package version tag (flutter-#.#.#)'
18+
env:
19+
# Resolve tags for both workflow_dispatch and workflow_call
20+
dart_tag_resolved: ${{ inputs.dart_tag || (startsWith(inputs.tag, 'dart-') && inputs.tag || '') }}
21+
flutter_tag_resolved: ${{ inputs.flutter_tag || (startsWith(inputs.tag, 'flutter-') && inputs.tag || '') }}
22+
jobs:
23+
pub-publish-dart:
24+
if: inputs.dart_tag != '' || startsWith(inputs.tag, 'dart-')
25+
runs-on: ubuntu-latest
26+
timeout-minutes: 10
27+
permissions:
28+
id-token: write
29+
steps:
30+
- name: Checkout code
31+
uses: actions/checkout@v4
32+
with:
33+
ref: ${{ env.dart_tag_resolved }}
34+
- name: Setup dart
35+
uses: dart-lang/setup-dart@v1
36+
with:
37+
sdk: '3.10.0'
38+
- name: Install dart dependencies
39+
run: dart pub get --directory 'packages/dart'
40+
- name: Analyze dart
41+
run: dart analyze --fatal-infos 'packages/dart'
42+
- name: Lint
43+
run: dart format --output=none --set-exit-if-changed 'packages/dart'
44+
- name: Publish package (dry-run)
45+
working-directory: 'packages/dart'
46+
run: dart pub publish --dry-run
47+
- name: Publish package
48+
working-directory: 'packages/dart'
49+
run: dart pub publish --force
50+
51+
pub-publish-flutter:
52+
if: inputs.flutter_tag != '' || startsWith(inputs.tag, 'flutter-')
53+
runs-on: ubuntu-latest
54+
timeout-minutes: 10
55+
permissions:
56+
id-token: write
57+
steps:
58+
- name: Checkout code
59+
uses: actions/checkout@v4
60+
with:
61+
ref: ${{ env.flutter_tag_resolved }}
62+
- name: Setup dart
63+
uses: dart-lang/setup-dart@v1
64+
with:
65+
sdk: '3.10.0'
66+
- name: Setup flutter
67+
uses: subosito/flutter-action@v2
68+
with:
69+
cache: true
70+
channel: stable
71+
flutter-version: 3.38.1
72+
- name: Install dart dependencies
73+
run: dart pub get --directory 'packages/dart'
74+
- name: Install flutter dependencies
75+
run: dart pub get --directory 'packages/flutter'
76+
- name: Analyze flutter
77+
run: flutter analyze --fatal-infos 'packages/flutter'
78+
- name: Lint
79+
run: dart format --output=none --set-exit-if-changed 'packages/flutter'
80+
- name: Publish package (dry-run)
81+
working-directory: 'packages/flutter'
82+
run: dart pub publish --dry-run
83+
- name: Publish package
84+
working-directory: 'packages/flutter'
85+
run: dart pub publish --force
86+
87+
docs-publish-dart:
88+
if: inputs.dart_tag != '' || startsWith(inputs.tag, 'dart-')
89+
needs: pub-publish-dart
90+
runs-on: ubuntu-latest
91+
timeout-minutes: 15
92+
steps:
93+
- name: Checkout code
94+
uses: actions/checkout@v4
95+
with:
96+
ref: ${{ env.dart_tag_resolved }}
97+
- name: Setup dart
98+
uses: dart-lang/setup-dart@v1
99+
- name: Install dart dependencies
100+
run: dart pub get --directory 'packages/dart'
101+
- name: Generate Docs
102+
run: dart doc ./packages/dart/ -o ./.api_docs/dart/
103+
- name: Deploy
104+
uses: peaceiris/actions-gh-pages@v3.7.3
105+
with:
106+
github_token: ${{ secrets.GITHUB_TOKEN }}
107+
publish_dir: ./.api_docs/dart/
108+
destination_dir: dart
109+
110+
docs-publish-flutter:
111+
if: inputs.flutter_tag != '' || startsWith(inputs.tag, 'flutter-')
112+
needs: pub-publish-flutter
113+
runs-on: ubuntu-latest
114+
timeout-minutes: 15
115+
steps:
116+
- name: Checkout code
117+
uses: actions/checkout@v4
118+
with:
119+
ref: ${{ env.flutter_tag_resolved }}
120+
- name: Setup dart
121+
uses: dart-lang/setup-dart@v1
122+
- name: Setup flutter
123+
uses: subosito/flutter-action@v2
124+
with:
125+
channel: 'stable'
126+
cache: true
127+
- name: Install dart dependencies
128+
run: dart pub get --directory 'packages/dart'
129+
- name: Install flutter dependencies
130+
run: dart pub get --directory 'packages/flutter'
131+
- name: Generate Docs
132+
run: dart doc ./packages/flutter/ -o ./.api_docs/flutter/
133+
- name: Deploy
134+
uses: peaceiris/actions-gh-pages@v3.7.3
135+
with:
136+
github_token: ${{ secrets.GITHUB_TOKEN }}
137+
publish_dir: ./.api_docs/flutter/
138+
destination_dir: flutter

0 commit comments

Comments
 (0)