Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: workflow cleanup #48

Merged
merged 147 commits into from
Mar 27, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
147 commits
Select commit Hold shift + click to select a range
5ee4323
chore: setup repo rules and configurations
ABC2015 Nov 28, 2024
8b3e1ac
chore: add qa, main, beta branch names to validation workflow
ABC2015 Nov 28, 2024
4d9645b
chore: update contributor, validation, and qa workflows
ABC2015 Nov 28, 2024
307b728
chore: more updates to contributor, validation, and qa workflows
ABC2015 Nov 28, 2024
b32ebc3
chore: updates to main workflow trigger
ABC2015 Nov 28, 2024
14fc016
chore: additional to workflow configurations
ABC2015 Nov 28, 2024
f540085
chore: additional to workflow configurations
ABC2015 Nov 28, 2024
d1968b6
chore: additional to workflow configurations
ABC2015 Nov 28, 2024
205a933
chore: additional to workflow configurations
ABC2015 Nov 28, 2024
409936f
chore: additional to workflow configurations-env
ABC2015 Nov 28, 2024
b6ce20b
chore: additional to workflow configurations-env
ABC2015 Nov 28, 2024
21e59b3
chore: additional to workflow configurations-env
ABC2015 Nov 28, 2024
06f78a8
chore: additional to workflow configurations-env
ABC2015 Nov 28, 2024
67a7e96
chore: additional to workflow configurations-env
ABC2015 Nov 28, 2024
69e90d9
chore: additional to workflow configurations-env
ABC2015 Nov 28, 2024
434f839
chore: additional to workflow configurations-env
ABC2015 Nov 28, 2024
5155073
chore: additional to workflow configurations-env
ABC2015 Nov 28, 2024
27eadcd
chore: additional to workflow configurations-env
ABC2015 Nov 28, 2024
0293a9b
chore: test contributing pipeline
ABC2015 Nov 28, 2024
863f840
chore: test contributing pipeline
ABC2015 Nov 28, 2024
f215b6b
chore: test contributing pipeline
ABC2015 Nov 28, 2024
c4116f9
chore: test contributing pipeline
ABC2015 Nov 28, 2024
4958c8a
chore: test contributing pipeline
ABC2015 Nov 28, 2024
872dcef
chore: test contributing pipeline
ABC2015 Nov 28, 2024
3dd66e7
chore: test contributing pipeline
ABC2015 Nov 28, 2024
0818b68
chore: test contributing pipeline
ABC2015 Nov 28, 2024
c93a3d0
chore: test contributing pipeline
ABC2015 Nov 28, 2024
bade4cc
chore: test contributing pipeline
ABC2015 Nov 28, 2024
d3f6c59
chore: test contributing pipeline
ABC2015 Nov 28, 2024
7801f0b
chore: test contributing pipeline
ABC2015 Nov 28, 2024
d2b1d12
chore: test contributing pipeline
ABC2015 Nov 28, 2024
fec9e18
chore: test contributing pipeline
ABC2015 Nov 28, 2024
8d9f212
chore: test contributing pipeline
ABC2015 Nov 28, 2024
79364bf
chore: test contributing pipeline
ABC2015 Nov 28, 2024
47949a7
chore: test contributing pipeline
ABC2015 Nov 28, 2024
908288f
chore: test contributing pipeline
ABC2015 Nov 28, 2024
ac5090b
chore: additional to workflow configurations
ABC2015 Nov 28, 2024
c2caf7c
chore: additional to workflow configurations
ABC2015 Nov 28, 2024
4a2a6e0
chore: additional pipeline update
ABC2015 Nov 30, 2024
30e0e94
feat: add interface, evluation, and hooks
ABC2015 Nov 30, 2024
f495d83
chore: add openfeature prefix to avoid future potential naming conflicts
ABC2015 Dec 1, 2024
637c683
chore: add depedency injection for cleaner product for cleaner produc…
ABC2015 Dec 1, 2024
99ed80f
chore: update pipeline rules
ABC2015 Dec 5, 2024
f03de81
ci: add google chat notifications
beeme1mr Dec 2, 2024
ea635b9
chore: update pipeline rules
ABC2015 Dec 5, 2024
e494432
chore: update pipeline rules
ABC2015 Dec 5, 2024
d77b295
chore: update pipeline rules
ABC2015 Dec 5, 2024
bb09a7c
ci: fix pr lint workflow permission issue
beeme1mr Dec 5, 2024
78b81f6
chore: remove .dart_tool from checkin
ABC2015 Mar 19, 2025
81fc31b
chore: update pipeline rules
ABC2015 Dec 5, 2024
4ab21e9
DCO Remediation: Add missing Signed-off-by lines for previous commits
ABC2015 Dec 5, 2024
101c236
chore: update pipeline rules
ABC2015 Dec 6, 2024
f4846e1
chore: Testing the prepare-commit-msg hook
ABC2015 Dec 6, 2024
65f5c1c
chore: add helpful developer tools for commits
ABC2015 Dec 6, 2024
9ec4d18
chore: Test auto sign-off commit
ABC2015 Dec 6, 2024
3b454d6
chore: Testing auto sign-off via hook
ABC2015 Dec 6, 2024
68082be
chore: update commit hooks
ABC2015 Dec 6, 2024
e38e433
ci: update parent pipeline
ABC2015 Dec 7, 2024
e8eab4b
ci: update parent pipeline
ABC2015 Dec 7, 2024
6a18dac
ci: update parent pipeline
ABC2015 Dec 7, 2024
b2e93f0
chore: remove dart_tool from checkin
ABC2015 Mar 19, 2025
15f411c
feat(core): add hook system and evaluation context (#11)
brian-chebon Dec 10, 2024
87a0d81
ci: add minimum Dart SDK version to workflow
ABC2015 Dec 10, 2024
f13360d
feat(logging): integrate logging and client-provider domain bindings …
ubabar123 Dec 11, 2024
88696b4
chore: update workflow for SDK
ABC2015 Dec 12, 2024
e8d9297
chore: update workflow for SDK (#16)
ABC2015 Dec 12, 2024
4601beb
chore: cleanup workflow (#17)
ABC2015 Dec 12, 2024
873490a
chore: cleanup workflow
ABC2015 Dec 12, 2024
cdefa47
chore(workflow): cleanup workflow (#17)
ABC2015 Dec 12, 2024
19acdf4
chore(workflow): cleanup workflow (#17)
ABC2015 Dec 12, 2024
440b04e
chore(workflow): cleanup workflow (#17)
ABC2015 Dec 12, 2024
8c7c139
chore(workflow): cleanup workflow (#17)
ABC2015 Dec 12, 2024
a0355e0
chore(workflow): cleanup workflow (#17)
ABC2015 Dec 12, 2024
910977c
chore(workflow): cleanup workflow (#17)
ABC2015 Dec 12, 2024
d612957
chore(workflow): cleanup workflow (#17)
ABC2015 Dec 12, 2024
64cf419
chore: update pipeline workflow
ABC2015 Dec 14, 2024
ec92af3
feat(provider): implement provider extensibility features (#18)
brian-chebon Dec 13, 2024
cb5d975
feat(eventing): add support for state change reactions (#20)
ubabar123 Dec 14, 2024
4606caf
chore: update pipeline workflow
ABC2015 Dec 14, 2024
a76fac6
chore: update dart langauge version minimum
ABC2015 Dec 17, 2024
0f1bd3a
chore: stop tracking .dart_tool/package_config.json
ABC2015 Dec 17, 2024
ed1863e
test(core): implement feature provider and client test suites (#21)
brian-chebon Dec 17, 2024
5cf4b64
chore: Stop tracking .dart_tool/package_config.json
ABC2015 Dec 17, 2024
16a89f7
chore: update git-ignore
ABC2015 Dec 18, 2024
6e19847
chore: update git-attributes
ABC2015 Dec 18, 2024
1589982
chore: remove .dart_tool from tracking and add it to .gitignore
ABC2015 Dec 18, 2024
60cfaff
ci: add validate file encoding and min version update
ABC2015 Dec 18, 2024
3de9f44
ci: remove validate file encoding after testing
ABC2015 Dec 18, 2024
44fdfb0
feat(sdk): implement core features and unit tests (#24)
brian-chebon Feb 12, 2025
36a6f1d
ci: update notification to use a different GH action (#23)
beeme1mr Jan 2, 2025
4716650
ci: fixed the notificaiton webhook URL
beeme1mr Jan 2, 2025
0a9086d
chore: update github workflow and dart SDK version
ABC2015 Feb 28, 2025
090c7da
chore: dart sdk 3.7.1 update
ABC2015 Feb 28, 2025
8db7b50
chore: dart sdk 3.7.1 update
ABC2015 Feb 28, 2025
0f8aa11
chore: workflow cleanup
ABC2015 Feb 28, 2025
9366d33
feat: release v.0.0.1-pre+1 (#25)
ABC2015 Mar 14, 2025
e5ec49a
chore: update release please config (#29)
beeme1mr Mar 14, 2025
1863279
chore: update release config name
beeme1mr Mar 14, 2025
34bd703
chore: remove readme from release please config
beeme1mr Mar 14, 2025
4b55b8c
chore(main): release open_feature_dart_server_sdk 0.0.2 (#31)
openfeaturebot Mar 14, 2025
b873f8e
chore: move repo up one level
ABC2015 Mar 14, 2025
1ee2fe3
chore: love repo up one level
ABC2015 Mar 14, 2025
286e66f
chore: move code into the root directory (#32)
ABC2015 Mar 14, 2025
cd125b0
chore: update release please config (#33)
beeme1mr Mar 14, 2025
ff270b5
docs: update version in readme
beeme1mr Mar 14, 2025
6a5a4e3
chore: add readme to release please
beeme1mr Mar 14, 2025
e391500
chore: update pubspec yaml naming convention
ABC2015 Mar 14, 2025
07ddfd1
docs: update readme
beeme1mr Mar 14, 2025
19fdbf6
chore: update yaml workflow
ABC2015 Mar 14, 2025
fd08cf7
chore(main): release open_feature_dart_server_sdk 0.0.3 (#35)
openfeaturebot Mar 14, 2025
3b29424
chore: add license file
beeme1mr Mar 14, 2025
36e9412
chore: update package name
ABC2015 Mar 14, 2025
22f4bb5
chore: update pubdev package name (#38)
ABC2015 Mar 14, 2025
e91e16e
ci: wire up the release process
beeme1mr Mar 14, 2025
5c6ad48
ci: disable component in git tag
beeme1mr Mar 14, 2025
a4f33ea
chore(main): release 0.0.4 (#39)
openfeaturebot Mar 14, 2025
b902ae3
chore: update the dart publishing logic
beeme1mr Mar 14, 2025
12eb52b
chore(main): release 0.0.5 (#40)
openfeaturebot Mar 14, 2025
f985b4a
chore: move publishing step to a separate workflow (#41)
beeme1mr Mar 14, 2025
71e98e4
chore(main): release 0.0.6 (#42)
openfeaturebot Mar 14, 2025
24b91cd
chore: update validation workflow
ABC2015 Mar 16, 2025
53d1b0d
chore: fix issues in dry run (#45)
brian-chebon Mar 17, 2025
78a911e
chore: update dartsdk minimum to latest version 3.7.2 (#44)
ABC2015 Mar 17, 2025
5ca3239
chore(main): release 0.0.7 (#46)
openfeaturebot Mar 19, 2025
3cba6a7
chore: add release please branch name for Validation check
ABC2015 Mar 19, 2025
0691ae7
chore: update gitignore
ABC2015 Mar 19, 2025
4c7b535
feat: release v.0.0.1-pre+1 (#25)
ABC2015 Mar 14, 2025
077552d
chore(main): release open_feature_dart_server_sdk 0.0.2 (#31)
openfeaturebot Mar 14, 2025
ec94292
chore: move code into the root directory (#32)
ABC2015 Mar 14, 2025
3cbb130
chore: update pubspec yaml - remove pre version (#36)
ABC2015 Mar 14, 2025
527b877
chore(main): release 0.0.5 (#40)
openfeaturebot Mar 14, 2025
feddbb7
chore(main): release 0.0.6 (#42)
openfeaturebot Mar 14, 2025
1a19215
ci: add google chat notifications (#7)
beeme1mr Dec 2, 2024
3865172
ci: update notification to use a different GH action (#23)
beeme1mr Jan 2, 2025
d7863b0
ci: fixed the notificaiton webhook URL
beeme1mr Jan 2, 2025
365c890
feat: release v.0.0.1-pre+1 (#25)
ABC2015 Mar 14, 2025
220e7aa
chore(main): release open_feature_dart_server_sdk 0.0.2 (#31)
openfeaturebot Mar 14, 2025
27ccdb2
chore: move code into the root directory (#32)
ABC2015 Mar 14, 2025
0000904
chore: update pubspec yaml - remove pre version (#36)
ABC2015 Mar 14, 2025
4af9a7a
ci: wire up the release process
beeme1mr Mar 14, 2025
96cd34c
chore: update the dart publishing logic
beeme1mr Mar 14, 2025
1af4adf
chore: move publishing step to a separate workflow (#41)
beeme1mr Mar 14, 2025
b17f32e
chore: update dartsdk minimum to latest version 3.7.2 (#44)
ABC2015 Mar 17, 2025
5f28fb4
chore: resolve conflicts
ABC2015 Mar 27, 2025
eeb5bf3
chore: resolve conflicts and formatting
ABC2015 Mar 27, 2025
79c2219
chore: resolve conflicts and formatting
ABC2015 Mar 27, 2025
2a5c616
chore: remove old release version
ABC2015 Mar 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions .github/workflows/contributor-workflow.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
# This workflow analyzes the Dart Server SDK and a Go-feature-integration example project
# to identify issues and commits for resolution.
# This workflow analyzes the Dart Server SDK and an example project

name: Contributor Workflow

Expand Down
8 changes: 7 additions & 1 deletion .github/workflows/parent-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,13 @@ jobs:
# with:
# branch_name: ${{ needs.determine-workflow.outputs.branch_name }}
# event_name: ${{ needs.determine-workflow.outputs.event_name }}

# trigger-development-workflow:
# name: Trigger Development Workflow
# needs: trigger-validation
# if: |
# github.event_name == 'pull_request' &&
# github.base_ref == 'development'
# uses: ./.github/workflows/development-workflow.yml
# trigger-beta-workflow:
# name: Trigger Beta Workflow
# needs: trigger-validation
Expand Down
17 changes: 17 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,21 @@ jobs:
release_tag_name: ${{ steps.release.outputs.tag_name }}
upload_url: ${{ steps.release.outputs.upload_url }}

# Publishing is handled in publish.yaml
dart-release:
needs: release-please
if: ${{ fromJSON(needs.release-please.outputs.release_created || false) }}
runs-on: ubuntu-latest
permissions:
contents: write
id-token: write # Required for authentication using OIDC
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: dart-lang/setup-dart@v1
- name: Install dependencies
run: dart pub get
- name: Publish
run: dart pub publish --force

# Publishing is handled in publish.yaml
6 changes: 3 additions & 3 deletions .github/workflows/validation-workflow.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# This workflow valides that branch and commit names are standardized for better workflow.
# This workflow valides that branch and commit names are standardized.

name: Validation Workflow

Expand All @@ -24,13 +24,13 @@ jobs:
BRANCH_NAME="${{ inputs.branch_name }}"
echo "Branch name: $BRANCH_NAME"

if [[ "$BRANCH_NAME" =~ ^(qa|development|main)$ ]]; then
if [[ "$BRANCH_NAME" =~ ^(qa|development|main|release-please--branches--main--components--openfeature_dart_server_sdk)$ ]]; then
echo "✅ Branch name '$BRANCH_NAME' is valid for protected branches (qa, development, main)."
elif [[ "$BRANCH_NAME" =~ ^(feat|fix|hotfix|chore|test|refactor|release)/[a-z0-9_-]+$ ]]; then
echo "✅ Branch name '$BRANCH_NAME' follows the naming convention."
else
echo "❌ Branch name '$BRANCH_NAME' does not follow the naming convention: <type>/<branch-name>"
echo "Valid types: feat, fix, hotfix, chore, test, refactor, release, development, qa, main"
echo "Valid types: feat, fix, hotfix, chore, test, refactor, release, qa, main, development"
exit 1
fi

Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
.dart_tool/
.dart_tool/
pubspec.lock
12 changes: 6 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,11 @@

Thank you for contributing to this project. We value your input, and any issues or pull requests adhering to these guidelines are welcome.



## **Code of Conduct**

Please read and follow our [Code of Conduct](https://github.com/open-feature/.github/blob/main/CODE_OF_CONDUCT.md).
**TL;DR**: Be respectful and professional.


## **Vendor Specific Details**

Vendor specific details are intentionally not included in this module in order to be lightweight and agnostic.
Expand Down Expand Up @@ -168,7 +165,9 @@ We follow [Conventional Commits](https://www.conventionalcommits.org) to ensure
To maintain consistency and ensure stability, we enforce the following **branch protection rules**:

#### **Protected Branches**
- **Branches**: `main`, `qa`, `beta`

- **Branches**: `main`, `qa`, `development`

- **Rules**:
- Direct **pushes** are not allowed.
- Changes must go through a **pull request** and pass all required checks before merging.
Expand All @@ -185,7 +184,7 @@ To maintain consistency and ensure stability, we enforce the following **branch
#### **Branch Lifecycle**
- **Feature, Fix, Hotfix, Test Branches**:
- Created by developers for specific tasks.
- Merged into `main`, `qa`, or `beta` branches through pull requests.
- Merged into `main`, `qa`, or `development` branches through pull requests.
- Deleted after merging.

---
Expand All @@ -197,7 +196,8 @@ To maintain consistency and ensure stability, we enforce the following **branch
- Pushes to these branches are allowed without restrictions.

2. **Pull Requests into Protected Branches**:
- Protected branches (`main`, `qa`, `beta`) require pull requests.

- Protected branches (`main`, `qa`, `development`) require pull requests.
- Pull requests trigger workflows for testing and validation.

3. **Validation on Push and Pull Requests**:
Expand Down
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
<!-- x-release-please-start-version -->
<a href="https://github.com/open-feature/dart-server-sdk/releases/tag/v0.0.7">
<img alt="Release" src="https://img.shields.io/static/v1?label=release&message=v0.0.7&color=blue&style=for-the-badge" />

</a>
<a href="https://dart.dev/">
<img alt="Built with Dart" src="https://img.shields.io/badge/Built%20with-Dart-blue.svg?style=for-the-badge" />
Expand Down Expand Up @@ -87,8 +88,6 @@ If the provider you're looking for hasn't been created yet, see the [develop a p

Once you've added a provider as a dependency, it can be registered with OpenFeature like this:



### Targeting

Sometimes, the value of a flag must consider some dynamic criteria about the application or user, such as the user's location, IP, email address, or the server's location.
Expand Down
8 changes: 2 additions & 6 deletions lib/feature_provider.dart
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ enum ProviderState {
DEGRADED,
RECONNECTING,
PLUGIN_ERROR,
MAINTENANCE
MAINTENANCE,
}

/// Provider configuration
Expand Down Expand Up @@ -118,7 +118,7 @@ class InMemoryProvider implements FeatureProvider {
final ProviderConfig _config;

InMemoryProvider(this._flags, [ProviderConfig? config])
: _config = config ?? const ProviderConfig();
: _config = config ?? const ProviderConfig();

@override
String get name => 'InMemoryProvider';
Expand Down Expand Up @@ -257,8 +257,4 @@ abstract class CommercialProvider implements FeatureProvider {
ProviderState get state => _state;

// HTTP request implementation template
Future<dynamic> _makeRequest(String path,
{Map<String, dynamic>? params}) async {
throw UnimplementedError('_makeRequest must be implemented by child class');
}
}
5 changes: 2 additions & 3 deletions lib/transaction_context.dart
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,12 @@ class TransactionContext {
/// Transaction context manager
class TransactionContextManager {
static final TransactionContextManager _instance =
TransactionContextManager._internal();
TransactionContextManager._internal(Duration(minutes: 5));
final _contexts = <String, TransactionContext>{};
final _contextStack = <String>[];
final Duration _defaultTimeout;

TransactionContextManager._internal(
[this._defaultTimeout = const Duration(minutes: 30)]);
TransactionContextManager._internal(this._defaultTimeout);

factory TransactionContextManager() => _instance;

Expand Down
4 changes: 2 additions & 2 deletions local_dev_tools/validate_branch.dart
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ void main(List<String> args) {

print('Branch name: $branchName');

final validBranches = RegExp(r'^(qa|beta|main)$');
final validBranches = RegExp(r'^(qa|development|main)$');
final validFeatureBranch = RegExp(
r'^(feat|fix|hotfix|chore|test|refactor|release)/[a-z0-9_-]+$',
);
Expand All @@ -27,7 +27,7 @@ void main(List<String> args) {
'❌ Branch name does not follow the required convention: <type>/<branch-name>',
);
print(
'Valid types: feat, fix, hotfix, chore, test, refactor, release, development, qa, main',
'Valid types: feat, fix, hotfix, chore, test, refactor, release, qa, development, main',
);
exit(1);
}
Expand Down
Loading