Skip to content

Commit fba8919

Browse files
committed
Sync main commits back to dev
1 parent d5874b6 commit fba8919

File tree

2 files changed

+74
-4
lines changed

2 files changed

+74
-4
lines changed
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: Sync Main to Dev
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
jobs:
9+
sync-commits:
10+
runs-on: ubuntu-latest
11+
permissions:
12+
contents: write
13+
14+
steps:
15+
- name: Checkout repository
16+
uses: actions/checkout@v4
17+
with:
18+
fetch-depth: 0
19+
token: ${{ secrets.GITHUB_TOKEN }}
20+
21+
- name: Configure Git
22+
run: |
23+
git config user.name "github-actions[bot]"
24+
git config user.email "github-actions[bot]@users.noreply.github.com"
25+
26+
- name: Sync main commits to dev
27+
run: |
28+
# Fetch all branches
29+
git fetch origin main:main
30+
git fetch origin dev:dev
31+
32+
# Switch to dev branch
33+
git checkout dev
34+
35+
# Find commits on main that are not on dev
36+
COMMITS_TO_CHERRY_PICK=$(git rev-list --reverse main ^dev)
37+
38+
if [ -z "$COMMITS_TO_CHERRY_PICK" ]; then
39+
echo "No commits to sync from main to dev"
40+
exit 0
41+
fi
42+
43+
echo "Found commits to cherry-pick:"
44+
echo "$COMMITS_TO_CHERRY_PICK"
45+
46+
# Cherry-pick each commit
47+
SUCCESS=true
48+
for COMMIT in $COMMITS_TO_CHERRY_PICK; do
49+
echo "Cherry-picking commit: $COMMIT"
50+
if ! git cherry-pick $COMMIT; then
51+
echo "Cherry-pick failed for commit $COMMIT"
52+
# Try to continue with --allow-empty in case it's already applied
53+
if ! git cherry-pick --continue --allow-empty 2>/dev/null; then
54+
echo "Failed to cherry-pick $COMMIT, aborting"
55+
git cherry-pick --abort
56+
SUCCESS=false
57+
break
58+
fi
59+
fi
60+
done
61+
62+
if [ "$SUCCESS" = true ]; then
63+
# Push changes to dev
64+
git push origin dev
65+
echo "Successfully synced commits from main to dev"
66+
else
67+
echo "Failed to sync some commits"
68+
exit 1
69+
fi

apps/backend/src/lib/config.tsx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
import { Prisma } from "@prisma/client";
2-
import { normalize, override } from "@stackframe/stack-shared/dist/config/format";
3-
import { BranchConfigOverride, BranchConfigOverrideOverride, BranchRenderedConfig, CompleteConfig, EnvironmentConfigOverride, EnvironmentConfigOverrideOverride, EnvironmentRenderedConfig, OrganizationConfigOverride, ProjectConfigOverride, ProjectConfigOverrideOverride, ProjectRenderedConfig, applyBranchDefaults, applyEnvironmentDefaults, applyOrganizationDefaults, applyProjectDefaults, assertNoConfigOverrideErrors, branchConfigSchema, environmentConfigSchema, migrateConfigOverride, organizationConfigSchema, projectConfigSchema, sanitizeBranchConfig, sanitizeEnvironmentConfig, sanitizeOrganizationConfig, sanitizeProjectConfig } from "@stackframe/stack-shared/dist/config/schema";
2+
import { Config, getInvalidConfigReason, normalize, override } from "@stackframe/stack-shared/dist/config/format";
3+
import { BranchConfigOverride, BranchConfigOverrideOverride, BranchIncompleteConfig, BranchRenderedConfig, CompleteConfig, EnvironmentConfigOverride, EnvironmentConfigOverrideOverride, EnvironmentIncompleteConfig, EnvironmentRenderedConfig, OrganizationConfigOverride, OrganizationConfigOverrideOverride, OrganizationIncompleteConfig, ProjectConfigOverride, ProjectConfigOverrideOverride, ProjectIncompleteConfig, ProjectRenderedConfig, applyBranchDefaults, applyEnvironmentDefaults, applyOrganizationDefaults, applyProjectDefaults, assertNoConfigOverrideErrors, branchConfigSchema, environmentConfigSchema, getConfigOverrideErrors, getIncompleteConfigWarnings, migrateConfigOverride, organizationConfigSchema, projectConfigSchema, sanitizeBranchConfig, sanitizeEnvironmentConfig, sanitizeOrganizationConfig, sanitizeProjectConfig } from "@stackframe/stack-shared/dist/config/schema";
44
import { ProjectsCrud } from "@stackframe/stack-shared/dist/interface/crud/projects";
5-
import { yupMixed, yupObject } from "@stackframe/stack-shared/dist/schema-fields";
5+
import { yupBoolean, yupMixed, yupObject, yupRecord, yupString, yupUnion } from "@stackframe/stack-shared/dist/schema-fields";
66
import { isTruthy } from "@stackframe/stack-shared/dist/utils/booleans";
7-
import { StackAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
7+
import { StackAssertionError, captureError } from "@stackframe/stack-shared/dist/utils/errors";
88
import { filterUndefined, typedEntries } from "@stackframe/stack-shared/dist/utils/objects";
99
import { Result } from "@stackframe/stack-shared/dist/utils/results";
1010
import { deindent, stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
11+
import * as yup from "yup";
1112
import { RawQuery, globalPrismaClient, rawQuery } from "../prisma-client";
1213
import { listPermissionDefinitionsFromConfig } from "./permissions";
1314
import { DEFAULT_BRANCH_ID } from "./tenancies";

0 commit comments

Comments
 (0)