From 5f659e3b88cbf6010660a7dc7e25f136f3aaa98f Mon Sep 17 00:00:00 2001 From: Anam Hira Date: Fri, 26 Jun 2026 20:39:03 -0700 Subject: [PATCH 01/10] Add Revyl PR automation config --- .revyl/config.yaml | 22 ++++++++++++++++++++++ README.md | 2 +- 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 .revyl/config.yaml diff --git a/.revyl/config.yaml b/.revyl/config.yaml new file mode 100644 index 0000000..4870a42 --- /dev/null +++ b/.revyl/config.yaml @@ -0,0 +1,22 @@ +pr_review: + enabled: true + skip_drafts: true + path_filters: [] + label_filters: [] + actions: + preview_link: true + proof_of_changes: false + checks: [] + system_prompt: "" + workflows: [] + builds: + ios: + enabled: true + framework: native_ios + app: "SweepAlert Swift" + root_dir: apps/ios-sweep-alert + use_existing_ci: false + build_command: | + xcodebuild -project SweepAlertSwift.xcodeproj -scheme SweepAlertSwift -configuration Debug -sdk iphonesimulator -destination 'generic/platform=iOS Simulator' -derivedDataPath build + artifact_path: build/Build/Products/Debug-iphonesimulator/SweepAlertSwift.app + env: [] diff --git a/README.md b/README.md index c65f343..69263dc 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,7 @@ agent edits repo -> Revyl remote iOS build -> Revyl simulator validation -> patc ``` The agent does not need a full macOS sandbox. It needs this repo, Revyl credentials, and the commands in `AGENTS.md`. +GitHub PR previews are managed by the repo-level `.revyl/config.yaml`. ## Setup @@ -90,4 +91,3 @@ npm run ios:testflight ``` No private keys or production credentials should be committed. - From 3853b8e06739f972cfaa6c1a737dac9fc6a2fe32 Mon Sep 17 00:00:00 2001 From: Anam Hira Date: Fri, 26 Jun 2026 20:42:44 -0700 Subject: [PATCH 02/10] Enable Revyl proof of changes --- .revyl/config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.revyl/config.yaml b/.revyl/config.yaml index 4870a42..29495de 100644 --- a/.revyl/config.yaml +++ b/.revyl/config.yaml @@ -5,7 +5,7 @@ pr_review: label_filters: [] actions: preview_link: true - proof_of_changes: false + proof_of_changes: true checks: [] system_prompt: "" workflows: [] From e9e9d4fdb091d9099e7587b2f7e22dbeae223ba3 Mon Sep 17 00:00:00 2001 From: Anam Hira Date: Fri, 26 Jun 2026 21:36:00 -0700 Subject: [PATCH 03/10] Add Revyl PR automation smoke script --- package.json | 3 +- scripts/revyl-pr-automation-smoke.sh | 45 ++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 1 deletion(-) create mode 100755 scripts/revyl-pr-automation-smoke.sh diff --git a/package.json b/package.json index 9bfdf2b..e984cf9 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,8 @@ "scripts": { "convex:dev": "convex dev", "convex:deploy": "convex deploy", - "ios:testflight": "bash scripts/ios-testflight.sh" + "ios:testflight": "bash scripts/ios-testflight.sh", + "revyl:pr-smoke": "bash scripts/revyl-pr-automation-smoke.sh" }, "dependencies": { "convex": "^1.38.0" diff --git a/scripts/revyl-pr-automation-smoke.sh b/scripts/revyl-pr-automation-smoke.sh new file mode 100755 index 0000000..54ca11c --- /dev/null +++ b/scripts/revyl-pr-automation-smoke.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +BRANCH="${REVYL_SMOKE_BRANCH:-codex/revyl-pr-automation-smoke}" +REMOTE="${REVYL_SMOKE_REMOTE:-origin}" +TARGET_FILE="${REVYL_SMOKE_FILE:-docs/revyl-pr-automation-smoke.md}" +COMMIT_MESSAGE="${REVYL_SMOKE_COMMIT_MESSAGE:-Trigger Revyl PR automation smoke}" + +cd "$ROOT_DIR" + +current_branch="$(git branch --show-current)" +if [[ "$current_branch" != "$BRANCH" ]]; then + if git show-ref --verify --quiet "refs/heads/$BRANCH"; then + git switch "$BRANCH" + else + echo "Branch '$BRANCH' was not found locally." >&2 + echo "Create the PR branch first, or set REVYL_SMOKE_BRANCH to an existing branch." >&2 + exit 2 + fi +fi + +if [[ -n "$(git status --porcelain)" ]]; then + echo "Working tree has local changes. Commit or stash them before triggering the smoke commit." >&2 + git status --short >&2 + exit 2 +fi + +timestamp="$(date -u +"%Y-%m-%dT%H:%M:%SZ")" +mkdir -p "$(dirname "$TARGET_FILE")" + +cat >"$TARGET_FILE" < Date: Fri, 26 Jun 2026 21:36:10 -0700 Subject: [PATCH 04/10] Trigger Revyl PR automation smoke --- docs/revyl-pr-automation-smoke.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 docs/revyl-pr-automation-smoke.md diff --git a/docs/revyl-pr-automation-smoke.md b/docs/revyl-pr-automation-smoke.md new file mode 100644 index 0000000..a858076 --- /dev/null +++ b/docs/revyl-pr-automation-smoke.md @@ -0,0 +1,6 @@ +# Revyl PR Automation Smoke Trigger + +Last trigger: 2026-06-27T04:36:10Z + +This file is intentionally updated by `scripts/revyl-pr-automation-smoke.sh` +to create a tiny commit that re-runs Revyl GitHub PR automation. From 1f16a0e241df22eca5a9c26347294d2199aa89f9 Mon Sep 17 00:00:00 2001 From: Anam Hira Date: Fri, 26 Jun 2026 21:39:29 -0700 Subject: [PATCH 05/10] Make Revyl smoke trigger random hash only --- scripts/revyl-pr-automation-smoke.sh | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/scripts/revyl-pr-automation-smoke.sh b/scripts/revyl-pr-automation-smoke.sh index 54ca11c..cd4224b 100755 --- a/scripts/revyl-pr-automation-smoke.sh +++ b/scripts/revyl-pr-automation-smoke.sh @@ -26,20 +26,28 @@ if [[ -n "$(git status --porcelain)" ]]; then exit 2 fi -timestamp="$(date -u +"%Y-%m-%dT%H:%M:%SZ")" +if command -v openssl >/dev/null 2>&1; then + smoke_hash="$(openssl rand -hex 12)" +elif command -v uuidgen >/dev/null 2>&1; then + smoke_hash="$(uuidgen | tr '[:upper:]' '[:lower:]' | tr -d '-')" +else + smoke_hash="$(printf '%s-%s-%s' "$(date -u +"%Y-%m-%dT%H:%M:%SZ")" "$RANDOM" "$$" | git hash-object --stdin | cut -c1-24)" +fi + mkdir -p "$(dirname "$TARGET_FILE")" cat >"$TARGET_FILE" < Date: Fri, 26 Jun 2026 21:39:35 -0700 Subject: [PATCH 06/10] Trigger Revyl PR automation smoke --- docs/revyl-pr-automation-smoke.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/revyl-pr-automation-smoke.md b/docs/revyl-pr-automation-smoke.md index a858076..79e0be4 100644 --- a/docs/revyl-pr-automation-smoke.md +++ b/docs/revyl-pr-automation-smoke.md @@ -1,6 +1,7 @@ # Revyl PR Automation Smoke Trigger -Last trigger: 2026-06-27T04:36:10Z +Smoke hash: 8735a3855f0b06565cb92266 This file is intentionally updated by `scripts/revyl-pr-automation-smoke.sh` -to create a tiny commit that re-runs Revyl GitHub PR automation. +with a random hash to create a tiny commit that re-runs Revyl GitHub PR +automation. From 3e7b8cf0d07753787bca8ab3818f9ba496d73d82 Mon Sep 17 00:00:00 2001 From: Anam Hira Date: Fri, 26 Jun 2026 22:03:33 -0700 Subject: [PATCH 07/10] Trigger Revyl PR automation smoke --- docs/revyl-pr-automation-smoke.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/revyl-pr-automation-smoke.md b/docs/revyl-pr-automation-smoke.md index 79e0be4..af72503 100644 --- a/docs/revyl-pr-automation-smoke.md +++ b/docs/revyl-pr-automation-smoke.md @@ -1,6 +1,6 @@ # Revyl PR Automation Smoke Trigger -Smoke hash: 8735a3855f0b06565cb92266 +Smoke hash: b11caa893cd24473fafcb2b5 This file is intentionally updated by `scripts/revyl-pr-automation-smoke.sh` with a random hash to create a tiny commit that re-runs Revyl GitHub PR From 089667a700942b51fa1f859b96506d857d827556 Mon Sep 17 00:00:00 2001 From: Anam Hira Date: Fri, 26 Jun 2026 23:49:38 -0700 Subject: [PATCH 08/10] Trigger Revyl PR automation smoke --- docs/revyl-pr-automation-smoke.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/revyl-pr-automation-smoke.md b/docs/revyl-pr-automation-smoke.md index af72503..30343a0 100644 --- a/docs/revyl-pr-automation-smoke.md +++ b/docs/revyl-pr-automation-smoke.md @@ -1,6 +1,6 @@ # Revyl PR Automation Smoke Trigger -Smoke hash: b11caa893cd24473fafcb2b5 +Smoke hash: d7fe9e48e9195094808bacac This file is intentionally updated by `scripts/revyl-pr-automation-smoke.sh` with a random hash to create a tiny commit that re-runs Revyl GitHub PR From a3c6b8ada2cdb7da975cf215ed7d72b69f69b26e Mon Sep 17 00:00:00 2001 From: Anam Hira Date: Sat, 27 Jun 2026 00:00:50 -0700 Subject: [PATCH 09/10] Trigger Revyl PR automation smoke --- docs/revyl-pr-automation-smoke.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/revyl-pr-automation-smoke.md b/docs/revyl-pr-automation-smoke.md index 30343a0..3502e7a 100644 --- a/docs/revyl-pr-automation-smoke.md +++ b/docs/revyl-pr-automation-smoke.md @@ -1,6 +1,6 @@ # Revyl PR Automation Smoke Trigger -Smoke hash: d7fe9e48e9195094808bacac +Smoke hash: 4b6d81cc0c8a6bdf1d6bb0f0 This file is intentionally updated by `scripts/revyl-pr-automation-smoke.sh` with a random hash to create a tiny commit that re-runs Revyl GitHub PR From daf0ef2becdea30daf337ec61693a91c5b2f8411 Mon Sep 17 00:00:00 2001 From: Anam Hira Date: Sat, 27 Jun 2026 00:06:58 -0700 Subject: [PATCH 10/10] Trigger Revyl PR automation smoke --- docs/revyl-pr-automation-smoke.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/revyl-pr-automation-smoke.md b/docs/revyl-pr-automation-smoke.md index 3502e7a..5136f62 100644 --- a/docs/revyl-pr-automation-smoke.md +++ b/docs/revyl-pr-automation-smoke.md @@ -1,6 +1,6 @@ # Revyl PR Automation Smoke Trigger -Smoke hash: 4b6d81cc0c8a6bdf1d6bb0f0 +Smoke hash: 14b3dac5237791aaa0bf6d71 This file is intentionally updated by `scripts/revyl-pr-automation-smoke.sh` with a random hash to create a tiny commit that re-runs Revyl GitHub PR