From 90a6c7f01a4b9d9ba9ab364976643d739ed15bb7 Mon Sep 17 00:00:00 2001 From: Caleb Jasik Date: Tue, 4 Feb 2025 12:18:35 -0600 Subject: [PATCH 1/7] Update README with release instructions and spelling changes --- README.md | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index fcb777d..050e44e 100644 --- a/README.md +++ b/README.md @@ -22,11 +22,11 @@ Run `flutter doctor` and fix everything it complains before proceeding - Copy `env.sh.example` and set it up for your machine - Ensure you have run `gomobile init` -- In Android Studio, make sure you have the current ndk installed by going to Tools -> SDK Manager, go to the SDK Tools tab, check the `Show package details` box, expand the NDK section and select `27.0.12077973` version. -- Ensure you have downloaded an ndk via android studio, this is likely not the default one and you need to check the +- In Android Studio, make sure you have the current NDK installed by going to Tools → SDK Manager, go to the SDK Tools tab, check the `Show package details` box, expand the NDK section and select `27.0.12077973` version. +- Ensure you have downloaded a NDK via android studio, this is likely not the default one, and you need to check the `Show package details` box to select the correct version. The correct version comes from the error when you try and compile - Make sure you have `gem` installed with `sudo gem install` -- If on MacOS arm, `sudo gem install ffi -- --enable-libffi-alloc` +- If on macOS arm, `sudo gem install ffi -- --enable-libffi-alloc` If you are having issues with iOS pods, try blowing it all away! `cd ios && rm -rf Pods/ Podfile.lock && pod install --repo-update` @@ -39,7 +39,11 @@ Use: dart format lib/ test/ -l 120 ``` -In Android Studio, set the line length using Preferences -> Editor -> Code Style -> Dart -> Line length, set it to 120. Enable auto-format with Preferences -> Languages & Frameworks -> Flutter -> Format code on save. +In Android Studio, set the line length using Preferences → Editor → Code Style → Dart → Line length, set it to 120. Enable auto-format with Preferences → Languages & Frameworks → Flutter → Format code on save. + +# Prerelease + +Push a git tag `v#.#.#-##`, e.g. `v0.5.2-0`, and `.github/release.yml` will build a draft release and publish it to iOS TestFlight and Android internal track. `./swift-format.sh` can be used to format Swift code in the repo. @@ -47,16 +51,4 @@ Once `swift-format` supports ignoring directories ( Archive then follow the directions to upload to the app store. If you have issues, https://flutter.dev/docs/deployment/ios#create-a-build-archive +We manually promote a prerelease build from TestFlight and Android internal track to the public app stores, and then mark the associated draft release as published, removing the `-##` from it. \ No newline at end of file From 531b234ec431a99d6b5e22c217a457b56edb7bbb Mon Sep 17 00:00:00 2001 From: Caleb Jasik Date: Tue, 4 Feb 2025 12:58:34 -0600 Subject: [PATCH 2/7] Update how releasing works --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 050e44e..a17e2e4 100644 --- a/README.md +++ b/README.md @@ -51,4 +51,6 @@ Once `swift-format` supports ignoring directories ( Date: Tue, 4 Feb 2025 13:31:31 -0600 Subject: [PATCH 3/7] Write out the entire release process in steps --- README.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index a17e2e4..f61652c 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ In Android Studio, set the line length using Preferences → Editor → Code Sty # Prerelease -Push a git tag `v#.#.#-##`, e.g. `v0.5.2-0`, and `.github/release.yml` will build a draft release and publish it to iOS TestFlight and Android internal track. +Push a git tag `v#.#.#-##`, e.g. `v0.5.1-0`, and `.github/release.yml` will build a draft release and publish it to iOS TestFlight and Android internal track. `./swift-format.sh` can be used to format Swift code in the repo. @@ -51,6 +51,7 @@ Once `swift-format` supports ignoring directories (. \ No newline at end of file From 18952a229f3dc032d58476d22f83c96811ae7254 Mon Sep 17 00:00:00 2001 From: Caleb Jasik Date: Wed, 5 Feb 2025 11:35:04 -0600 Subject: [PATCH 4/7] Update casing and grammar from feedback --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f61652c..9a74d89 100644 --- a/README.md +++ b/README.md @@ -23,10 +23,10 @@ Run `flutter doctor` and fix everything it complains before proceeding - Copy `env.sh.example` and set it up for your machine - Ensure you have run `gomobile init` - In Android Studio, make sure you have the current NDK installed by going to Tools → SDK Manager, go to the SDK Tools tab, check the `Show package details` box, expand the NDK section and select `27.0.12077973` version. -- Ensure you have downloaded a NDK via android studio, this is likely not the default one, and you need to check the +- Ensure you have downloaded an NDK via android studio, this is likely not the default one, and you need to check the `Show package details` box to select the correct version. The correct version comes from the error when you try and compile - Make sure you have `gem` installed with `sudo gem install` -- If on macOS arm, `sudo gem install ffi -- --enable-libffi-alloc` +- If on macOS arm64, `sudo gem install ffi -- --enable-libffi-alloc` If you are having issues with iOS pods, try blowing it all away! `cd ios && rm -rf Pods/ Podfile.lock && pod install --repo-update` From 545b679fce32a13d0b427ffd7a122f5e04d6cda5 Mon Sep 17 00:00:00 2001 From: Caleb Jasik Date: Wed, 26 Mar 2025 15:41:37 -0500 Subject: [PATCH 5/7] Move dev-related instructions to CONTRIBUTING.md --- CONTRIBUTING.md | 55 +++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 54 +----------------------------------------------- 2 files changed, 56 insertions(+), 53 deletions(-) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..3d78d99 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,55 @@ +**This project is not accepting PRs. These instructions are for employees of Defined Networking.** + +## Setting up dev environment + +Install all of the following things: + +- [`xcode`](https://apps.apple.com/us/app/xcode/) - use the version specified by `xcode_select` in `/ios/fastlane/Fastfile` +- [`android-studio`](https://developer.android.com/studio) +- [`flutter` 3.29.2](https://docs.flutter.dev/get-started/install) +- [`gomobile`](https://pkg.go.dev/golang.org/x/mobile/cmd/gomobile) +- [Flutter Android Studio Extension](https://docs.flutter.dev/get-started/editor?tab=androidstudio) + +Ensure your path is set up correctly to execute flutter + +Run `flutter doctor` and fix everything it complains before proceeding + +*NOTE* on iOS, always open `Runner.xcworkspace` and NOT the `Runner.xccodeproj` + +### Before first compile + +- Copy `env.sh.example` and set it up for your machine +- Ensure you have run `gomobile init` +- In Android Studio, make sure you have the current NDK installed by going to Tools → SDK Manager, go to the SDK Tools tab, check the `Show package details` box, expand the NDK section and select `27.0.12077973` version. +- Ensure you have downloaded an NDK via android studio, this is likely not the default one, and you need to check the + `Show package details` box to select the correct version. The correct version comes from the error when you try and compile +- Make sure you have `gem` installed with `sudo gem install` +- If on macOS arm64, `sudo gem install ffi -- --enable-libffi-alloc` + +If you are having issues with iOS pods, try blowing it all away! `cd ios && rm -rf Pods/ Podfile.lock && pod install --repo-update` + +# Formatting + +`dart format` can be used to format the code in `lib` and `test`. We use a line-length of 120 characters. + +Use: +```sh +dart format lib/ test/ -l 120 +``` + +In Android Studio, set the line length using Preferences → Editor → Code Style → Dart → Line length, set it to 120. Enable auto-format with Preferences → Languages & Frameworks → Flutter → Format code on save. + +# Prerelease + +Push a git tag `v#.#.#-##`, e.g. `v0.5.1-0`, and `.github/release.yml` will build a draft release and publish it to iOS TestFlight and Android internal track. + +`./swift-format.sh` can be used to format Swift code in the repo. + +Once `swift-format` supports ignoring directories (), we can move to a method of running it more like what describes. + +# Release + +1. Manually promote a prerelease build from TestFlight and Android internal track to the corresponding public app stores. +2. Mark the associated draft release as published, removing the `-##` from it, ending with a release in the format `v#.#.#`, e.g. `v0.5.1`. +3. Remove the old draft releases that will never be published. +4. Add the notable changes to the app to the release summary, e.g.: . \ No newline at end of file diff --git a/README.md b/README.md index 9a74d89..27c615d 100644 --- a/README.md +++ b/README.md @@ -2,56 +2,4 @@ [Play Store](https://play.google.com/store/apps/details?id=net.defined.mobile_nebula&hl=en_US&gl=US) | [App Store](https://apps.apple.com/us/app/mobile-nebula/id1509587936) -## Setting up dev environment - -Install all of the following things: - -- [`xcode`](https://apps.apple.com/us/app/xcode/) - use the version specified by `xcode_select` in `/ios/fastlane/Fastfile` -- [`android-studio`](https://developer.android.com/studio) -- [`flutter` 3.29.2](https://docs.flutter.dev/get-started/install) -- [`gomobile`](https://pkg.go.dev/golang.org/x/mobile/cmd/gomobile) -- [Flutter Android Studio Extension](https://docs.flutter.dev/get-started/editor?tab=androidstudio) - -Ensure your path is set up correctly to execute flutter - -Run `flutter doctor` and fix everything it complains before proceeding - -*NOTE* on iOS, always open `Runner.xcworkspace` and NOT the `Runner.xccodeproj` - -### Before first compile - -- Copy `env.sh.example` and set it up for your machine -- Ensure you have run `gomobile init` -- In Android Studio, make sure you have the current NDK installed by going to Tools → SDK Manager, go to the SDK Tools tab, check the `Show package details` box, expand the NDK section and select `27.0.12077973` version. -- Ensure you have downloaded an NDK via android studio, this is likely not the default one, and you need to check the - `Show package details` box to select the correct version. The correct version comes from the error when you try and compile -- Make sure you have `gem` installed with `sudo gem install` -- If on macOS arm64, `sudo gem install ffi -- --enable-libffi-alloc` - -If you are having issues with iOS pods, try blowing it all away! `cd ios && rm -rf Pods/ Podfile.lock && pod install --repo-update` - -# Formatting - -`dart format` can be used to format the code in `lib` and `test`. We use a line-length of 120 characters. - -Use: -```sh -dart format lib/ test/ -l 120 -``` - -In Android Studio, set the line length using Preferences → Editor → Code Style → Dart → Line length, set it to 120. Enable auto-format with Preferences → Languages & Frameworks → Flutter → Format code on save. - -# Prerelease - -Push a git tag `v#.#.#-##`, e.g. `v0.5.1-0`, and `.github/release.yml` will build a draft release and publish it to iOS TestFlight and Android internal track. - -`./swift-format.sh` can be used to format Swift code in the repo. - -Once `swift-format` supports ignoring directories (), we can move to a method of running it more like what describes. - -# Release - -1. Manually promote a prerelease build from TestFlight and Android internal track to the corresponding public app stores. -2. Mark the associated draft release as published, removing the `-##` from it, ending with a release in the format `v#.#.#`, e.g. `v0.5.1`. -3. Remove the old draft releases that will never be published. -4. Add the notable changes to the app to the release summary, e.g.: . \ No newline at end of file +See [contributing](CONTRIBUTING.md) for dev-related instructions. \ No newline at end of file From 379b997c05edf8977ed290b3da0a8fcf0b3495a2 Mon Sep 17 00:00:00 2001 From: Caleb Jasik Date: Thu, 27 Mar 2025 12:28:43 -0500 Subject: [PATCH 6/7] Improve the empty README.md --- README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 27c615d..2a7b518 100644 --- a/README.md +++ b/README.md @@ -2,4 +2,10 @@ [Play Store](https://play.google.com/store/apps/details?id=net.defined.mobile_nebula&hl=en_US&gl=US) | [App Store](https://apps.apple.com/us/app/mobile-nebula/id1509587936) -See [contributing](CONTRIBUTING.md) for dev-related instructions. \ No newline at end of file +Nebula is an overlay networking tool designed to be fast, secure, and scalable. Connect any number of hosts with on-demand, encrypted tunnels that work across any IP networks and without opening firewall ports. + +Mobile Nebula brings this functionality to devices running Android and iOS. + +This code is **source-available** meaning that the source is provided for viewing, but we are **not accepting contributions** and provide no license past what the [GitHub Terms of Service](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#5-license-grant-to-other-users) permit. + +See [contributing](CONTRIBUTING.md) for dev-related instructions if you are a Defined Networking employee. \ No newline at end of file From ad9b331f32dccaee714338ac065a8297bcc14522 Mon Sep 17 00:00:00 2001 From: Caleb Jasik Date: Thu, 27 Mar 2025 16:37:15 -0500 Subject: [PATCH 7/7] Split into README, DEVELOPING, RELEASING files --- CONTRIBUTING.md => DEVELOPING.md | 18 ++---------------- README.md | 2 -- RELEASING.md | 16 ++++++++++++++++ 3 files changed, 18 insertions(+), 18 deletions(-) rename CONTRIBUTING.md => DEVELOPING.md (66%) create mode 100644 RELEASING.md diff --git a/CONTRIBUTING.md b/DEVELOPING.md similarity index 66% rename from CONTRIBUTING.md rename to DEVELOPING.md index 3d78d99..2cdcecb 100644 --- a/CONTRIBUTING.md +++ b/DEVELOPING.md @@ -2,7 +2,7 @@ ## Setting up dev environment -Install all of the following things: +Install all the following things: - [`xcode`](https://apps.apple.com/us/app/xcode/) - use the version specified by `xcode_select` in `/ios/fastlane/Fastfile` - [`android-studio`](https://developer.android.com/studio) @@ -28,7 +28,7 @@ Run `flutter doctor` and fix everything it complains before proceeding If you are having issues with iOS pods, try blowing it all away! `cd ios && rm -rf Pods/ Podfile.lock && pod install --repo-update` -# Formatting +## Formatting `dart format` can be used to format the code in `lib` and `test`. We use a line-length of 120 characters. @@ -39,17 +39,3 @@ dart format lib/ test/ -l 120 In Android Studio, set the line length using Preferences → Editor → Code Style → Dart → Line length, set it to 120. Enable auto-format with Preferences → Languages & Frameworks → Flutter → Format code on save. -# Prerelease - -Push a git tag `v#.#.#-##`, e.g. `v0.5.1-0`, and `.github/release.yml` will build a draft release and publish it to iOS TestFlight and Android internal track. - -`./swift-format.sh` can be used to format Swift code in the repo. - -Once `swift-format` supports ignoring directories (), we can move to a method of running it more like what describes. - -# Release - -1. Manually promote a prerelease build from TestFlight and Android internal track to the corresponding public app stores. -2. Mark the associated draft release as published, removing the `-##` from it, ending with a release in the format `v#.#.#`, e.g. `v0.5.1`. -3. Remove the old draft releases that will never be published. -4. Add the notable changes to the app to the release summary, e.g.: . \ No newline at end of file diff --git a/README.md b/README.md index 2a7b518..5103028 100644 --- a/README.md +++ b/README.md @@ -7,5 +7,3 @@ Nebula is an overlay networking tool designed to be fast, secure, and scalable. Mobile Nebula brings this functionality to devices running Android and iOS. This code is **source-available** meaning that the source is provided for viewing, but we are **not accepting contributions** and provide no license past what the [GitHub Terms of Service](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#5-license-grant-to-other-users) permit. - -See [contributing](CONTRIBUTING.md) for dev-related instructions if you are a Defined Networking employee. \ No newline at end of file diff --git a/RELEASING.md b/RELEASING.md new file mode 100644 index 0000000..51bcabd --- /dev/null +++ b/RELEASING.md @@ -0,0 +1,16 @@ +# Releasing + +## Prerelease + +Push a git tag `v#.#.#-##`, e.g. `v0.5.1-0`, and `.github/release.yml` will build a draft release and publish it to iOS TestFlight and Android internal track. + +`./swift-format.sh` can be used to format Swift code in the repo. + +Once `swift-format` supports ignoring directories (), we can move to a method of running it more like what describes. + +## Release + +1. Manually promote a prerelease build from TestFlight and Android internal track to the corresponding public app stores. +2. Mark the associated draft release as published, removing the `-##` from it, ending with a release in the format `v#.#.#`, e.g. `v0.5.1`. +3. Remove the old draft releases that will never be published. +4. Add the notable changes to the app to the release summary, e.g.: . \ No newline at end of file