Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
232 commits
Select commit Hold shift + click to select a range
7348aa0
docusaurus
r0ssing May 20, 2025
1c2be85
cleanup
r0ssing May 20, 2025
d01bc5c
conf update
r0ssing May 20, 2025
6dc1e65
First content
r0ssing May 20, 2025
09beac5
GH Actions
r0ssing May 20, 2025
2dcb592
GH Actions
r0ssing May 20, 2025
3b2b0ed
GH Actions
r0ssing May 20, 2025
89d3192
README
r0ssing May 20, 2025
f3a5396
Update docs
r0ssing May 21, 2025
6ee215e
Updated docs
r0ssing May 26, 2025
902059b
Fixed broken link
r0ssing May 26, 2025
74369ca
Add WIP comment
r0ssing May 26, 2025
afa86be
docusaurus version bump
r0ssing Jun 4, 2025
2665123
frontpage update
r0ssing Jun 4, 2025
1652aa7
Added newsletter box
r0ssing Aug 12, 2025
987ce57
update API spec
r0ssing Aug 12, 2025
1cce85c
Add service descriptions
r0ssing Aug 12, 2025
4f7ae4a
new images
r0ssing Aug 12, 2025
e2920b3
styling
r0ssing Aug 12, 2025
107a7c0
updated newsletter box
r0ssing Aug 12, 2025
7dcb4b8
disabled newsletter signup
r0ssing Aug 13, 2025
3ceb25e
add signup confirmation
r0ssing Aug 13, 2025
5cd5196
updated release date information
r0ssing Sep 11, 2025
daed10b
sourcecode gone public!
r0ssing Sep 16, 2025
3abed7d
Add installation guide for android
r0ssing Oct 6, 2025
7866590
Add announcement on front page
r0ssing Oct 6, 2025
04ae8b0
Add link to forum.opendataensemble.org
r0ssing Nov 19, 2025
4ddd6a0
Add component overview
r0ssing Nov 25, 2025
5657393
Refactor navigation and styles
najuna-brian Nov 29, 2025
283b0bb
Merge pull request #1 from najuna-brian/homepage-refactor
r0ssing Nov 29, 2025
763d772
Fix broken documentation links, add workflow and validation scripts (#2)
najuna-brian Nov 29, 2025
2db6b50
fix: display mobile-navbar
najuna-brian Nov 30, 2025
03338dd
Merge pull request #3 from najuna-brian/fix/mobile-navbar-title
r0ssing Nov 30, 2025
8daf717
docs: add ADB setup guide for Android developers
bahati308 Dec 2, 2025
71911c6
docs: add ADB setup guide for Android developers
bahati308 Dec 2, 2025
4faf36b
docs: add ODE workflow and port forwarding to ADB setup guide
bahati308 Dec 3, 2025
38c78f9
Merge pull request #5 from Bahati308/adb-setup-doc
bahati308 Dec 3, 2025
b76ef2e
Feat/docs restructure (#4)
najuna-brian Dec 3, 2025
c978c19
feat: implement ODE design tokens system
IamLRBA Dec 12, 2025
405e024
rerun validations
IamLRBA Dec 14, 2025
0065135
Merge branch 'IamLRBA-docs-ode-tokens'
IamLRBA Dec 14, 2025
8990207
Fix contradicting workflows
Ndacyayisenga-droid Dec 14, 2025
65034eb
docs: enhance quick start guides with comprehensive setup instruction…
najuna-brian Dec 14, 2025
82a6570
docs: enhance app bundle deployment guide (#28)
najuna-brian Dec 14, 2025
def48d5
Merge branch 'main' into docs-ode-tokens
bahati308 Dec 14, 2025
6529084
Merge pull request #32 from IamLRBA/docs-ode-tokens
bahati308 Dec 14, 2025
f359e37
docs: enhance forms and observations documentation (#27)
najuna-brian Dec 14, 2025
147de63
docs: enhance Synkronus CLI installation and add QR code configuratio…
najuna-brian Dec 14, 2025
5e03588
docs: enhance Formulus user guide and troubleshooting (#29)
najuna-brian Dec 14, 2025
36fbcb7
Merge branch 'OpenDataEnsemble:main' into main
IamLRBA Dec 14, 2025
e3d3006
refactor: improve docs sytle themes (#6)
najuna-brian Dec 14, 2025
9758c3b
Merge branch 'OpenDataEnsemble:main' into main
IamLRBA Dec 15, 2025
5ca07ef
Create CNAME
IamLRBA Dec 15, 2025
f32e4dc
feat: replace Noto Sans with Josefin Sans as primary font
IamLRBA Dec 15, 2025
9efeb5d
refactor: reduce body text weight to 300 and centralize font weights …
IamLRBA Dec 15, 2025
c1bb37a
refactor: self-host Josefin Sans fonts for improved privacy
IamLRBA Dec 16, 2025
01ad8cd
Merge pull request #1 from IamLRBA/fonts
bahati308 Dec 16, 2025
52e55af
feat(components): add reusable design system components
IamLRBA Dec 16, 2025
111f5f4
Fix: Browser detection error when starting the dev server
bahati308 Dec 23, 2025
ff80e3b
Merge pull request #5 from Bahati308/formulus-Install-guide
bahati308 Dec 23, 2025
dd2c186
Docs: Add v2 rewrite while preserving v1.0 to support ODE major relea…
najuna-brian Dec 30, 2025
b21fe3c
Merge pull request #3 from IamLRBA/main
IamLRBA Jan 6, 2026
7fc7c02
Add pronunciation helper for ODE acronym #8
IamLRBA Jan 6, 2026
434633c
Merge pull request #9 from IamLRBA/pronounciation-helper
IamLRBA Jan 8, 2026
e12184a
docs: enhance Formulus installation guide with screenshots and Obtain…
Jan 15, 2026
31a316d
Merge pull request #10 from OpenDataEnsemble/docs/update-installation…
Mishael-2584 Jan 15, 2026
277706d
fix: correct Docusaurus URL to match CNAME domain
Jan 15, 2026
ead29c1
Merge pull request #11 from OpenDataEnsemble/docs/update-installation…
Mishael-2584 Jan 15, 2026
c769c39
Update documentation for ODE v1.0.0 release
Mar 8, 2026
7a03829
Add comprehensive Quick Start guide for custom applications
Mar 8, 2026
fcccab1
Update favicon with ODE portal design
Mar 8, 2026
3aee9c1
Update navbar logo with official ODE logo
Mar 8, 2026
89da86f
Release v1.1.0 with comprehensive custom app documentation
Mar 8, 2026
baed0a3
Restructure documentation for better user experience
Mar 8, 2026
3503bab
Remove Try ODE Online page
Mar 8, 2026
e31e430
Move Quick Start guide to Development section
Mar 8, 2026
9081aeb
Fix all broken internal documentation links
Mar 9, 2026
d08f857
Release v1.1.1 with documentation structure improvements
Mar 9, 2026
65c8d27
Fix docusaurus.config.ts navigation links
Mar 9, 2026
526641c
Release v1.1.2 with navigation fix
Mar 9, 2026
9a234ed
Fix remaining broken links for successful build
Mar 9, 2026
5c65a10
docs: Updated the docs to persona driven
bahati308 Mar 21, 2026
a0519b8
Fix CI failure
bahati308 Mar 21, 2026
0a2515f
Merge pull request #13 from Bahati308/DocUpdate
r0ssing Mar 22, 2026
6290bee
Remove repeated info and fix broken links
bahati308 Mar 22, 2026
e4e8680
deleted build.log
bahati308 Mar 22, 2026
391fa45
Merge pull request #14 from Bahati308/DocUpdate
bahati308 Mar 22, 2026
fedc1b3
fix broken links and content placeholders
bahati308 Mar 22, 2026
efa4f83
Merge pull request #15 from Bahati308/DocUpdate
bahati308 Mar 22, 2026
5bc7f52
Added Quick start and Coffee app refrences
bahati308 Mar 22, 2026
c80157a
Merge pull request #16 from Bahati308/DocUpdate
bahati308 Mar 23, 2026
a6367bb
fix: updated header text
r0ssing Mar 23, 2026
fc5fc48
fix: button text
r0ssing Mar 23, 2026
7e7f5b5
Merge pull request #17 from OpenDataEnsemble/fix/update-front-attenti…
bahati308 Mar 23, 2026
991613f
feat: correct some mistakes, add ai section
r0ssing Mar 27, 2026
1b380bc
Merge pull request #18 from OpenDataEnsemble/feature/corrections
bahati308 Mar 27, 2026
8154a19
feature: add docs for sub observations
r0ssing May 2, 2026
088ec72
Merge pull request #19 from OpenDataEnsemble/feature/sub-observations
r0ssing May 2, 2026
c1f0583
feat(docs) add synkronus install instructions (#12)
r0ssing May 3, 2026
6d2ac73
feat: documentation for question types added (#20)
r0ssing May 4, 2026
82e7ce1
documentation of indexes and ODE Desktop developer mode
r0ssing May 16, 2026
f4ea562
documentation of indexes and ODE Desktop developer mode (#21)
r0ssing May 16, 2026
62736b5
feat: add choice lists guide and update dynamic choice lists document…
May 21, 2026
4b33dee
Merge pull request #22 from OpenDataEnsemble/docs/choice-lists-guide-…
Mishael-2584 May 21, 2026
150df74
refine choice lists documentation: update shared and dynamic lists de…
May 21, 2026
5fdf559
refine choice lists documentation: update shared and dynamic lists de…
Mishael-2584 May 21, 2026
3456cd9
enhance choice lists documentation: clarify dropdown types, improve s…
May 26, 2026
3c9f142
Merge origin/main into docs/choice-lists-guide-update
May 26, 2026
29707ed
Merge pull request #25 from OpenDataEnsemble/docs/choice-lists-guide-…
Mishael-2584 May 26, 2026
e8b9008
docs: update ODE monorepo guides for pnpm migration (#24)
najuna-brian May 27, 2026
bffe1de
docs: add Formulus legal pages and footer links (#26)
najuna-brian Jun 4, 2026
1794c74
docs(formplayer): document mobile UX and bridge API pack (#27)
r0ssing Jun 16, 2026
b6c8f9f
docs: v1.1.0 refresh, Community Days announce (#28)
r0ssing Jun 17, 2026
daeb4b3
docs(docs): updated diagrams and descriptions. Bump to v1.1.1
r0ssing Jun 26, 2026
966e946
merge: resolve main into feat/performance-lookups
r0ssing Jun 26, 2026
30e9fea
Merge pull request #29 from OpenDataEnsemble/feat/performance-lookups
najuna-brian Jun 26, 2026
a11756b
docs: added docs about form translation
r0ssing Jun 30, 2026
12884b6
Merge pull request #30 from OpenDataEnsemble/docs/translation
najuna-brian Jul 1, 2026
a110893
docs: document Likert and duration question types
najuna-brian Jul 2, 2026
2263d7f
docs: add Likert and duration quick-start recipes
najuna-brian Jul 2, 2026
c5539a3
docs: clarify Likert display is independent of scale content
najuna-brian Jul 2, 2026
4fba0f5
docs: present Likert display/content note as a tip admonition
najuna-brian Jul 2, 2026
75c6a4f
docs: add Likert N/A validation, layout, and i18n guidance
najuna-brian Jul 2, 2026
25ebd0a
Merge pull request #33 from OpenDataEnsemble/docs/likert-and-duration…
IamLRBA Jul 2, 2026
171a5ee
chore: release prep for v1.2.1
r0ssing Aug 3, 2026
5c69588
Merge pull request #34 from OpenDataEnsemble/feat/release-prep
najuna-brian Aug 3, 2026
1799c29
chore: prep for v1.3.0
r0ssing Aug 19, 2026
c1c461c
Merge pull request #35 from OpenDataEnsemble/v1.3.0-preparations
najuna-brian Aug 19, 2026
f5876f2
chore: docs update
r0ssing Aug 31, 2026
4362537
chore: add container image tag info
r0ssing Aug 31, 2026
00991eb
chore: release prep for v1.3.2
r0ssing Sep 1, 2026
4a017a9
chore(release): prepare v1.3.3 alpha
r0ssing Sep 1, 2026
6ed4c57
Merge pull request #844 from HelloSapiens/dev
r0ssing Sep 1, 2026
a5cf2c3
fix(formulus): Optimized camera handling
r0ssing Sep 1, 2026
23b4e5f
Merge branch 'dev' into fix/camera-robustness
r0ssing Sep 1, 2026
1379f56
Merge pull request #901 from HelloSapiens/fix/camera-robustness
r0ssing Sep 1, 2026
000ac26
ci(release): prepare next Formulus build code
r0ssing Sep 1, 2026
fc0c7ae
Merge pull request #902 from HelloSapiens/feat/release-automation
r0ssing Sep 1, 2026
6e02f89
chore(release): reserve next Formulus build code
github-actions[bot] Sep 1, 2026
ce92214
Merge pull request #903 from OpenDataEnsemble/automation/prepare-next…
r0ssing Sep 1, 2026
552e7b7
chore(release): reserve next Formulus build code
github-actions[bot] Sep 1, 2026
5b9b52b
Merge pull request #904 from OpenDataEnsemble/automation/prepare-next…
r0ssing Sep 1, 2026
e2a2382
ci: limit renovate PR count and enable versionCode bump on release
r0ssing Sep 1, 2026
0b2d9c4
Merge pull request #905 from HelloSapiens/feat/renovate-taming
r0ssing Sep 1, 2026
eafd732
fix(synkronus): distinguish access and refresh tokens
r0ssing Sep 2, 2026
bb20e38
fix(synkronus): rate limit authentication attempts
r0ssing Sep 2, 2026
bfdc799
fix(synkronus): harden large attachment uploads
r0ssing Sep 2, 2026
4f9b7b1
fix(formulus): clear invalid authentication state
r0ssing Sep 2, 2026
1a19d84
fix(clients): preserve sessions when auth is throttled
r0ssing Sep 2, 2026
103c804
fix(cli): protect stored authentication config
r0ssing Sep 2, 2026
9a259fc
docs(synkronus): document authentication security controls
r0ssing Sep 2, 2026
6a4432f
chore(clients): regenerate Synkronus API documentation
r0ssing Sep 2, 2026
0ea9c4e
Merge pull request #906 from HelloSapiens/fix/infosec-review
r0ssing Sep 3, 2026
942beca
Logo Change
IamLRBA Sep 9, 2026
8b8716c
Button Change
IamLRBA Sep 9, 2026
d2c8078
Text Readability
IamLRBA Sep 9, 2026
5de8686
Merge pull request #37 from OpenDataEnsemble/Minor-Changes
IamLRBA Sep 9, 2026
8b4f418
Footer Changes
IamLRBA Sep 9, 2026
2e9334d
Footer Changes
IamLRBA Sep 9, 2026
35af463
Merge pull request #38 from OpenDataEnsemble/Minor-Changes
IamLRBA Sep 10, 2026
2d8cc0e
fix(formulus): clear repository generation on server switch
r0ssing Sep 18, 2026
84b0cb4
Merge pull request #914 from HelloSapiens/fix/data-generation-epoch
Mishael-2584 Sep 18, 2026
24703eb
fix(formulus): make app-bundle install atomic and surface low-storage…
r0ssing Sep 18, 2026
018e673
Merge pull request #919 from HelloSapiens/fix/atomic-bundle-switches
Mishael-2584 Sep 18, 2026
31e2afa
fix(formulus): restore iOS permissions, iPad layout, and status-bar i…
r0ssing Sep 18, 2026
50592ca
Merge pull request #922 from HelloSapiens/fix/iphone-issues
Mishael-2584 Sep 18, 2026
9de89e8
Add CONTRIBUTING.md File for New Users
IamLRBA Sep 18, 2026
3329ab6
chore: trim PR template to essential sections
IamLRBA Sep 18, 2026
5fd9d1f
Enhance contribution guidelines for forking and branching
r0ssing Sep 18, 2026
69543fe
chore: spacing
r0ssing Sep 18, 2026
749f635
Merge pull request #923 from IamLRBA/CONTRIBUTING.md
r0ssing Sep 18, 2026
012841c
Merge branch 'dev' into Trim_PR_Template
r0ssing Sep 18, 2026
ba5503e
Merge pull request #924 from IamLRBA/Trim_PR_Template
r0ssing Sep 18, 2026
b75d959
fix(formulus): Play compliance with SAF media picker and 16 KB alignm…
najuna-brian Sep 20, 2026
6169a90
chore(formulus): remove explanatory comments from Play compliance cha…
najuna-brian Sep 20, 2026
52f72de
fix(formulus): persist SAF-picked images
najuna-brian Sep 20, 2026
2f80ff0
fix(formulus): persist SAF-picked files
najuna-brian Sep 20, 2026
9daed2a
Merge pull request #925 from najuna-brian/fix/play-console-foss-compl…
r0ssing Sep 20, 2026
9ef319b
Reduced Ai-isms
IamLRBA Sep 21, 2026
c3ca8b8
Merge pull request #928 from IamLRBA/CleanUp
najuna-brian Sep 21, 2026
a37740b
fix: grant permissions to Formulus build code workflow
allennakalema06-web Sep 22, 2026
7820561
fix(formulus): make tables responsive on small screens
allennakalema06-web Sep 22, 2026
15c2746
Merge pull request #929 from allennakalema06-web/fix/formulus-ci-perm…
najuna-brian Sep 22, 2026
0a421d0
Merge branch 'dev' into fix/formulus-responsive-tables
Mishael-2584 Sep 23, 2026
22468b6
localize progress bar navigation labels
Lemeri123 Sep 23, 2026
f2d7aa1
fix(desktop): map view marker colours
r0ssing Sep 24, 2026
062311b
Add profiles to formulus
Ndacyayisenga-droid Sep 22, 2026
c40d4db
wip(formulus)
r0ssing Sep 25, 2026
ba3a18b
feat(formulus): complete in-app profile switching and recovery
r0ssing Sep 25, 2026
c286896
updated sync instructions
r0ssing Sep 25, 2026
17700bd
Merge pull request #36 from OpenDataEnsemble/feat/new-sync-impl
r0ssing Sep 25, 2026
4ce68de
test: guard Formulus interface version drift
kingmakeruix Sep 25, 2026
3e318cb
refactor(formulus): share responsive breakpoint hook
allennakalema06-web Sep 25, 2026
3ae63bf
Merge remote-tracking branch 'origin/fix/formulus-responsive-tables' …
allennakalema06-web Sep 25, 2026
f76ebe1
chore(release): prepare v1.3.3-alpha.2 from profiles
r0ssing Sep 25, 2026
be27f29
chore(release): reserve next Formulus build code
r0ssing Sep 25, 2026
0257948
feat(formulus): enhanced profile drawer UI
r0ssing Sep 25, 2026
68cbbe3
test(formulus): flush drawer user info update deterministically
r0ssing Sep 25, 2026
ba2d25b
test(formulus): pinpoint drawer profile guard in CI
r0ssing Sep 25, 2026
b00f1bc
test(formulus): resolve drawer session after mounting
r0ssing Sep 25, 2026
e2b2eb3
Merge pull request #931 from OpenDataEnsemble/profiles
r0ssing Sep 25, 2026
9061fda
Merge branch 'dev' into locale
r0ssing Sep 25, 2026
546b63b
Merge pull request #932 from Lemeri123/locale
r0ssing Sep 25, 2026
af7353f
Merge branch 'dev' into fix/formulus-responsive-tables
r0ssing Sep 25, 2026
aefa785
Merge branch 'dev' into fix/mapcolours_issue_933
r0ssing Sep 25, 2026
8ba79c0
Merge branch 'dev' into test/formulus-interface-version-drift
r0ssing Sep 25, 2026
0bafaaa
Merge pull request #935 from kingmakeruix/test/formulus-interface-ver…
r0ssing Sep 25, 2026
eab4821
Merge branch 'dev' into fix/formulus-responsive-tables
r0ssing Sep 25, 2026
6ea78eb
Merge pull request #934 from HelloSapiens/fix/mapcolours_issue_933
najuna-brian Sep 25, 2026
afe3790
Merge branch 'dev' into fix/formulus-responsive-tables
r0ssing Sep 25, 2026
af04589
test(formulus): wait for drawer session guard before asserting
r0ssing Sep 25, 2026
db22e8b
test(formulus): isolate drawer user display from async session effect
r0ssing Sep 25, 2026
d579fd5
Merge pull request #930 from allennakalema06-web/fix/formulus-respons…
r0ssing Sep 25, 2026
2d1b3f9
chore(release): reserve next Formulus build code
github-actions[bot] Sep 25, 2026
aecc170
fix(formulus): improve UX for creating and switching profiles
r0ssing Sep 25, 2026
282b4ca
Merge pull request #937 from HelloSapiens/fix/enhance-profile-ux
r0ssing Sep 25, 2026
4e09a6f
Merge branch 'dev' into automation/prepare-next-formulus-build-code
r0ssing Sep 25, 2026
ef4a2ff
Merge pull request #936 from OpenDataEnsemble/automation/prepare-next…
r0ssing Sep 25, 2026
3219320
chore(release): reserve next Formulus build code
github-actions[bot] Sep 25, 2026
53286d7
chore(docs): prepare the docs/ prefix for the documentation site import
najuna-brian Sep 26, 2026
334de02
Add 'docs/' from commit '17700bdf40cca5478b3d285297c75f58d761015b'
najuna-brian Sep 26, 2026
8dc7fb8
docs: drop unused site files and move CNAME into static/
najuna-brian Sep 26, 2026
93840f9
docs: adapt the documentation site to the ODE monorepo
najuna-brian Sep 26, 2026
3adf377
ci: build and publish the documentation site from the monorepo
najuna-brian Sep 26, 2026
0e2f01c
docs: drop the executable bit from the validation script
najuna-brian Sep 26, 2026
4ee0e85
Update .github/workflows/docs.yml
najuna-brian Sep 26, 2026
557e851
Update .github/CICD.md
najuna-brian Sep 26, 2026
5470da8
Update .github/CICD.md
najuna-brian Sep 26, 2026
b92601a
Update .github/workflows/docs.yml
najuna-brian Sep 26, 2026
c7f334a
Merge pull request #939 from OpenDataEnsemble/docs/migrate-documentat…
r0ssing Sep 26, 2026
5a61411
Merge branch 'dev' into automation/prepare-next-formulus-build-code
r0ssing Sep 26, 2026
bffc2cc
Merge pull request #938 from OpenDataEnsemble/automation/prepare-next…
r0ssing Sep 26, 2026
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
  •  
  •  
  •  
23 changes: 23 additions & 0 deletions .github/CICD.md
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,29 @@ This ensures:
- Each APK is built against the exact assets produced in the same run
- Formplayer build outputs do not pollute git history

### Documentation Site

**Workflow**: `.github/workflows/docs.yml`

Builds and publishes the Docusaurus site in [`docs/`](../docs/) to [opendataensemble.org](https://opendataensemble.org/) via GitHub Pages.

#### Triggers

| Event | Result |
|-------|--------|
| Pull request to `main` or `dev` touching `docs/**` | Validate and build only |
| Push to `main` touching `docs/**` | Validate, build, and deploy |
| `workflow_dispatch` | Validate and build |

#### Notes

- The deployed branch is main, so the published docs track the released version of ODE. Changes on dev and pull requests are validated by CI but are not deployed.
- The site is an independent **npm** project inside the pnpm monorepo: `cache-dependency-path` points at `docs/package-lock.json`, which is force-included in the root `.gitignore` so `npm ci` is reproducible.
- `docs/docs/` is the Docusaurus content root. URLs are unchanged from the previous standalone `OpenDataEnsemble/docs` repository — `routeBasePath` is still `/docs`.
- `actions/upload-pages-artifact@v4` is used deliberately: v5 excludes dotfiles by default, which would drop `static/.nojekyll` and `static/CNAME` from the artifact.
- The upload path is `docs/build` (repo-root relative). `defaults.run.working-directory` does not apply to `uses:` steps.
- No secrets are required. The deploy job needs `contents: read`, `pages: write`, and `id-token: write`.

### SBOM (CycloneDX) on releases

**Workflow**: `.github/workflows/sbom-release.yml`
Expand Down
24 changes: 12 additions & 12 deletions .github/QUICK_REFERENCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Quick reference for common CI/CD operations in the Open Data Ensemble monorepo.

## 🚀 Synkronus Docker Images
## Synkronus Docker Images

### Pull Images

Expand Down Expand Up @@ -50,7 +50,7 @@ docker run -d \

`dev` is not the pre-release channel. Release pointer tags move only when a GitHub Release is published; `latest-pre-release` requires the release to be marked as a pre-release.

## 🔄 Triggering Builds
## Triggering Builds

### Automatic Triggers

Expand All @@ -70,7 +70,7 @@ Relevant paths include `synkronus/`, `synkronus-portal/`, shared `packages/`, th

Manual runs publish only an immutable `sha-{short}` tag; they do not move `latest`, `latest-pre-release`, `main`, or `dev`.

## 📦 Creating Releases
## Creating Releases

### Quick Release (Latest)
```bash
Expand All @@ -91,7 +91,7 @@ Creates:
- `v1.0.0`
- `v1.0`

## 🔍 Monitoring
## Monitoring

### View Workflow Runs
```
Expand All @@ -112,7 +112,7 @@ gh run list --workflow=synkronus-docker.yml
gh run view <run-id>
```

## 🐛 Troubleshooting
## Troubleshooting

### Build Failed

Expand Down Expand Up @@ -144,7 +144,7 @@ echo $GITHUB_TOKEN | docker login ghcr.io -u USERNAME --password-stdin
docker manifest inspect ghcr.io/opendataensemble/synkronus:latest
```

## 🔐 Authentication
## Authentication

### GitHub CLI
```bash
Expand All @@ -160,7 +160,7 @@ echo $GITHUB_TOKEN | docker login ghcr.io -u USERNAME --password-stdin
gh auth token | docker login ghcr.io -u USERNAME --password-stdin
```

## 📊 Image Information
## Image Information

### View Image Details
```bash
Expand All @@ -180,7 +180,7 @@ docker images ghcr.io/opendataensemble/synkronus
dive ghcr.io/opendataensemble/synkronus:latest
```

## 🚢 Deployment
## Deployment

### Coolify

Expand Down Expand Up @@ -216,7 +216,7 @@ spec:
image: ghcr.io/opendataensemble/synkronus:latest
```

## 🔄 Rollback
## Rollback

### Quick Rollback
```bash
Expand All @@ -232,7 +232,7 @@ docker run -d [same options] ghcr.io/opendataensemble/synkronus:v1.0.0
2. Select previous version
3. Click "Redeploy"

## 📝 Best Practices
## Best Practices

### Production
- ✅ Pin specific versions: `v1.0.0`
Expand All @@ -253,15 +253,15 @@ docker run -d [same options] ghcr.io/opendataensemble/synkronus:v1.0.0
- ✅ Keep workflows updated
- ✅ Document changes

## 🔗 Quick Links
## Quick Links

- [Full CI/CD Documentation](CICD.md)
- [Synkronus Docker Guide](../synkronus/DOCKER.md)
- [Synkronus Deployment Guide](../synkronus/DEPLOYMENT.md)
- [GitHub Actions Docs](https://docs.github.com/en/actions)
- [GHCR Docs](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry)

## 💡 Tips
## Tips

### Speed Up Local Development
```bash
Expand Down
81 changes: 21 additions & 60 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,75 +1,36 @@
# Pull Request Title
<!-- PR title must follow Conventional Commits: <type>(<scope>): <subject> -->

<!-- PR Title must follow Conventional Commits format: <type>(<scope>): <subject> -->
## What & Why

## Description

<!-- Provide a clear description of what changed and why -->
Short description of what changed and why.

## Type of Change

- [ ] Bug Fix
- [ ] New Feature / Enhancement
- [ ] Refactor / Code Cleanup
- [ ] Documentation Update
- [ ] Maintenance / Chore
- [ ] Other (please specify):

---

## Component(s) Affected

- [ ] **formulus** (React Native mobile app)
- [ ] **formulus-formplayer** (React web app)
- [ ] **synkronus** (Go backend server)
- [ ] **synkronus-cli** (Command-line utility)
- [ ] **Documentation**
- [ ] **DevOps / CI/CD**
- [ ] **Other:** <!-- Please specify -->

---
- [ ] Bug fix
- [ ] New feature / enhancement
- [ ] Refactor / cleanup
- [ ] Documentation
- [ ] Chore / other

## Related Issue(s)
## Component(s) Changed

<!-- Use keywords: Closes #123, Fixes #456, Resolves #789 -->

**Closes/Fixes/Resolves:** <!-- e.g., Closes #123 -->

---
- [ ] formulus (React Native mobile app)
- [ ] formulus-formplayer (form WebView UI)
- [ ] synkronus (Go backend)
- [ ] synkronus-cli (command-line client)
- [ ] synkronus-portal (web admin UI)
- [ ] desktop (Tauri app)
- [ ] packages (tokens / components)
- [ ] Documentation / DevOps / CI

## Testing

- [ ] Unit tests added/updated
- [ ] Integration tests added/updated
- [ ] Added/updated tests
- [ ] Manually tested
- [ ] Tested on multiple platforms (if applicable)
- [ ] Not applicable

---

## Breaking Changes

- [ ] This PR introduces breaking changes
- [ ] This PR does NOT introduce breaking changes

**If breaking changes, please describe migration steps:**

---

## Documentation Updates

- [ ] Documentation has been updated
- [ ] Documentation update is not required

---

## Checklist

- [ ] Code follows project style guidelines
- [ ] All existing tests pass
- [ ] New tests added for new functionality
- [ ] PR title follows Conventional Commits format

---

**Thank you for contributing to Open Data Ensemble (ODE)!**
- [ ] Pre-flight checks for changed packages passed (lint / format / tests)
- [ ] Breaking changes (if any) have migration steps
- [ ] Related issue linked, e.g. `Closes #123`
102 changes: 102 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
name: Docs

on:
pull_request:
branches: [main, dev]
paths:
- 'docs/**'
- '.github/workflows/docs.yml'
push:
branches: [main, dev]
paths:
- 'docs/**'
- '.github/workflows/docs.yml'
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
# Do not cancel an in-flight production deploy when another push lands.
cancel-in-progress: ${{ github.event_name != 'push' }}

permissions:
contents: read

env:
NODE_VERSION: '24'

jobs:
validate:
name: Validate
runs-on: ubuntu-latest
defaults:
run:
working-directory: docs
steps:
- name: Checkout repository
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
with:
fetch-depth: 0

- name: Set up Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: npm
cache-dependency-path: docs/package-lock.json

- name: Install dependencies
run: npm ci

- name: Check links and doc IDs
run: npm run test

- name: Build site
env:
CI: true
run: npm run build

deploy:
name: Deploy to GitHub Pages
needs: validate
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
runs-on: ubuntu-latest

permissions:
contents: read # checkout (job permissions replace the workflow defaults)
pages: write # to deploy to Pages
id-token: write # to verify the deployment originates from an appropriate source

environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}

defaults:
run:
working-directory: docs

steps:
- name: Checkout repository
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4

- name: Set up Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: npm
cache-dependency-path: docs/package-lock.json

- name: Install dependencies
run: npm ci

- name: Build site
run: npm run build

- name: Upload Pages artifact
uses: actions/upload-pages-artifact@7b1f4a764d45c48632c6b24a0339c27f5614fb0b # v4
with:
# Action paths are relative to the repo root, not defaults.run.working-directory.
path: docs/build

- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4
15 changes: 14 additions & 1 deletion .github/workflows/formulus-android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ on:
- 'packages/tokens/**'
- 'packages/components/**'
- 'packages/observation-query/**'
- '.github/workflows/formulus-android.yml'
release:
types: [published]

Expand Down Expand Up @@ -83,6 +82,7 @@ jobs:
needs: build-formplayer-assets
permissions:
contents: write
pull-requests: write

steps:
- name: Checkout repository
Expand Down Expand Up @@ -250,3 +250,16 @@ jobs:
formulus/android/app/build/outputs/bundle/release/*.aab
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

prepare-next-native-build-code:
name: Prepare next Formulus build code
if: github.event_name == 'release' && needs.build-android.result == 'success'
needs: build-android
permissions:
contents: write
pull-requests: write
uses: ./.github/workflows/prepare-next-formulus-build-code.yml
with:
target_branch: ${{ github.event.release.target_commitish }}
dry_run: false
secrets: inherit
Loading
Loading