Update docs, changelog, examples, and add ADRs for v1.2
- Add v1.1.0 and v1.2.0 changelog entries - Add exclude field to config reference and example config - Add ADRs documenting all major design decisions - Fix step numbering in reverse_sync() - Fix action.yml to copy VERSION file - Add dist/ and .env to .gitignore - Use refs/tags/ format for Nix flake tag refs Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -5,12 +5,12 @@
|
||||
# In devenv.yaml:
|
||||
# inputs:
|
||||
# josh-sync:
|
||||
# url: github:org/josh-sync/v1.0.0
|
||||
# url: git+https://your-gitea.example.com/org/josh-sync?ref=refs/tags/v1.2
|
||||
# flake: true
|
||||
#
|
||||
# Or in flake.nix:
|
||||
# inputs.josh-sync = {
|
||||
# url = "github:org/josh-sync/v1.0.0";
|
||||
# url = "git+https://your-gitea.example.com/org/josh-sync?ref=refs/tags/v1.2";
|
||||
# inputs.nixpkgs.follows = "nixpkgs";
|
||||
# };
|
||||
|
||||
@@ -21,14 +21,16 @@
|
||||
|
||||
# josh-sync CLI is now available in the shell.
|
||||
# Commands:
|
||||
# josh-sync sync --forward Forward sync (mono → subrepo)
|
||||
# josh-sync sync --reverse Reverse sync (subrepo → mono)
|
||||
# josh-sync preflight Validate config and connectivity
|
||||
# josh-sync import <target> Initial import from subrepo
|
||||
# josh-sync reset <target> Reset subrepo to josh-filtered view
|
||||
# josh-sync status Show target config and sync state
|
||||
# josh-sync state show <t> [b] Show state JSON
|
||||
# josh-sync state reset <t> [b] Reset state
|
||||
# josh-sync sync --forward Forward sync (mono → subrepo)
|
||||
# josh-sync sync --reverse Reverse sync (subrepo → mono)
|
||||
# josh-sync preflight Validate config and connectivity
|
||||
# josh-sync import <target> Initial import from subrepo
|
||||
# josh-sync reset <target> Reset subrepo to josh-filtered view
|
||||
# josh-sync onboard <target> Interactive import + reset workflow
|
||||
# josh-sync migrate-pr <target> Migrate PRs from archived repo
|
||||
# josh-sync status Show target config and sync state
|
||||
# josh-sync state show <t> [b] Show state JSON
|
||||
# josh-sync state reset <t> [b] Reset state
|
||||
|
||||
enterShell = ''
|
||||
echo "Josh Sync available — run 'josh-sync --help' for commands"
|
||||
|
||||
@@ -62,7 +62,7 @@ jobs:
|
||||
done | sort -u | paste -sd ',' -)
|
||||
echo "targets=${TARGETS}" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- uses: https://your-gitea.example.com/org/josh-sync@v1
|
||||
- uses: https://your-gitea.example.com/org/josh-sync@v1.2
|
||||
with:
|
||||
direction: forward
|
||||
target: ${{ github.event.inputs.target || steps.detect.outputs.targets }}
|
||||
|
||||
@@ -10,17 +10,19 @@ josh:
|
||||
targets:
|
||||
- name: "billing"
|
||||
subfolder: "services/billing"
|
||||
josh_filter: ":/services/billing"
|
||||
# josh_filter auto-derived as ":/services/billing" if omitted
|
||||
subrepo_url: "https://gitea.example.com/ext/billing.git"
|
||||
subrepo_auth: "https"
|
||||
branches:
|
||||
main: main
|
||||
develop: develop
|
||||
forward_only: []
|
||||
exclude: # files excluded from subrepo (optional)
|
||||
- ".monorepo/" # directory at subfolder root
|
||||
- "**/internal/" # directory at any depth
|
||||
|
||||
- name: "auth"
|
||||
subfolder: "services/auth"
|
||||
josh_filter: ":/services/auth"
|
||||
subrepo_url: "git@gitea.example.com:ext/auth.git"
|
||||
subrepo_auth: "ssh"
|
||||
# Per-target credential override (reads from $AUTH_SSH_KEY instead of $SUBREPO_SSH_KEY)
|
||||
@@ -31,7 +33,6 @@ targets:
|
||||
|
||||
- name: "shared-lib"
|
||||
subfolder: "libs/shared"
|
||||
josh_filter: ":/libs/shared"
|
||||
subrepo_url: "https://gitea.example.com/ext/shared-lib.git"
|
||||
branches:
|
||||
main: main
|
||||
|
||||
@@ -10,7 +10,7 @@ name: "Josh Sync ← Subrepo"
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 1,7,13,19 * * *" # Every 6h, offset from forward
|
||||
- cron: "0 1,7,13,19 * * *" # Every 6h, offset from forward
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
target:
|
||||
@@ -40,7 +40,7 @@ jobs:
|
||||
curl -sL "https://github.com/mikefarah/yq/releases/download/v4.44.6/yq_linux_amd64" \
|
||||
-o /usr/local/bin/yq && chmod +x /usr/local/bin/yq
|
||||
|
||||
- uses: https://your-gitea.example.com/org/josh-sync@v1
|
||||
- uses: https://your-gitea.example.com/org/josh-sync@v1.2
|
||||
with:
|
||||
direction: reverse
|
||||
target: ${{ github.event.inputs.target || '' }}
|
||||
|
||||
Reference in New Issue
Block a user