Merge pull request #294 from GetStream/feature/pana
add pana check gh action
This commit is contained in:
@@ -0,0 +1,102 @@
|
|||||||
|
name: pana
|
||||||
|
|
||||||
|
env:
|
||||||
|
ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true'
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
paths-ignore:
|
||||||
|
- 'docs/**'
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
paths-ignore:
|
||||||
|
- 'docs/**'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
stream_chat:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: axel-op/dart-package-analyzer@v3
|
||||||
|
id: analysis
|
||||||
|
with:
|
||||||
|
githubToken: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
relativePath: packages/stream_chat
|
||||||
|
- name: Check scores
|
||||||
|
env:
|
||||||
|
# NB: "analysis" is the id set above. Replace it with the one you used if different.
|
||||||
|
TOTAL: ${{ steps.analysis.outputs.total }}
|
||||||
|
TOTAL_MAX: ${{ steps.analysis.outputs.total_max }}
|
||||||
|
run: |
|
||||||
|
PERCENTAGE=$(( $TOTAL * 100 / $TOTAL_MAX ))
|
||||||
|
if (( $PERCENTAGE < 100 ))
|
||||||
|
then
|
||||||
|
echo Score too low!
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
stream_chat_persistence:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: axel-op/dart-package-analyzer@v3
|
||||||
|
id: analysis
|
||||||
|
with:
|
||||||
|
githubToken: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
relativePath: packages/stream_chat_persistence
|
||||||
|
- name: Check scores
|
||||||
|
env:
|
||||||
|
# NB: "analysis" is the id set above. Replace it with the one you used if different.
|
||||||
|
TOTAL: ${{ steps.analysis.outputs.total }}
|
||||||
|
TOTAL_MAX: ${{ steps.analysis.outputs.total_max }}
|
||||||
|
run: |
|
||||||
|
PERCENTAGE=$(( $TOTAL * 100 / $TOTAL_MAX ))
|
||||||
|
if (( $PERCENTAGE < 90 ))
|
||||||
|
then
|
||||||
|
echo Score too low!
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
stream_chat_flutter_core:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: axel-op/dart-package-analyzer@v3
|
||||||
|
id: analysis
|
||||||
|
with:
|
||||||
|
githubToken: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
relativePath: packages/stream_chat_flutter_core
|
||||||
|
- name: Check scores
|
||||||
|
env:
|
||||||
|
# NB: "analysis" is the id set above. Replace it with the one you used if different.
|
||||||
|
TOTAL: ${{ steps.analysis.outputs.total }}
|
||||||
|
TOTAL_MAX: ${{ steps.analysis.outputs.total_max }}
|
||||||
|
run: |
|
||||||
|
PERCENTAGE=$(( $TOTAL * 100 / $TOTAL_MAX ))
|
||||||
|
if (( $PERCENTAGE < 100 ))
|
||||||
|
then
|
||||||
|
echo Score too low!
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
stream_chat_flutter:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: axel-op/dart-package-analyzer@v3
|
||||||
|
id: analysis
|
||||||
|
with:
|
||||||
|
githubToken: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
relativePath: packages/stream_chat_flutter
|
||||||
|
- name: Check scores
|
||||||
|
env:
|
||||||
|
# NB: "analysis" is the id set above. Replace it with the one you used if different.
|
||||||
|
TOTAL: ${{ steps.analysis.outputs.total }}
|
||||||
|
TOTAL_MAX: ${{ steps.analysis.outputs.total_max }}
|
||||||
|
run: |
|
||||||
|
PERCENTAGE=$(( $TOTAL * 100 / $TOTAL_MAX ))
|
||||||
|
if (( $PERCENTAGE < 90 ))
|
||||||
|
then
|
||||||
|
echo Score too low!
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
@@ -17,7 +17,7 @@ jobs:
|
|||||||
timeout-minutes: 15
|
timeout-minutes: 15
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
- name: 'Install Flutter'
|
- name: 'Install Flutter'
|
||||||
@@ -40,7 +40,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 15
|
timeout-minutes: 15
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
- name: 'Install Flutter'
|
- name: 'Install Flutter'
|
||||||
@@ -73,7 +73,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 5
|
timeout-minutes: 5
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
- name: 'Install Flutter'
|
- name: 'Install Flutter'
|
||||||
@@ -89,7 +89,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 15
|
timeout-minutes: 15
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
- name: 'Install Flutter'
|
- name: 'Install Flutter'
|
||||||
|
|||||||
@@ -2,4 +2,4 @@ import 'package:stream_chat/src/client.dart';
|
|||||||
|
|
||||||
/// Current package version
|
/// Current package version
|
||||||
/// Used in [StreamChatClient] to build the `x-stream-client` header
|
/// Used in [StreamChatClient] to build the `x-stream-client` header
|
||||||
const PACKAGE_VERSION = '1.3.2-beta';
|
const PACKAGE_VERSION = '1.3.2+1-beta';
|
||||||
|
|||||||
@@ -202,24 +202,26 @@ class GiphyAttachment extends AttachmentWidget {
|
|||||||
crossAxisAlignment: CrossAxisAlignment.center,
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
children: [
|
children: [
|
||||||
Expanded(
|
Expanded(
|
||||||
child: FlatButton(
|
child: Container(
|
||||||
height: 50,
|
height: 50,
|
||||||
onPressed: () {
|
child: TextButton(
|
||||||
streamChannel.channel.sendAction(message, {
|
onPressed: () {
|
||||||
'image_action': 'cancel',
|
streamChannel.channel.sendAction(message, {
|
||||||
});
|
'image_action': 'cancel',
|
||||||
},
|
});
|
||||||
child: Text(
|
},
|
||||||
'Cancel',
|
child: Text(
|
||||||
style: StreamChatTheme.of(context)
|
'Cancel',
|
||||||
.textTheme
|
style: StreamChatTheme.of(context)
|
||||||
.bodyBold
|
.textTheme
|
||||||
.copyWith(
|
.bodyBold
|
||||||
color: StreamChatTheme.of(context)
|
.copyWith(
|
||||||
.colorTheme
|
color: StreamChatTheme.of(context)
|
||||||
.black
|
.colorTheme
|
||||||
.withOpacity(0.5),
|
.black
|
||||||
),
|
.withOpacity(0.5),
|
||||||
|
),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -232,20 +234,22 @@ class GiphyAttachment extends AttachmentWidget {
|
|||||||
height: 50.0,
|
height: 50.0,
|
||||||
),
|
),
|
||||||
Expanded(
|
Expanded(
|
||||||
child: FlatButton(
|
child: Container(
|
||||||
height: 50,
|
height: 50,
|
||||||
onPressed: () {
|
child: TextButton(
|
||||||
streamChannel.channel.sendAction(message, {
|
onPressed: () {
|
||||||
'image_action': 'send',
|
streamChannel.channel.sendAction(message, {
|
||||||
});
|
'image_action': 'send',
|
||||||
},
|
});
|
||||||
child: Text(
|
},
|
||||||
'Send',
|
child: Text(
|
||||||
style: TextStyle(
|
'Send',
|
||||||
color: StreamChatTheme.of(context)
|
style: TextStyle(
|
||||||
.colorTheme
|
color: StreamChatTheme.of(context)
|
||||||
.accentBlue,
|
.colorTheme
|
||||||
fontWeight: FontWeight.bold),
|
.accentBlue,
|
||||||
|
fontWeight: FontWeight.bold),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -284,7 +284,7 @@ class _ChannelListViewState extends State<ChannelListView> {
|
|||||||
left: 0,
|
left: 0,
|
||||||
bottom: 32,
|
bottom: 32,
|
||||||
child: Center(
|
child: Center(
|
||||||
child: FlatButton(
|
child: TextButton(
|
||||||
onPressed: widget.onStartChatPressed,
|
onPressed: widget.onStartChatPressed,
|
||||||
child: Text(
|
child: Text(
|
||||||
'Start a chat',
|
'Start a chat',
|
||||||
@@ -445,7 +445,7 @@ class _ChannelListViewState extends State<ChannelListView> {
|
|||||||
),
|
),
|
||||||
style: Theme.of(context).textTheme.headline6,
|
style: Theme.of(context).textTheme.headline6,
|
||||||
),
|
),
|
||||||
FlatButton(
|
TextButton(
|
||||||
onPressed: () => _channelListController.loadData(),
|
onPressed: () => _channelListController.loadData(),
|
||||||
child: Text('Retry'),
|
child: Text('Retry'),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -348,7 +348,7 @@ class _MessageActionsModalState extends State<MessageActionsModal> {
|
|||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
children: [
|
children: [
|
||||||
FlatButton(
|
TextButton(
|
||||||
child: Text(
|
child: Text(
|
||||||
'OK',
|
'OK',
|
||||||
style: StreamChatTheme.of(context)
|
style: StreamChatTheme.of(context)
|
||||||
@@ -413,7 +413,7 @@ class _MessageActionsModalState extends State<MessageActionsModal> {
|
|||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
children: [
|
children: [
|
||||||
FlatButton(
|
TextButton(
|
||||||
child: Text(
|
child: Text(
|
||||||
'OK',
|
'OK',
|
||||||
style: StreamChatTheme.of(context)
|
style: StreamChatTheme.of(context)
|
||||||
|
|||||||
@@ -2139,7 +2139,7 @@ class MessageInputState extends State<MessageInput> {
|
|||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
children: [
|
children: [
|
||||||
FlatButton(
|
TextButton(
|
||||||
child: Text(
|
child: Text(
|
||||||
'OK',
|
'OK',
|
||||||
style: StreamChatTheme.of(context)
|
style: StreamChatTheme.of(context)
|
||||||
|
|||||||
@@ -195,7 +195,7 @@ class _MessageSearchListViewState extends State<MessageSearchListView> {
|
|||||||
padding: const EdgeInsets.only(top: 16.0),
|
padding: const EdgeInsets.only(top: 16.0),
|
||||||
child: Text(message),
|
child: Text(message),
|
||||||
),
|
),
|
||||||
RaisedButton(
|
ElevatedButton(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
_messageSearchListController.loadData();
|
_messageSearchListController.loadData();
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -242,7 +242,7 @@ class _UserListViewState extends State<UserListView>
|
|||||||
),
|
),
|
||||||
child: Text(message),
|
child: Text(message),
|
||||||
),
|
),
|
||||||
FlatButton(
|
TextButton(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
_userListController.loadData();
|
_userListController.loadData();
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ Future<bool> showConfirmationDialog(
|
|||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
FlatButton(
|
TextButton(
|
||||||
child: Text(
|
child: Text(
|
||||||
cancelText,
|
cancelText,
|
||||||
style: StreamChatTheme.of(context)
|
style: StreamChatTheme.of(context)
|
||||||
@@ -75,7 +75,7 @@ Future<bool> showConfirmationDialog(
|
|||||||
Navigator.of(context).pop(false);
|
Navigator.of(context).pop(false);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
FlatButton(
|
TextButton(
|
||||||
child: Text(
|
child: Text(
|
||||||
okText,
|
okText,
|
||||||
style: StreamChatTheme.of(context)
|
style: StreamChatTheme.of(context)
|
||||||
@@ -145,7 +145,7 @@ Future<bool> showInfoDialog(
|
|||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
FlatButton(
|
TextButton(
|
||||||
child: Text(
|
child: Text(
|
||||||
okText,
|
okText,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ class ChannelQueryDao extends DatabaseAccessor<MoorChatDatabase>
|
|||||||
?.where((s) => possibleSortingFields.contains(s.field))
|
?.where((s) => possibleSortingFields.contains(s.field))
|
||||||
?.toList(growable: false);
|
?.toList(growable: false);
|
||||||
|
|
||||||
Comparator<ChannelModel> chainedComparator = (a, b) {
|
var chainedComparator = (ChannelModel a, ChannelModel b) {
|
||||||
final dateA = a.lastMessageAt ?? a.createdAt;
|
final dateA = a.lastMessageAt ?? a.createdAt;
|
||||||
final dateB = b.lastMessageAt ?? b.createdAt;
|
final dateB = b.lastMessageAt ?? b.createdAt;
|
||||||
return dateB.compareTo(dateA);
|
return dateB.compareTo(dateA);
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ environment:
|
|||||||
sdk: ">=2.7.0 <3.0.0"
|
sdk: ">=2.7.0 <3.0.0"
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
|
flutter:
|
||||||
|
sdk: flutter
|
||||||
moor: ^3.4.0
|
moor: ^3.4.0
|
||||||
path: ^1.7.0
|
path: ^1.7.0
|
||||||
path_provider: ^1.6.27
|
path_provider: ^1.6.27
|
||||||
|
|||||||
Reference in New Issue
Block a user