Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
584 commits
Select commit Hold shift + click to select a range
3c97b27
chore(cli): Make request context vendor-netural (#543)
dnys1 Mar 10, 2024
6ff37ab
chore: Validate email (#547)
dnys1 Mar 10, 2024
64beec5
chore(version): 0.3.2 (#550)
dnys1 Mar 10, 2024
a4c24ef
fix(cli): More robust pub get (#555)
dnys1 Mar 11, 2024
133aba9
chore(version): 0.3.3 (#556)
dnys1 Mar 11, 2024
9f09513
chore(cli): Unhide `deploy` command (#557)
dnys1 Mar 11, 2024
242c16f
chore: Update celest submodule (#558)
dnys1 Mar 11, 2024
e3c3014
chore(cli): Migrate on deploy (#561)
dnys1 Mar 11, 2024
7fbd4d4
chore(cli): No need to sign out on unauthenticated (#562)
dnys1 Mar 11, 2024
b91f714
fix(cli): Only run `pub get` on create (#563)
dnys1 Mar 11, 2024
56e3fca
chore(version): 0.3.4 (#564)
dnys1 Mar 11, 2024
9335529
chore(repo): Update submodules (#573)
dnys1 Mar 28, 2024
dd8dd4a
fix(cli): Support toJson methods defined in mixins (#574)
dnys1 Mar 28, 2024
bc6f16a
fix(cli): Support part files (#575)
dnys1 Mar 28, 2024
70f154c
refactor(cli): Move pub-related files to proper dir (#576)
dnys1 Mar 28, 2024
2233b49
fix(cli): Crash when `pub get` exits abnormally (#577)
dnys1 Mar 28, 2024
cf60903
chore(repo): Check in pubspecs for apps (#579)
dnys1 Mar 29, 2024
8f6513e
feat: Initial Stripe support (#580)
dnys1 Mar 29, 2024
6c75655
feat: Project creation (#588)
dnys1 Mar 30, 2024
57adfeb
chore(version): 0.3.5 (#589)
dnys1 Mar 30, 2024
5957fe0
fix(cli): Reload LocalApiRunner with same port as before (#591)
dnys1 Mar 30, 2024
54c19b3
chore(cli): Bump to `0.4.0-dev.1` (#599)
dnys1 Apr 1, 2024
361ef18
chore(version): Go back to 0.3.7 (#601)
dnys1 Apr 1, 2024
430d669
fix(cli): Windows native assets (#606)
dnys1 Apr 1, 2024
3be09e0
fix(cli): Botched windows fix
dnys1 Apr 1, 2024
83fdb68
test(windows): Fix cedar loader
dnys1 Apr 1, 2024
73a1599
test(window): Try fix cli log order
dnys1 Apr 1, 2024
96abcbf
chore: Bump celest submodule (#609)
dnys1 Apr 5, 2024
5ac159d
fix(cli): Always use Flutter SDK (#610)
dnys1 Apr 5, 2024
96ff874
chore(version): 0.3.10 (#612)
dnys1 Apr 5, 2024
78c2e51
chore(cli): Wait for package config (#613)
dnys1 Apr 5, 2024
1db8966
chore(cli): Fix wait logic
dnys1 Apr 5, 2024
c02af58
test(cli): Add package_config presence test (#615)
dnys1 Apr 5, 2024
7a2f830
chore: Migrate to native storage (#611)
dnys1 Apr 10, 2024
515d570
chore(version): 0.4.0-dev.2 (#620)
dnys1 Apr 10, 2024
a260363
ci: Use correct SHA in build (#623)
dnys1 Apr 11, 2024
c214f36
feat: Initial OpenAPI generation (#626)
dnys1 Apr 13, 2024
0611440
chore: Rename `celest_proto` to `api_celest` to follow conventions (#…
dnys1 Apr 13, 2024
35095c7
refactor(cli): Clean up project init/migrate (#630)
dnys1 Apr 14, 2024
384456f
chore(repo): Update submodules (#631)
dnys1 Apr 14, 2024
e13f45e
chore(cli): Migrate config to local storage (#632)
dnys1 Apr 14, 2024
63b9424
chore(hub): Update `sdk_updater` to keep Flutter SDKs up-to-date (#634)
dnys1 Apr 15, 2024
88fdf39
infra: Add nonprod backend (#637)
dnys1 Apr 20, 2024
d109587
fix(cli): Project ID management (#640)
dnys1 Apr 20, 2024
9e7de25
chore(cli): Add `pubspec.lock` to `.gitignore` (#641)
dnys1 Apr 21, 2024
6a9b911
chore(version): 0.4.0-dev.3 (#643)
dnys1 Apr 21, 2024
6458267
chore(cli): Update deps (#644)
dnys1 Apr 21, 2024
95b816e
chore(cli): Improve `LocalApiRunner` robustness (#645)
dnys1 Apr 21, 2024
fd5dd7d
chore(cli): Clear installer progress on completion. (#646)
dnys1 Apr 21, 2024
246b045
chore(cli): Allow release script to override version (#647)
dnys1 Apr 21, 2024
93d9319
fix(cli): Revert pubspec name changes (#648)
dnys1 Apr 22, 2024
8cc400e
feat(cli): Add JSON output mode (#649)
dnys1 Apr 22, 2024
ae9bb37
test(cli): Use JSON output (#650)
dnys1 Apr 22, 2024
67e01d2
test(cli): Enable more E2E tests (#651)
dnys1 Apr 22, 2024
9d22b1a
chore(cli): Clean up resident compiler (#653)
dnys1 Apr 22, 2024
203a5be
test(cli): Speed up e2e tests (#655)
dnys1 Apr 22, 2024
2b424aa
chore(deps): Update `celest` submodule (#663)
github-actions[bot] Apr 24, 2024
88f8545
test(cli): Add OpenAPI tests (#666)
dnys1 May 5, 2024
eea7af9
chore(cli): Get Stripe API working (#667)
dnys1 May 5, 2024
37653f0
chore(openapi): Tidy up (#668)
dnys1 May 5, 2024
8705c5a
refactor(openapi): Separate out Stripe stuff (#669)
dnys1 May 5, 2024
c90d57b
feat(api_stripe): Create Stripe API package (#670)
dnys1 May 5, 2024
d477be3
chore(openapi): More Stripe tests (#672)
dnys1 May 5, 2024
df83be4
chore(stripe): Polish up names and types (#674)
dnys1 May 8, 2024
0115112
refactor(cli): Introduce project resolution abstraction (#675)
dnys1 May 8, 2024
8f224c0
chore(repo): Bump Dart to 3.3.4 (#676)
dnys1 May 8, 2024
53c20b3
test(cli): Move old fixtures to `legacy` folder (#679)
dnys1 May 8, 2024
756a10b
chore(cli): Start OpenAPI loader (#681)
dnys1 May 8, 2024
8ea73aa
chore(stripe): Migrate to codable (#683)
dnys1 May 8, 2024
04d580e
chore(codable): Add `Typeref`s for tracking types (#684)
dnys1 May 8, 2024
a840180
chore(stripe): Update naming (#685)
dnys1 May 8, 2024
6088aae
chore(repo): Remove codable package (#689)
dnys1 May 8, 2024
5043011
test(cli): Fix openapi skips (#691)
dnys1 May 8, 2024
72c9ef3
chore(cli): Update dependencies (#701)
dnys1 May 13, 2024
1cd93eb
chore(cli): Remove OpenAPI generator (temp) (#702)
dnys1 May 14, 2024
ff09487
chore(repo): Bump Dart to 3.4 (#703)
dnys1 May 14, 2024
cc97eb2
chore(cli): Clean up and add benchmarks (#705)
dnys1 May 15, 2024
9c918f4
chore: Bump `celest` submodule (#710)
dnys1 May 15, 2024
1d6950c
chore(deps): Update `cedar` submodule (#713)
github-actions[bot] May 15, 2024
5712fb7
chore(deps): Update `celest` submodule (#719)
github-actions[bot] May 21, 2024
d627e4e
feat(cli): HTTP customization (#721)
dnys1 May 23, 2024
e52d81e
feat(cli): HTTP customization entrypoint (#723)
dnys1 May 23, 2024
d9ea1cd
perf(cli): Minor improvements (#724)
dnys1 May 23, 2024
cbdc5a2
fix(cli): Missed VM service announcements (#725)
dnys1 May 23, 2024
38b003f
fix(cli): VM service stablization (#727)
dnys1 May 24, 2024
72ebf25
test(cli): Fix e2e tests (#728)
dnys1 May 24, 2024
c574393
feat(cli): Allow project creation from any directory (#729)
dnys1 May 24, 2024
81dd25f
chore(repo): Bump Dart SDK to `3.4.1` (#730)
dnys1 May 27, 2024
3674556
feat(cli): Support `dart:ui` in APIs (#731)
dnys1 May 27, 2024
242c38c
feat(cli): Server-side Flutter (#732)
dnys1 May 27, 2024
11f2f08
fix(cli): Dart/Flutter distinctions (#735)
dnys1 May 27, 2024
e070128
fix(cli): Remove custom type cache (#736)
dnys1 May 27, 2024
66cf016
feat(cli): Run multi-threaded by default (#737)
dnys1 May 27, 2024
94aa1ef
fix(cli): Pub cache fixes (#738)
dnys1 May 27, 2024
0fd5774
feat(hub): Build + use Flutter engine (#740)
dnys1 May 27, 2024
cf68f3d
fix: Minor fixes to CLI/hub (#742)
dnys1 May 27, 2024
fe7ef20
chore(repo): Remove jni vendoring (#743)
dnys1 May 27, 2024
b271e62
fix(cli): Hot reload (#744)
dnys1 May 27, 2024
01b7e37
fix(cli): Local API runner flags (#745)
dnys1 May 27, 2024
60cef38
chore(cli): Clean up (#748)
dnys1 May 27, 2024
e57c638
chore(version): `0.4.0-dev.4` (#749)
dnys1 May 27, 2024
e5e5f15
fix(cli): Release issues
dnys1 May 27, 2024
515fe67
fix(cli): Release issues
dnys1 May 27, 2024
eb84ad9
fix(cli): Release issues
dnys1 May 28, 2024
83941eb
ci: Fix release issues (#750)
dnys1 May 28, 2024
839ccd5
fix(cli): Don't look for GCP project when embedding (#751)
dnys1 May 28, 2024
be30aa9
test(cli): Fix installed E2E on Windows (#752)
dnys1 May 28, 2024
f97b59a
fix(cli): Check for webcrypto being loaded (#753)
dnys1 May 28, 2024
9be7337
fix(cli): Release issues
dnys1 May 28, 2024
869fc8b
fix(cli): Release issues
dnys1 May 28, 2024
d0030bb
fix(cli): Release issues
dnys1 May 28, 2024
3dff08f
fix(cli): Release issues
dnys1 May 28, 2024
ab7ea35
fix(cli): Release issues
dnys1 May 28, 2024
62861f1
fix(cli): Release issues
dnys1 May 28, 2024
dd7cc16
fix(cli): Release issues
dnys1 May 28, 2024
b091f4d
fix(cli): Release issues
dnys1 May 28, 2024
5a6d2b3
fix(cli): Release issues
dnys1 May 28, 2024
b10e0e4
fix(cli): Release issues
dnys1 May 28, 2024
ac59266
fix(cli): Release issues
dnys1 May 28, 2024
8794828
fix(cli): Release issues
dnys1 May 28, 2024
1ee2b12
fix(cli): Release issues
dnys1 May 28, 2024
895121c
fix(cli): Release issues
dnys1 May 28, 2024
9fa8031
fix(cli): Release issues
dnys1 May 28, 2024
e9932e8
fix(cli): Release issues
dnys1 May 28, 2024
98e6dfc
chore(version): 0.4.0 (#754)
dnys1 May 28, 2024
70b7c05
chore(cli): Prepare for Flutter env (#756)
dnys1 May 29, 2024
7d5e104
chore(version): 0.4.1 (#760)
dnys1 May 29, 2024
2d70d97
chore(cli): Don't create env file it it doesn't exist (#766)
dnys1 May 31, 2024
3ee334a
fix(cli): Add celest to parent project pubspec (#767)
dnys1 May 31, 2024
bf1336b
chore(version): 0.4.2
dnys1 May 31, 2024
b39b5c1
fix(cli): Create dependencies section when not existing (#769)
dnys1 May 31, 2024
5e1bb96
chore: Update dependencies (#770)
dnys1 May 31, 2024
92ea856
chore(cli): More helpful errors on upgrade (#768)
dnys1 Jun 1, 2024
c7171c2
fix(cli): Pubspec updating (#771)
dnys1 Jun 1, 2024
d05dbcc
chore(version): 0.4.3 (#772)
dnys1 Jun 1, 2024
efa51f2
chore(cli): Initial OpenAPI generation (#773)
dnys1 Jun 2, 2024
bb5604e
chore(user_hub): Add WS proxying (#776)
dnys1 Jun 6, 2024
1c8c972
feat(analyzer): Event streaming (#777)
dnys1 Jun 6, 2024
ca7baa3
refactor(cli): Serialization classes (#778)
dnys1 Jun 6, 2024
348a95f
refactor: Move `PortFinder` to cli_common (#781)
dnys1 Jun 6, 2024
2cc8480
test: Add user hub tests (#782)
dnys1 Jun 6, 2024
aa01432
chore(cli): Bump project dependencies (#783)
dnys1 Jun 6, 2024
e8bcb1b
chore: SSE refinements (#785)
dnys1 Jun 7, 2024
abb3288
fix(cli): HTTP parameter mapping (#787)
dnys1 Jun 7, 2024
4081c5f
chore(version): 0.4.4 (#789)
dnys1 Jun 7, 2024
616c657
fix: Allow `null` for `@httpQuery` and `@httpHeader` parameters (#791)
dnys1 Jun 7, 2024
6a38ac7
test: More streaming tests (#792)
dnys1 Jun 7, 2024
a2a1065
chore: Start OpenAPI doc rendering (#794)
dnys1 Jun 8, 2024
1817f68
fix(cli): Use URIs where needed on Windows (#798)
dnys1 Jun 13, 2024
64de839
fix(hub): Initialize secure storage (#799)
dnys1 Jun 13, 2024
f3844e8
chore(version): 0.4.5 (#800)
dnys1 Jun 13, 2024
cee659a
fix(cli): Pub cache w/ Flutter (#801)
dnys1 Jun 14, 2024
aa2f486
feat: Initial analysis server plugin (#802)
dnys1 Jun 14, 2024
292931e
chore(version): 0.4.6 (#807)
dnys1 Jun 16, 2024
bd38c1d
fix(cli): macOS uninstall (#810)
dnys1 Jun 17, 2024
440d26f
fix(cli): Feature-dependent codegen (#814)
dnys1 Jun 19, 2024
5d4c674
chore(version): 0.4.7 (#815)
dnys1 Jun 19, 2024
4bc7a9b
fix: Async reads/writes for posthog IDs (#840)
dnys1 Jul 1, 2024
f88676c
feat(cli): Add auth commands (#847)
dnys1 Jul 12, 2024
2bb1b55
chore(repo): Update Dart dependencies, regen Drift code (#868)
dnys1 Jul 16, 2024
8450d38
chore(repo): Bump Dart to 3.4.3 (#869)
dnys1 Jul 16, 2024
e79185d
chore(repo): Update dependencies (#901)
dnys1 Jul 26, 2024
9dc9a3a
chore(version): 0.4.8 (#916)
dnys1 Aug 3, 2024
845622f
fix(ci): Failing tests (#930)
dnys1 Aug 22, 2024
c0b04b8
feat(hub): Integrate Celest Cloud API (#942)
dnys1 Aug 27, 2024
91d5f24
fix(cli): Various fixes (#943)
dnys1 Aug 27, 2024
bb0c7ab
chore: Bump corks dependency (#949)
dnys1 Sep 1, 2024
ef05d45
chore: Bump celest version (#952)
dnys1 Sep 1, 2024
214fdec
chore: Start project deployments (#953)
dnys1 Sep 1, 2024
fd9e217
chore(celest_ast): Migrate to latest Cedar types (#965)
dnys1 Sep 11, 2024
b17e87b
chore(repo): Remove Cedar FFI code (#966)
dnys1 Sep 11, 2024
1ebf046
chore(repo): Remove SQLite3 FFI dependency (#968)
dnys1 Sep 11, 2024
97a1298
chore(repo): Remove webcrypto (#969)
dnys1 Sep 11, 2024
b0504de
chore(repo): Remove all native asset code (#970)
dnys1 Sep 11, 2024
40b81f8
chore(ast): Move AST protobufs to celest_ast package (#971)
dnys1 Sep 12, 2024
3edbd96
chore(repo): Clean up (#972)
dnys1 Sep 12, 2024
18b67c0
chore(repo): Bump googleapis dependency (#973)
dnys1 Sep 12, 2024
deb83ee
chore(cli): Load SQLite3 from build artifacts (#975)
dnys1 Sep 12, 2024
ca344e9
chore(cloud-hub): Continue deployment implementation (#990)
dnys1 Sep 27, 2024
bd50804
refactor(cli): Add `init` command (#991)
dnys1 Sep 27, 2024
3ad5e6f
chore(cli): V1 overhaul (#994)
dnys1 Sep 27, 2024
0f9e223
chore(cli): Add `--dev` flag to upgrade command (#995)
dnys1 Sep 27, 2024
13214b5
chore(repo): Bump Dart SDK (#996)
dnys1 Sep 27, 2024
3edfa07
feat: Initial deployment integration (#997)
dnys1 Sep 27, 2024
da671a9
feat(cloud): Configure multi-cluster deployments (#998)
dnys1 Sep 27, 2024
e9f618e
chore(cli): Remove unneeded dependencies (#999)
dnys1 Sep 29, 2024
58bb9a7
feat(cli): Add subscription commands (#1000)
dnys1 Sep 29, 2024
10087c2
fix(cli): Client generation (#1001)
dnys1 Sep 29, 2024
195f20a
feat(cli): Add inputs for `displayName` and `region` (#1002)
dnys1 Sep 29, 2024
9d8aaeb
chore(cli): Update goldens (#1004)
dnys1 Sep 29, 2024
be53313
chore(cli): Minor fixes for `init`/`start` and cache invalidation (#1…
dnys1 Sep 29, 2024
c948e24
feat(cli): Add analyzer plugins (#1006)
dnys1 Sep 29, 2024
77096ed
chore(cli): Stage changes in git during V1 migration (#1007)
dnys1 Sep 30, 2024
6448004
chore(sdk): Reduce library namespace sizes (#1008)
dnys1 Sep 30, 2024
47b098f
ci: Fix release script (#1010)
dnys1 Sep 30, 2024
d15cea6
feat(cli): Initial OpenAPI spec generation (#1012)
dnys1 Oct 1, 2024
e2927c3
chore(cloud): Replace Terraform with Pulumi (#1015)
dnys1 Oct 3, 2024
ddcffca
fix(cli): Overlapping progress indicators (#1020)
dnys1 Oct 3, 2024
6036690
chore(version): 0.5.0-dev.1 (#1021)
dnys1 Oct 3, 2024
db93fd2
feat(cli): Add support for SMS auth (#1025)
dnys1 Oct 5, 2024
58b9fb7
chore(cli): More V1 changes (#1026)
dnys1 Oct 6, 2024
0592fa3
feat(cli): Add support for Firebase as an external IDP (#1027)
dnys1 Oct 6, 2024
b30bdcb
feat(cli): Add client generation for external IDPs (2/x) (#1028)
dnys1 Oct 6, 2024
9ea476c
feat(cli): Add Supabase IDP support (#1029)
dnys1 Oct 7, 2024
7a7101f
chore(cli): Exception type clean up (#1030)
dnys1 Oct 9, 2024
d4c5d4f
chore(v1): Move `project.dart` to `lib/src` and symlink it (#1031)
dnys1 Oct 9, 2024
a68139c
chore(cli): Improve Flutter support (#1033)
dnys1 Oct 9, 2024
5f43e48
chore(version): 0.5.0-dev.3 (#1034)
dnys1 Oct 9, 2024
7c4d10e
feat(v1): Add `celest` global in the backend (#1038)
dnys1 Oct 9, 2024
e06bc4f
feat(cli): Add `celest build` command (#1039)
dnys1 Oct 9, 2024
d59237d
chore(version): 1.0.0-dev.0 (#1040)
dnys1 Oct 9, 2024
65c8d31
chore(v1): More polish (#1042)
dnys1 Oct 10, 2024
65f90a2
chore(v1): Prepare `celest_ast` for public release (#1043)
dnys1 Oct 10, 2024
e1c89f9
chore(repo): Move `celest_ast` to `celest` repo (#1044)
dnys1 Oct 10, 2024
4086d2b
chore(cli): Load project config from environment (#1045)
dnys1 Oct 10, 2024
ae2eb94
fix(cli): Pubspec generation (#1046)
dnys1 Oct 10, 2024
2f22cd0
fix(cli): Minor fixes (#1047)
dnys1 Oct 10, 2024
c96713e
feat(cli): Celest Data (#1048)
dnys1 Oct 12, 2024
67f3f0e
chore(cli): Add global `context` variable (#1049)
dnys1 Oct 12, 2024
f2d3d0c
chore(cli): Minor fixes (#1050)
dnys1 Oct 12, 2024
79c35d9
fix(cloud): Revamp subscription management (#1051)
dnys1 Oct 12, 2024
a16e5b3
chore(cli): QoL improvements (#1052)
dnys1 Oct 12, 2024
3736a90
chore(V1): Launch readiness (#1053)
dnys1 Oct 14, 2024
91eee14
fix(cli): Various Windows issues (#1054)
dnys1 Oct 15, 2024
828e386
chore(cli): Onboarding improvements (#1055)
dnys1 Oct 15, 2024
f9b6282
fix(cli): Fix reload message when project has errors (#1056)
dnys1 Oct 15, 2024
0bc1d37
fix(cli): Dockerfile generation (#1057)
dnys1 Oct 16, 2024
55cd5f0
chore(cloud): Backend changes for V1 (#1058)
dnys1 Oct 17, 2024
825e97d
chore: Add sqlite to distroless containers (#1059)
dnys1 Oct 17, 2024
d68c9a2
feat(v1): LAUNCH CLOUD (#1060)
dnys1 Oct 17, 2024
dddeaa0
chore(repo): Clean up (#1061)
dnys1 Oct 17, 2024
e7c783c
fix(cli): sqlite3 loading (#1063)
dnys1 Oct 18, 2024
5e8c19a
fix(cli): linux uninstall and upgrade commands (#1064)
dnys1 Oct 18, 2024
0d74756
chore(cli): Fix release script on windows (#1065)
dnys1 Oct 21, 2024
7e57e8e
chore(cli): Update dependencies (#1066)
dnys1 Mar 1, 2025
eab209d
chore: Move fixtures out of test/ dir (#1068)
dnys1 Mar 1, 2025
de695b2
chore(cli): Update goldens (#1069)
dnys1 Mar 1, 2025
811ff85
test(cli): Fix tests (#1070)
dnys1 Mar 1, 2025
b2cd109
chore(cli): Update analyzer to `^6.11.0` (#1074)
dnys1 Mar 3, 2025
3d5ac47
chore(cli): Update analyzer to v7 (#1075)
dnys1 Mar 3, 2025
7892f3b
chore: Update `cedar` ref (#1076)
dnys1 Mar 3, 2025
9fc136e
chore(cli): Remove OpenAPI code (#1077)
dnys1 Mar 3, 2025
55f6a44
chore(cli): Remove cloud-related code (#1078)
dnys1 Mar 3, 2025
7e9ccbd
chore(cli): Remove `celest_cli_common` package (#1080)
dnys1 Mar 3, 2025
a50a123
chore(cli): Remove vendored pub lock files (#1081)
dnys1 Mar 9, 2025
9c1ba44
chore(cli): Clean up (#1082)
dnys1 Mar 9, 2025
532b0da
test(cli): Update goldens and re-enable fixtures (#1083)
dnys1 Mar 9, 2025
32a398a
feat: Open source the CLI
dnys1 Mar 9, 2025
e3da0c3
chore(cli): Update dependency paths
dnys1 Mar 9, 2025
33ce9ca
ci: Add Celest CLI workflow
dnys1 Mar 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
60 changes: 60 additions & 0 deletions .github/workflows/celest_cli.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: celest_cli
on:
pull_request:
paths:
- ".github/workflows/apps_cli.yaml"
- "apps/cli/**"
- "packages/**"
- "services/**"

# Prevent duplicate runs due to Graphite
# https://graphite.dev/docs/troubleshooting#why-are-my-actions-running-twice
concurrency:
group: ${{ github.repository }}-${{ github.workflow }}-${{ github.ref }}-${{ github.ref == 'refs/heads/main' && github.sha || ''}}
cancel-in-progress: true

env:
CELEST_LOCAL_PATH: ${{ github.workspace }}

jobs:
test:
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-14
# TODO: Need to fix tests on Windows
# - windows-latest
runs-on: ${{ matrix.os }}
timeout-minutes: 15
steps:
- name: Git Checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # 4.1.7
with:
submodules: recursive
# Needed for flutter-version-file: https://github.com/subosito/flutter-action?tab=readme-ov-file#use-version-from-pubspecyaml
- name: Install yq
if: runner.os == 'Windows'
shell: bash
run: |
curl -sL "https://github.com/mikefarah/yq/releases/download/v4.43.1/yq_windows_amd64.exe" -o yq.exe
echo "$PWD" >> "$GITHUB_PATH"
- name: Setup Flutter
uses: subosito/flutter-action@44ac965b96f18d999802d4b807e3256d5a3f9fa1 # 2.16.0
with:
cache: true
# Locks version to repo constraint (for golden test alignment)
flutter-version-file: pubspec.yaml
- name: Setup Libsecret
if: runner.os == 'Linux'
run: tool/setup-ci.sh
- name: Get Packages
working-directory: apps/cli
run: dart pub upgrade
- name: Test
working-directory: apps/cli
run: dart test -x e2e --fail-fast -j 1
# - name: Test (Fixtures)
# working-directory: apps/cli
# run: dart test fixtures/legacy/fixtures_test.dart --fail-fast -j 1
11 changes: 11 additions & 0 deletions apps/cli/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# https://dart.dev/guides/libraries/private-files
# Created by `dart pub`
.dart_tool/

# Build dir
build/

tool/debug
**/*.dill
**/*.pkg
vm_service_info.json
23 changes: 23 additions & 0 deletions apps/cli/.vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "CLI / E2E (--update-goldens)",
"request": "launch",
"type": "dart",
"program": "fixtures/legacy/fixtures_test.dart",
"env": {
"UPDATE_GOLDENS": "true",
"INCLUDE_TESTS": "flutter"
},
"args": ["--timeout=none"]
},
{
"name": "CLI (test/analyzer)",
"request": "launch",
"type": "dart",
"program": "test/analyzer/celest_analyzer_test.dart",
"args": ["--timeout=none"]
}
]
}
8 changes: 8 additions & 0 deletions apps/cli/.vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
// -- Dart --
"dart.analysisExcludedFolders": ["test/openapi/goldens"],

"files.associations": {
"*.drift": "sql"
}
}
3 changes: 3 additions & 0 deletions apps/cli/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## 0.1.0

- Initial version.
12 changes: 12 additions & 0 deletions apps/cli/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
.PHONY: database

database:
@echo "Generating Dart Drift classes..."
@dart run build_runner build --delete-conflicting-outputs
@for DB in cache cloud project; do \
echo "Generating schema JSON for $${DB} database..."; \
mkdir -p lib/database/$${DB}/schema/; \
dart run drift_dev schema dump lib/database/$${DB}/$${DB}_database.dart lib/database/$${DB}/schema/; \
echo "Generating migration file for $${DB} database..."; \
dart run drift_dev schema steps lib/database/$${DB}/schema/ lib/database/$${DB}/$${DB}.migrations.dart; \
done
3 changes: 3 additions & 0 deletions apps/cli/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## Celest CLI

The command line interface for Celest.
12 changes: 12 additions & 0 deletions apps/cli/analysis_options.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
include: package:celest_lints/app.yaml

analyzer:
exclude:
- "**/*.g.dart"
errors:
implementation_imports: ignore
avoid_print: ignore
avoid_catches_without_on_clauses: ignore
camel_case_types: ignore
require_trailing_commas: ignore # TODO: Conflicts with 3.7 formatting
unused_element: info
27 changes: 27 additions & 0 deletions apps/cli/bin/celest.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import 'package:celest_cli/commands/analysis_server_command.dart';
import 'package:celest_cli/commands/build_command.dart';
import 'package:celest_cli/commands/init_command.dart';
import 'package:celest_cli/commands/precache_command.dart';
import 'package:celest_cli/commands/start_command.dart';
import 'package:celest_cli/commands/uninstall_command.dart';
import 'package:celest_cli/commands/upgrade_command.dart';
import 'package:celest_cli/src/cli.dart';
import 'package:celest_cli/src/version.dart';

void main(List<String> args) async {
final cli =
Cli(
'celest',
'A command-line interface for Celest, the Flutter cloud platform.',
version: packageVersion,
)
..addCommand(InitCommand())
..addCommand(StartCommand())
..addCommand(BuildCommand())
..addCommand(AnalysisServerCommand())
..addCommand(UpgradeCommand())
..addCommand(UninstallCommand())
..addCommand(PrecacheCommand());

await cli.run(args);
}
37 changes: 37 additions & 0 deletions apps/cli/build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
targets:
json:
sources:
exclude:
- "fixtures/**"
- "lib/database/**"
auto_apply_builders: false
builders:
json_serializable:
enabled: true
options:
explicit_to_json: true

$default:
sources:
include:
- "lib/database/**"
dependencies:
- ":json"
builders:
drift_dev:
enabled: true
options:
named_parameters: true
store_date_time_values_as_text: false
sql:
dialect: sqlite
options:
version: "3.38"
modules:
- json1
known_functions:
typeid: text(text)

# Reduces generated code
skip_verification_code: true
data_class_to_companions: false
11 changes: 11 additions & 0 deletions apps/cli/dart_test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
tags:
e2e:
timeout: 15m
e2e-installed:
timeout: 5m
e2e-local:
timeout: 15m
openapi:
timeout: 5m
goldens:
timeout: 20m
10 changes: 10 additions & 0 deletions apps/cli/fixtures/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Outputs from golden tests
**/goldens/** linguist-generated

# Platform files generated by Flutter during `flutter create`
**/android/** linguist-generated
**/ios/** linguist-generated
**/linux/** linguist-generated
**/macos/** linguist-generated
**/windows/** linguist-generated
**/web/** linguist-generated
68 changes: 68 additions & 0 deletions apps/cli/fixtures/legacy/_common/lib/_common.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
/// Common types and functions, used for testing APIs which reference other
/// packages.
library;

final class CustomException implements Exception {
CustomException(this.message);

final String message;

@override
String toString() => 'CustomException: $message';
}

final class CommonException implements Exception {
CommonException(this.message);

final String message;

@override
String toString() => 'CommonException: $message';
}

void throwsCustomException() {
throw CustomException('message');
}

void throwsCommonException() {
throw CommonException('message');
}

final class NestedParent {
const NestedParent(this.child);

factory NestedParent.fromJson(String value) =>
NestedParent(NestedChild(value));

final NestedChild child;

String toJson() => child.value;
}

final class NestedChild {
const NestedChild(this.value);

factory NestedChild.fromJson(String value) => NestedChild(value);

final String value;

String toJson() => value;
}

final class OverriddenException implements Exception {
const OverriddenException(this.message);

factory OverriddenException.fromJson(String value) =>
OverriddenException(value);

final String message;

String toJson() => message;

@override
String toString() => 'OverriddenException: $message';
}

void throwsOverriddenException() {
throw const OverriddenException('message');
}
8 changes: 8 additions & 0 deletions apps/cli/fixtures/legacy/_common/lib/marcelo.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
export 'src/models/available_stock.dart';
export 'src/models/available_stocks.dart';
export 'src/models/buy_or_sell.dart';
export 'src/models/cash_balance.dart';
export 'src/models/errors_and_exceptions.dart';
export 'src/models/portfolio.dart';
export 'src/models/stock.dart';
export 'src/models/ui.dart';
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
import 'package:_common/src/utils/utils.dart';
import 'package:meta/meta.dart';

@immutable
class AvailableStock {
AvailableStock(
this.ticker, {
required this.name,
required double currentPrice,
}) : currentPrice = round(currentPrice);

AvailableStock.from(({String ticker, String name, double price}) stock)
: this(stock.ticker, name: stock.name, currentPrice: stock.price);
final String ticker;
final String name;
final double currentPrice;

String get currentPriceStr => 'US\$ ${currentPrice.toStringAsFixed(2)}';

AvailableStock withCurrentPrice(double price) =>
AvailableStock(ticker, name: name, currentPrice: round(price));

@override
String toString() => '$ticker ($name)';

@override
bool operator ==(Object other) =>
identical(this, other) ||
other is AvailableStock &&
runtimeType == other.runtimeType &&
ticker == other.ticker &&
name == other.name &&
currentPrice == other.currentPrice;

@override
int get hashCode => ticker.hashCode ^ name.hashCode ^ currentPrice.hashCode;
}
Loading