Skip to content

Commit d1d930d

Browse files
committed
feat: add manager update reminder
1 parent 324f7ec commit d1d930d

15 files changed

Lines changed: 1290 additions & 11 deletions

File tree

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
name: Update release feed
2+
3+
on:
4+
release:
5+
types: [published]
6+
workflow_dispatch:
7+
inputs:
8+
tag:
9+
description: "Release tag, for example v1.3.2"
10+
required: true
11+
type: string
12+
published_at:
13+
description: "Optional ISO-8601 published time. Defaults to the current UTC time."
14+
required: false
15+
type: string
16+
17+
permissions:
18+
contents: write
19+
20+
jobs:
21+
update-release-feed:
22+
runs-on: ubuntu-latest
23+
if: ${{ github.event_name != 'release' || github.event.release.prerelease == false }}
24+
steps:
25+
- name: Checkout default branch
26+
uses: actions/checkout@v4
27+
with:
28+
ref: main
29+
30+
- name: Update latest release feed
31+
env:
32+
RELEASE_TAG: ${{ github.event.release.tag_name || inputs.tag }}
33+
RELEASE_NAME: ${{ github.event.release.name }}
34+
RELEASE_URL: ${{ github.event.release.html_url }}
35+
REPOSITORY: ${{ github.repository }}
36+
PUBLISHED_AT: ${{ github.event.release.published_at || inputs.published_at }}
37+
run: |
38+
version="${RELEASE_TAG#v}"
39+
version="${version#V}"
40+
release_name="$RELEASE_NAME"
41+
if [ -z "$release_name" ]; then
42+
release_name="CodexPilot $RELEASE_TAG"
43+
fi
44+
release_url="$RELEASE_URL"
45+
if [ -z "$release_url" ]; then
46+
release_url="https://github.com/$REPOSITORY/releases/tag/$RELEASE_TAG"
47+
fi
48+
published_at="$PUBLISHED_AT"
49+
if [ -z "$published_at" ]; then
50+
published_at="$(date -u +"%Y-%m-%dT%H:%M:%SZ")"
51+
fi
52+
53+
mkdir -p docs/update
54+
jq -n \
55+
--arg latestTag "$RELEASE_TAG" \
56+
--arg latestVersion "$version" \
57+
--arg releaseUrl "$release_url" \
58+
--arg releaseName "$release_name" \
59+
--arg publishedAt "$published_at" \
60+
'{
61+
latestTag: $latestTag,
62+
latestVersion: $latestVersion,
63+
releaseUrl: $releaseUrl,
64+
releaseName: $releaseName,
65+
publishedAt: $publishedAt
66+
}' > docs/update/latest.json
67+
68+
- name: Commit release feed
69+
run: |
70+
if git diff --quiet -- docs/update/latest.json; then
71+
echo "Release feed is already up to date."
72+
exit 0
73+
fi
74+
75+
git config user.name "github-actions[bot]"
76+
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
77+
git add docs/update/latest.json
78+
git commit -m "docs: update release feed"
79+
git push

apps/codex-pilot-manager/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"dev": "tauri dev",
88
"build": "tauri build",
99
"check": "tsc --noEmit -p tsconfig.json && node ../../scripts/check-manager-theme-colors.mjs",
10-
"test": "tsc src/autoLaunch.ts src/autoLaunch.test.ts --module NodeNext --moduleResolution NodeNext --target ES2020 --outDir ../../target/manager-tests --skipLibCheck && node ../../target/manager-tests/autoLaunch.test.js",
10+
"test": "tsc src/autoLaunch.ts src/autoLaunch.test.ts src/updateReminder.ts src/updateReminder.test.ts src/types.ts --module NodeNext --moduleResolution NodeNext --target ES2020 --outDir ../../target/manager-tests --skipLibCheck && node ../../target/manager-tests/autoLaunch.test.js && node ../../target/manager-tests/updateReminder.test.js",
1111
"tauri": "tauri",
1212
"vite:dev": "vite --host 127.0.0.1 --port 1420",
1313
"preview:ui": "vite --host 127.0.0.1 --port 1420 --mode ui-preview",

apps/codex-pilot-manager/src-tauri/src/commands/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ pub(crate) mod launch;
44
pub(crate) mod launch_helpers;
55
pub(crate) mod session_sync;
66
pub(crate) mod sessions;
7+
pub(crate) mod update;

0 commit comments

Comments
 (0)