name: 'Setup' description: 'Initialize cache, env var load' inputs: cache-suffix: description: 'Suffix to make Nx cache key unique per job (e.g. matrix project name)' required: false default: 'default' full-setup: description: 'Run git-latest-tag, npm-tag, and before-install (requires fetch-depth: 0). Set to false for matrix jobs that only need node/cache.' required: false type: boolean default: 'true' act: description: 'enable act debug' required: false type: boolean default: 'false' outputs: npm-tag: description: 'NPM tag' value: ${{ steps.set-npm-tag.outputs.npm-tag }} runs: using: "composite" steps: - name: Set consistent machine ID for Nx cache shell: bash run: echo "nx-github-actions" | sudo tee /etc/machine-id > /dev/null - name: Setup pnpm uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9 - name: Setup Node uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version-file: '.nvmrc' cache: 'pnpm' - name: get latest tag sha if: ${{ inputs.full-setup == 'true' }} id: tag-sha uses: Alfresco/alfresco-build-tools/.github/actions/git-latest-tag@10cea6c0b390c4f8af21d9dc1670d581bd10319f # v18.13.0 - name: load "NPM TAG" if: ${{ inputs.full-setup == 'true' }} id: set-npm-tag uses: ./.github/actions/set-npm-tag - name: Install dependencies shell: bash run: pnpm install --frozen-lockfile - name: Security audit shell: bash run: pnpm audit --audit-level=critical - name: Restore nx cache uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: path: | nxcache .nx dist key: ${{ runner.os }}-nxcache-${{ inputs.cache-suffix }}-${{ hashFiles('nx.json') }}-${{ github.sha }} restore-keys: | ${{ runner.os }}-nxcache-${{ inputs.cache-suffix }}-${{ hashFiles('nx.json') }}- ${{ runner.os }}-nxcache-${{ inputs.cache-suffix }}- - name: before install script if: ${{ inputs.full-setup == 'true' }} uses: ./.github/actions/before-install with: act: ${{ inputs.act }}