this repo has no description
1name: 'Remanso Publish'
2description: 'Publish your .pub.md notes to ATProtocol using Remanso CLI'
3branding:
4 icon: 'upload-cloud'
5 color: 'green'
6
7inputs:
8 identifier:
9 description: 'ATProto handle or DID (e.g. yourname.bsky.social)'
10 required: true
11 app-password:
12 description: 'ATProto app password'
13 required: true
14 pds-url:
15 description: 'PDS URL (defaults to https://bsky.social)'
16 required: false
17 default: 'https://bsky.social'
18 force:
19 description: 'Force publish all notes, ignoring change detection'
20 required: false
21 default: 'false'
22 commit-back:
23 description: 'Commit updated frontmatter back to the repo'
24 required: false
25 default: 'true'
26 working-directory:
27 description: 'Directory containing remanso.json (defaults to repo root)'
28 required: false
29 default: '.'
30
31runs:
32 using: 'composite'
33 steps:
34 - name: Install remanso CLI
35 shell: bash
36 run: npm install -g remanso-cli
37
38 - name: Sync state from ATProtocol
39 shell: bash
40 working-directory: ${{ inputs.working-directory }}
41 env:
42 ATP_IDENTIFIER: ${{ inputs.identifier }}
43 ATP_APP_PASSWORD: ${{ inputs.app-password }}
44 PDS_URL: ${{ inputs.pds-url }}
45 run: remanso sync
46
47 - name: Publish
48 shell: bash
49 working-directory: ${{ inputs.working-directory }}
50 env:
51 ATP_IDENTIFIER: ${{ inputs.identifier }}
52 ATP_APP_PASSWORD: ${{ inputs.app-password }}
53 PDS_URL: ${{ inputs.pds-url }}
54 run: |
55 FLAGS=""
56 if [ "${{ inputs.force }}" = "true" ]; then
57 FLAGS="--force"
58 fi
59 remanso publish $FLAGS
60
61 - name: Commit back changes
62 if: inputs.commit-back == 'true'
63 shell: bash
64 working-directory: ${{ inputs.working-directory }}
65 run: |
66 git config user.name "$(git log -1 --format='%an')"
67 git config user.email "$(git log -1 --format='%ae')"
68 git add -A -- '**/*.pub.md' || true
69 if git diff --cached --quiet; then
70 echo "No changes to commit"
71 else
72 git commit -m "chore: update remanso state [skip ci]"
73 git push
74 fi