Skip to content

Commit d55262e

Browse files
Merge branch 'dev' of https://github.com/anusii/solidpod into av/327_share_resources_with_inheritance
2 parents 37b7d8e + 894a30e commit d55262e

36 files changed

+220
-141
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,4 +54,6 @@ Flutter Version:
5454

5555
Checklist for closing the issue:
5656

57-
- [ ] All tests pass
57+
- [ ] `make test`
58+
- [ ] `make qtest`
59+
- [ ] [Task specific requirements.]

.github/pull_request_template.md

Lines changed: 35 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,40 +2,53 @@
22

33
## What issue does this PR address
44

5-
- [A one line description of this PR]
5+
- [Description]
66

7-
- Link to associated issue: #
7+
## Associated Issue
8+
9+
- This PR relates to issue #
10+
11+
## Type of Change
12+
13+
- [ ] Bug fix (non-breaking change which fixes an issue)
14+
- [ ] New feature (non-breaking change which adds functionality)
15+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
16+
- [ ] This change requires a documentation update
17+
18+
## How Has This Been Tested?
19+
20+
Please describe the tests that you ran to verify your changes.
821

922
## Checklist
1023

1124
Complete the check-list below to ensure your branch is ready for PR.
1225

13-
Flutter Style Guide: https://survivor.togaware.com/gnulinux/flutter-style.html
14-
15-
- [ ] Screenshots included in linked issue
16-
- [ ] Changes adhere to the team style and coding guideline
17-
- [ ] No confidential information
18-
- [ ] No duplicated content
19-
- [ ] No lint check errors related to your changes (`make prep` or `flutter analyze lib`)
20-
- [ ] Pre-exisiting lint errors noted: [HERE]
21-
- [ ] Tested on at least one device
22-
- [ ] Android Phone
23-
- [ ] Android Emulator
24-
- [ ] Chrome on Android
25-
- [ ] Chrome
26+
- [ ] Screenshots included in linked issue #
27+
- [ ] Changes adhere to the [style and coding guidelines](https://survivor.togaware.com/gnulinux/flutter-style.html)
28+
- [ ] I have performed a self-review of my code
29+
- [ ] I have commented my code, particularly in hard-to-understand areas
30+
- [ ] I have made corresponding changes to the documentation
31+
- [ ] Any dependent changes have been merged and published in downstream modules
32+
- [ ] The update contains no confidential information
33+
- [ ] The update has no duplicated content
34+
- [ ] No lint check errors are related to these changes (`make prep` or `flutter analyze lib`)
35+
- [ ] Integration test `dart test` output or screenshot included in issue #
36+
- [ ] I tested the PR on these devices:
37+
- [ ] Android
2638
- [ ] iOS
2739
- [ ] Linux
2840
- [ ] MacOS
2941
- [ ] Windows
30-
- [ ] Added 2 reviewers (or 1 for private repositories then they add another)
42+
- [ ] Web
43+
- [ ] I have identified reviewers
44+
- [ ] The PR has been approved by reviewers
3145

3246
## Finalising
3347

34-
Once PR discussion is complete and 2 reviewers have approved:
48+
Once PR discussion is complete and reviewers have approved:
3549

36-
- [ ] Merge dev into the branch
50+
- [ ] Merge dev into the this branch
3751
- [ ] Resolve any conflicts
38-
- [ ] Add one line summary into CHANGELOG.md
39-
- [ ] Bump appropriate version number in pubspec.yaml
40-
- [ ] Push to git repository and review
41-
- [ ] Merge PR into dev
52+
- [ ] Add a one line summary into the CHANGELOG.md
53+
- [ ] Push to the git repository and review
54+
- [ ] Merge the PR into dev

.github/workflows/ci.yaml

Lines changed: 40 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ on:
1313
types: [opened, reopened, synchronize]
1414

1515
env:
16-
FLUTTER_VERSION: '3.35.5'
16+
FLUTTER_VERSION: '3.35.6'
1717

1818
jobs:
1919

@@ -131,11 +131,6 @@ jobs:
131131
if: github.event.repository.private == false
132132
steps:
133133
- uses: actions/checkout@v4
134-
- uses: subosito/flutter-action@v2
135-
with:
136-
channel: 'stable'
137-
flutter-version: ${{env.FLUTTER_VERSION}}
138-
- run: flutter pub get
139134
- name: Check copyright headers
140135
run: |
141136
# Find Dart files without proper copyright headers, excluding generated files
@@ -156,3 +151,42 @@ jobs:
156151
else
157152
echo "✅ All non-generated Dart files have copyright headers"
158153
fi
154+
155+
# 20251017 gjw The usual command for running the integration tests
156+
# is `flutter test interaction_test` and each `*_test.dart` is
157+
# run. However for our testing of apps using solidui we need to
158+
# authenticate through an external browser login. The usual `flutter
159+
# test` will not properly authenticate. Instead, we should run `make
160+
# qtest.all` to run the tests. This action
161+
162+
test_enforcement:
163+
runs-on: ubuntu-latest
164+
if: github.event.repository.private == false
165+
steps:
166+
- uses: actions/checkout@v4
167+
- name: Check for batch test commands
168+
run: |
169+
# Check for disallowed "flutter test integration_test/" usage in scripts/workflows
170+
# Exclude comments and this CI check itself
171+
batch_test_found=$(grep -r "flutter test integration_test" \
172+
.github/workflows/ \
173+
support/ \
174+
scripts/ \
175+
Makefile 2>/dev/null | \
176+
grep -v "# Check for disallowed" | \
177+
grep -v "batch_test_found=" | \
178+
grep -v "echo.*flutter test integration_test/" || true)
179+
if [ -n "$batch_test_found" ]; then
180+
echo "❌ Found disallowed batch test command 'flutter test integration_test/'"
181+
echo ""
182+
echo "Found in:"
183+
echo "$batch_test_found"
184+
echo ""
185+
echo "⚠️ Batch testing fails on desktop due to Flutter framework limitations."
186+
echo "✅ Use 'make qtest' instead - it runs tests individually."
187+
echo ""
188+
echo "See docs/TESTING_GUIDE.md for details."
189+
exit 1
190+
else
191+
echo "✅ No batch test commands found - using recommended 'make qtest' approach"
192+
fi

.gitignore

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ ARCHIVE
1111
ignore
1212
pubspec.yaml.*
1313

14+
qtest_*.txt
15+
1416
installers/*.apk
1517
installers/*.exe
1618
installers/*.snap
@@ -21,6 +23,26 @@ installers/*-windows.zip
2123

2224
.Rhistory
2325

26+
# Puppeteer browser cache used in testing solidui apps
27+
28+
.local-chrome/
29+
30+
# Note: test_credentials.json and auth_tokens.json can be committed
31+
# for CI/CD as baseline/templates that are "stale" tokens that get
32+
# auto-regenerated when tests are run. These are test-only
33+
# credentials for a dev POD server, not production.
34+
#
35+
# Because the files are already in the repo we need to tell git to
36+
# skip these files from the work tree so local chenges don't get committed
37+
#
38+
# git update-index --skip-worktree integration_test/fixtures/auth_tokens.json integration_test/fixtures/complete_auth_data.json
39+
40+
# Integration test auth data (contains sensitive tokens)
41+
42+
#integration/fixtures/auth_tokens.json
43+
#integration/fixtures/complete_auth_data.json
44+
#integration/fixtures/test_credentials.json
45+
2446
########################################################################
2547
# From https://github.com/flutter/flutter/blob/master/.gitignore
2648
# Combined with the github flutter .gitignore

Makefile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#
33
# Generic Makefile
44
#
5-
# Time-stamp: <Tuesday 2025-10-07 14:14:43 +1100 Graham Williams>
5+
# Time-stamp: <Friday 2025-10-17 10:13:43 +1100 Graham Williams>
66
#
77
# Copyright (c) Graham.Williams@togaware.com
88
#
@@ -124,6 +124,9 @@ deb:
124124
(cd installers; make $@)
125125
rsync -avzh installers/$(APP)_$(VER)_amd64.deb $(REPO):$(RLOC)$(APP)_amd64.deb
126126
ssh $(REPO) chmod a+r $(RLOC)$(APP)_amd64.deb
127+
wget $(DWLD)/$(APP)_amd64.deb -O $(APP)_amd64.deb
128+
wajig install $(APP)_amd64.deb
129+
rm -f $(APP)_amd64.deb
127130
mv -f installers/$(APP)_*.deb installers/ARCHIVE/
128131

129132
dinstall:

analysis_options.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ linter:
2020
prefer_single_quotes: true
2121
require_trailing_commas: true
2222
directives_ordering: false
23+
prefer_const_constructors: true
2324

2425
# Identify directories to ignore.
2526

example/lib/constants/app.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
///
77
/// Licensed under the GNU General Public License, Version 3 (the "License").
88
///
9-
/// License: https://www.gnu.org/licenses/gpl-3.0.en.html.
9+
/// License: https://opensource.org/license/gpl-3-0.
1010
//
1111
// This program is free software: you can redistribute it and/or modify it under
1212
// the terms of the GNU General Public License as published by the Free Software
@@ -19,7 +19,7 @@
1919
// details.
2020
//
2121
// You should have received a copy of the GNU General Public License along with
22-
// this program. If not, see <https://www.gnu.org/licenses/>.
22+
// this program. If not, see <https://opensource.org/license/gpl-3-0>.
2323
///
2424
/// Authors: Graham Williams
2525

example/lib/dialogs/about.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
///
77
/// Licensed under the GNU General Public License, Version 3 (the "License").
88
///
9-
/// License: https://www.gnu.org/licenses/gpl-3.0.en.html.
9+
/// License: https://opensource.org/license/gpl-3-0.
1010
//
1111
// This program is free software: you can redistribute it and/or modify it under
1212
// the terms of the GNU General Public License as published by the Free Software
@@ -19,7 +19,7 @@
1919
// details.
2020
//
2121
// You should have received a copy of the GNU General Public License along with
22-
// this program. If not, see <https://www.gnu.org/licenses/>.
22+
// this program. If not, see <https://opensource.org/license/gpl-3-0>.
2323
///
2424
/// Authors: Kevin Wang
2525

example/lib/dialogs/alert.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
///
55
/// Licensed under the GNU General Public License, Version 3 (the "License").
66
///
7-
/// License: https://www.gnu.org/licenses/gpl-3.0.en.html.
7+
/// License: https://opensource.org/license/gpl-3-0.
88
//
99
// This program is free software: you can redistribute it and/or modify it under
1010
// the terms of the GNU General Public License as published by the Free Software
@@ -17,7 +17,7 @@
1717
// details.
1818
//
1919
// You should have received a copy of the GNU General Public License along with
20-
// this program. If not, see <https://www.gnu.org/licenses/>.
20+
// this program. If not, see <https://opensource.org/license/gpl-3-0>.
2121
///
2222
/// Authors: Dawei Chen
2323

example/lib/features/edit_keyvalue.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
///
77
/// Licensed under the GNU General Public License, Version 3 (the "License").
88
///
9-
/// License: https://www.gnu.org/licenses/gpl-3.0.en.html.
9+
/// License: https://opensource.org/license/gpl-3-0.
1010
//
1111
// This program is free software: you can redistribute it and/or modify it under
1212
// the terms of the GNU General Public License as published by the Free Software
@@ -19,7 +19,7 @@
1919
// details.
2020
//
2121
// You should have received a copy of the GNU General Public License along with
22-
// this program. If not, see <https://www.gnu.org/licenses/>.
22+
// this program. If not, see <https://opensource.org/license/gpl-3-0>.
2323
///
2424
/// Authors: Dawei Chen
2525

0 commit comments

Comments
 (0)