diff --git a/.github/actions/pnpm-install/action.yml b/.github/actions/pnpm-install/action.yml index 17996f5..6a6dff1 100644 --- a/.github/actions/pnpm-install/action.yml +++ b/.github/actions/pnpm-install/action.yml @@ -1,5 +1,9 @@ name: "pnpm install" description: "Run pnpm install with cache enabled" +inputs: + path: + description: "Path to the directory containing the pnpm workspace" + default: "." runs: using: "composite" steps: @@ -13,6 +17,7 @@ runs: name: Install pnpm with: run_install: false + package_json_file: ${{ inputs.path }}/package.json - name: Expose pnpm config(s) through "$GITHUB_OUTPUT" id: pnpm-config @@ -40,3 +45,4 @@ runs: pnpm install --frozen-lockfile --prefer-offline --loglevel error env: HUSKY: "0" + working-directory: ${{ inputs.path }} diff --git a/.github/workflows/push-docs.yml b/.github/workflows/push-docs.yml index 7d1e369..06c3828 100644 --- a/.github/workflows/push-docs.yml +++ b/.github/workflows/push-docs.yml @@ -6,8 +6,12 @@ on: - main paths: - "docs/**" + - "docs.json" workflow_dispatch: +env: + SOURCE_PATH: cli + jobs: synchronize: runs-on: ubuntu-latest @@ -15,25 +19,19 @@ jobs: - name: Checkout cli uses: actions/checkout@v6 with: - path: cli + path: ${{ env.SOURCE_PATH }} - - name: Checkout docs - uses: actions/checkout@v6 + - name: pnpm install + uses: ./cli/.github/actions/pnpm-install with: - path: docs - repository: nanoforge-dev/docs - token: ${{ secrets.ACTIONS_KEY }} - - - name: setup git - run: | - git config --global user.name "github-actions[bot]" - git config --global user.email "username@users.noreply.github.com" + path: ${{ env.SOURCE_PATH }} - name: synchronize docs - run: | - mkdir -p docs/docs/cli - cp cli/docs/. -r docs/docs/cli - cd docs - git add . - git commit -m "chore(cli): updating docs" - git push origin main + uses: ./cli/node_modules/@nanoforge-dev/actions/src/synchronize-docs + with: + source-docs: ${{ env.SOURCE_PATH }}/docs + destination-docs: docs/schematics + repository: nanoforge-dev/docs + config: ${{ env.SOURCE_PATH }}/docs.json + token: ${{ secrets.ACTIONS_KEY }} + commit-message: "chore(cli): synchronize docs" diff --git a/docs.json b/docs.json new file mode 100644 index 0000000..e442b22 --- /dev/null +++ b/docs.json @@ -0,0 +1,4 @@ +{ + "group": "CLI", + "pages": ["docs/cli/index", "docs/cli/usage"] +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fbe4140..a0a670c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -23,8 +23,8 @@ catalogs: specifier: ^6.1.0 version: 6.1.0 '@nanoforge-dev/actions': - specifier: ^1.3.0 - version: 1.3.0 + specifier: ^1.4.2 + version: 1.4.2 husky: specifier: ^9.1.7 version: 9.1.7 @@ -190,7 +190,7 @@ importers: version: 6.1.0 '@nanoforge-dev/actions': specifier: catalog:ci - version: 1.3.0 + version: 1.4.2 '@nanoforge-dev/utils-eslint-config': specifier: catalog:lint version: 1.0.2(@types/eslint@9.6.1)(eslint@10.2.1(jiti@2.6.1))(prettier@3.8.3)(typescript@6.0.3) @@ -784,8 +784,8 @@ packages: '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} - '@nanoforge-dev/actions@1.3.0': - resolution: {integrity: sha512-EmArilxSOkmpdBnNhuyIfsXxRNeRugA9LyEp5VRj7n+dhG95UEahgSJll/lautjtYQPX6Dh5ETWwqjjRDclreQ==} + '@nanoforge-dev/actions@1.4.2': + resolution: {integrity: sha512-7oUAcsNLxGDjLIzYe2z57qPS/OkOFBf8jKPF0Xn1lC5fZzpej7U+x3TG2J3JsmmX4ar1D5QYRkRgR4E9wD9VNw==} engines: {node: '25'} '@nanoforge-dev/editor@file:../editor': @@ -3494,7 +3494,7 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 - '@nanoforge-dev/actions@1.3.0': + '@nanoforge-dev/actions@1.4.2': dependencies: '@actions/core': 3.0.1 '@actions/github': 9.1.1 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 154eda1..b37c335 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -6,7 +6,7 @@ catalogs: '@commitlint/cli': ^20.5.0 '@commitlint/config-conventional': ^20.5.0 '@favware/cliff-jumper': ^6.1.0 - '@nanoforge-dev/actions': ^1.3.0 + '@nanoforge-dev/actions': ^1.4.2 husky: ^9.1.7 lint-staged: ^16.4.0 cli: