@@ -7,7 +7,7 @@ import { sepolia, foundry } from "viem/chains";
77import { importAbi } from "@/importAbi.js" ;
88import packageJson from "../package.json" with { type : "json" } ;
99import { exit } from "node:process" ;
10- import { existsSync , mkdirSync , writeFileSync } from "node:fs" ;
10+ import { existsSync , mkdirSync , readFileSync , writeFileSync } from "node:fs" ;
1111import { dirname } from "node:path" ;
1212import { b64urlToHex , jwtKid , parseJwt } from "./oidc.js" ;
1313
@@ -16,35 +16,8 @@ const COMMAND_DESCRIPTION = "FCF CLI tool."
1616const VERSION = packageJson ?. version || "v0.0.1" ;
1717const GITHUB_ISSUER = "https://token.actions.githubusercontent.com" ;
1818const REGISTER_WORKFLOW_PATH = ".github/workflows/fcf-register.yml" ;
19+ const REGISTER_WORKFLOW_TEMPLATE_PATH = new URL ( "../templates/fcf-register.yml" , import . meta. url ) ;
1920const DEFAULT_LIST_BLOCK_RANGE = 50_000n ;
20- const REGISTER_WORKFLOW = `name: Register Repository
21-
22- on:
23- workflow_dispatch:
24-
25- permissions:
26- contents: read
27- id-token: write
28-
29- jobs:
30- register:
31- runs-on: ubuntu-latest
32- steps:
33- - uses: actions/checkout@v6
34-
35- - uses: actions/setup-node@v6
36- with:
37- node-version: 24
38-
39- - name: Register repository
40- env:
41- PRIVATE_KEY: \${{ secrets.FCF_PRIVATE_KEY }}
42- RPC_URL: \${{ vars.FCF_RPC_URL }}
43- FCF_CONTRACT: \${{ vars.FCF_CONTRACT }}
44- run: |
45- npm exec --yes --package=@freecodexyz/cli@alpha -- fcf register \\
46- --contract "$FCF_CONTRACT"
47- ` ;
4821
4922function die ( err : any ) : never {
5023 let error = "unknown error" ;
@@ -116,8 +89,15 @@ program
11689 die ( new Error ( `${ REGISTER_WORKFLOW_PATH } already exists` ) ) ;
11790 }
11891
92+ let registerWorkflow : string ;
93+ try {
94+ registerWorkflow = readFileSync ( REGISTER_WORKFLOW_TEMPLATE_PATH , "utf8" ) ;
95+ } catch ( err ) {
96+ die ( err ) ;
97+ }
98+
11999 mkdirSync ( dirname ( REGISTER_WORKFLOW_PATH ) , { recursive : true } ) ;
120- writeFileSync ( REGISTER_WORKFLOW_PATH , REGISTER_WORKFLOW ) ;
100+ writeFileSync ( REGISTER_WORKFLOW_PATH , registerWorkflow ) ;
121101 console . log ( `created: ${ REGISTER_WORKFLOW_PATH } ` ) ;
122102 } ) ;
123103
0 commit comments