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@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 - name: Setup Node uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.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@98bcfbe06aafffdc0e9a790f352602316f82303b # v18.23.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 }}