Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 4 additions & 0 deletions Config/Shared.xcconfig
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
#include? "Local.xcconfig"

CODE_SIGN_STYLE = Automatic

// Version numbers — bump these once per release; all targets inherit them.
MARKETING_VERSION = 1.2
CURRENT_PROJECT_VERSION = 1
12 changes: 0 additions & 12 deletions Hemera.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -453,7 +453,6 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CURRENT_PROJECT_VERSION = 1;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = Hemera/Info.plist;
Expand All @@ -467,7 +466,6 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.2;
PRODUCT_BUNDLE_IDENTIFIER = com.adborbas.hemera.app;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
Expand All @@ -486,7 +484,6 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CURRENT_PROJECT_VERSION = 1;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = Hemera/Info.plist;
Expand All @@ -500,7 +497,6 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.2;
PRODUCT_BUNDLE_IDENTIFIER = com.adborbas.hemera.app;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
Expand All @@ -518,9 +514,7 @@
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.2;
PRODUCT_BUNDLE_IDENTIFIER = com.adborbas.hemera.app.tests;
PRODUCT_NAME = "$(TARGET_NAME)";
STRING_CATALOG_GENERATE_SYMBOLS = NO;
Expand All @@ -537,9 +531,7 @@
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.2;
PRODUCT_BUNDLE_IDENTIFIER = com.adborbas.hemera.app.tests;
PRODUCT_NAME = "$(TARGET_NAME)";
STRING_CATALOG_GENERATE_SYMBOLS = NO;
Expand All @@ -556,9 +548,7 @@
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.2;
PRODUCT_BUNDLE_IDENTIFIER = com.adborbas.hemera.app.uitests;
PRODUCT_NAME = "$(TARGET_NAME)";
STRING_CATALOG_GENERATE_SYMBOLS = NO;
Expand All @@ -575,9 +565,7 @@
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.2;
PRODUCT_BUNDLE_IDENTIFIER = com.adborbas.hemera.app.uitests;
PRODUCT_NAME = "$(TARGET_NAME)";
STRING_CATALOG_GENERATE_SYMBOLS = NO;
Expand Down
13 changes: 6 additions & 7 deletions RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,15 @@ Hemera uses release branches to allow development to continue on `main` while a
```bash
git checkout -b release/1.0.0 main
```
2. In `CHANGELOG.md`, rename `## [Unreleased]` → `## [1.0.0] - YYYY-MM-DD`
3. Bump the marketing version in Xcode project settings if needed
4. Commit: `"Prepare release 1.0.0"`
5. Push and submit to Apple for review
2. Bump `MARKETING_VERSION` in `Config/Shared.xcconfig` to match the release (e.g. `1.0.0`). All targets inherit it from there.
3. Commit: `"Prepare release 1.0.0"`
4. Push and submit to Apple for review

## Fixing issues during review

1. Create a fix branch from `release/1.0.0` (not from `main`)
2. Open a PR targeting `release/1.0.0`
3. Update the changelog under `[1.0.0]` in the same PR
3. If re-uploading to App Store Connect, bump `CURRENT_PROJECT_VERSION` in `Config/Shared.xcconfig` — the build number must be unique per marketing version.

## Shipping

Expand All @@ -30,7 +29,7 @@ Once Apple approves:
```
2. Create a GitHub release from the tag:
```bash
gh release create v1.0.0 --title "1.0.0" --notes "See CHANGELOG.md for details."
gh release create v1.0.0 --title "1.0.0" --notes "Release 1.0.0"
```

## Merging back to main
Expand All @@ -40,7 +39,7 @@ git checkout main
git merge release/1.0.0 --no-ff -m "Merge release/1.0.0 back to main"
```

Resolve the changelog conflict by keeping both the `[Unreleased]` section (with any new entries added to `main`) and the `[1.0.0]` section below it. Then delete the release branch:
Then delete the release branch:

```bash
git branch -d release/1.0.0
Expand Down
Loading