From 91f28c5ae4671d60d74e3151250505e2ce7f1c57 Mon Sep 17 00:00:00 2001 From: Rinat Arsaev <11846445+A77AY@users.noreply.github.com> Date: Wed, 26 Mar 2025 18:38:17 +0700 Subject: [PATCH 01/12] npm-install-force --- setup/action.yml | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/setup/action.yml b/setup/action.yml index 7b09a0d..92bc241 100644 --- a/setup/action.yml +++ b/setup/action.yml @@ -1,18 +1,30 @@ name: "Setup NodeJS" -description: "Setup NodeJS" +description: "Setup NodeJS & install dependencies" inputs: node-version: description: "NodeJS version" - default: "20" + default: "lts/*" + required: false + npm-install-force: + description: "Force npm install" + default: "false" required: false runs: using: composite steps: - name: Setup NodeJS - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: ${{ inputs.node-version }} cache: "npm" registry-url: "https://registry.npmjs.org" + - name: Install dependencies + run: | + if [ "${{ inputs.npm-install-force }}" = "true" ]; then + npm ci --force + else + npm ci + fi + shell: bash From e27bda938e2ed817c8234d68ecd2e49ebd212cfd Mon Sep 17 00:00:00 2001 From: Rinat Arsaev <11846445+A77AY@users.noreply.github.com> Date: Wed, 26 Mar 2025 18:57:03 +0700 Subject: [PATCH 02/12] new publish --- publish/action.yml | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/publish/action.yml b/publish/action.yml index e7b1e69..c78d5ad 100644 --- a/publish/action.yml +++ b/publish/action.yml @@ -9,10 +9,18 @@ inputs: description: Version up default: "true" required: false + version-tag: + description: Version tag + default: "pr" + required: false directory: description: Directory default: "./" required: false + label: + description: Package label + default: "" + required: false runs: using: composite @@ -25,9 +33,15 @@ runs: env: NODE_AUTH_TOKEN: ${{ inputs.npm-token }} - name: Publish NPM (version up) - if: inputs.version-up == 'true' + if: > + inputs.version-up == 'true' + && (contains(env.LABELS, 'publish') || (inputs.label != '' && contains(env.LABELS, 'publish ' + inputs.label))) working-directory: ${{ inputs.directory }} - run: npm publish || (npm version prerelease --preid ${GITHUB_SHA::7} --no-git-tag-version && npm publish) + run: > + npm version prerelease --preid ${{ inputs.version-tag }}-${{ github.event.number }}-${{ env.SHORT_SHA }} --no-git-tag-version + && npm publish --tag ${{ inputs.version-tag }} shell: bash env: NODE_AUTH_TOKEN: ${{ inputs.npm-token }} + SHORT_SHA: $(echo "${{ github.event.pull_request.head.sha }}" | cut -c1-7) + LABELS: ${{ github.event.pull_request.labels.*.name }} From 987f8ea769670d5d595da5d67b50c5757266fa31 Mon Sep 17 00:00:00 2001 From: Rinat Arsaev <11846445+A77AY@users.noreply.github.com> Date: Wed, 26 Mar 2025 19:05:19 +0700 Subject: [PATCH 03/12] Add npm-not-ci input to action and enhance install command logic --- setup/action.yml | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/setup/action.yml b/setup/action.yml index 92bc241..26b5625 100644 --- a/setup/action.yml +++ b/setup/action.yml @@ -6,6 +6,10 @@ inputs: description: "NodeJS version" default: "lts/*" required: false + npm-not-ci: + description: "Run npm not ci" + default: "false" + required: false npm-install-force: description: "Force npm install" default: "false" @@ -22,9 +26,16 @@ runs: registry-url: "https://registry.npmjs.org" - name: Install dependencies run: | - if [ "${{ inputs.npm-install-force }}" = "true" ]; then - npm ci --force + CMD="npm" + if [ "${{ inputs.npm-not-ci }}" = "true" ]; then + CMD="${CMD} install" else - npm ci + CMD="${CMD} ci" fi + + if [ "${{ inputs.npm-install-force }}" = "true" ]; then + CMD="${CMD} --force" + fi + + ${CMD} shell: bash From 567ac729ca96d8c68a75417fa0b2e28790c3a603 Mon Sep 17 00:00:00 2001 From: Rinat Arsaev <11846445+A77AY@users.noreply.github.com> Date: Thu, 27 Mar 2025 01:29:34 +0700 Subject: [PATCH 04/12] version-not-up --- publish/action.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/publish/action.yml b/publish/action.yml index c78d5ad..7835354 100644 --- a/publish/action.yml +++ b/publish/action.yml @@ -5,9 +5,9 @@ inputs: npm-token: description: The NPM access token to use when publishing required: true - version-up: - description: Version up - default: "true" + version-not-up: + description: Version not up + default: "false" required: false version-tag: description: Version tag @@ -26,7 +26,7 @@ runs: using: composite steps: - name: Publish NPM - if: inputs.version-up == 'false' + if: inputs.version-not-up == 'true' working-directory: ${{ inputs.directory }} run: npm publish shell: bash @@ -34,7 +34,7 @@ runs: NODE_AUTH_TOKEN: ${{ inputs.npm-token }} - name: Publish NPM (version up) if: > - inputs.version-up == 'true' + inputs.version-not-up == 'false' && (contains(env.LABELS, 'publish') || (inputs.label != '' && contains(env.LABELS, 'publish ' + inputs.label))) working-directory: ${{ inputs.directory }} run: > From a9b8e0aaa4097d19f3505388a756ec7781743f3e Mon Sep 17 00:00:00 2001 From: Rinat Arsaev <11846445+A77AY@users.noreply.github.com> Date: Thu, 27 Mar 2025 03:22:54 +0700 Subject: [PATCH 05/12] upd publish --- publish/action.yml | 41 +++++++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/publish/action.yml b/publish/action.yml index 7835354..4e77009 100644 --- a/publish/action.yml +++ b/publish/action.yml @@ -5,43 +5,52 @@ inputs: npm-token: description: The NPM access token to use when publishing required: true - version-not-up: + npm-skip-version-up: description: Version not up default: "false" required: false - version-tag: + npm-version-tag: description: Version tag - default: "pr" + default: "" required: false directory: description: Directory default: "./" required: false - label: - description: Package label + pr-label: + description: PR label for publish (publish {label}) default: "" required: false + pr-only-labeled: + description: Only publish if the PR is labeled + default: "false" + required: false runs: using: composite steps: - - name: Publish NPM - if: inputs.version-not-up == 'true' + - name: Package version up + if: inputs.npm-skip-version-up == 'false' working-directory: ${{ inputs.directory }} - run: npm publish + run: | + PREFIX="" + if [ "${{ inputs.npm-version-tag }}" != "" ]; then + PREFIX="${{ inputs.npm-version-tag }}-${{ github.event.number }}-" + fi + SHA=$(echo "${{ github.event.pull_request.head.sha }}" | cut -c1-7) + npm version prerelease --preid "${PREFIX}${SHA}" --no-git-tag-version shell: bash env: NODE_AUTH_TOKEN: ${{ inputs.npm-token }} - - name: Publish NPM (version up) + - name: Publish if: > - inputs.version-not-up == 'false' - && (contains(env.LABELS, 'publish') || (inputs.label != '' && contains(env.LABELS, 'publish ' + inputs.label))) + inputs.pr-only-labeled == 'false' + || (contains(github.event.pull_request.labels.*.name, 'publish') + || (inputs.pr-label != '' + && contains(github.event.pull_request.labels.*.name, format('publish {0}', inputs.pr-label)))) working-directory: ${{ inputs.directory }} - run: > - npm version prerelease --preid ${{ inputs.version-tag }}-${{ github.event.number }}-${{ env.SHORT_SHA }} --no-git-tag-version - && npm publish --tag ${{ inputs.version-tag }} + run: | + npm publish ${{ inputs.npm-version-tag != '' && format('--tag {0}', inputs.npm-version-tag) || '' }} shell: bash env: NODE_AUTH_TOKEN: ${{ inputs.npm-token }} - SHORT_SHA: $(echo "${{ github.event.pull_request.head.sha }}" | cut -c1-7) - LABELS: ${{ github.event.pull_request.labels.*.name }} From 5cdaaf6d49f7665e387fdb48039fad239ccf72f7 Mon Sep 17 00:00:00 2001 From: Rinat Arsaev <11846445+A77AY@users.noreply.github.com> Date: Thu, 27 Mar 2025 03:27:59 +0700 Subject: [PATCH 06/12] clean --- .github/workflows/configured.yml | 22 ---------------------- 1 file changed, 22 deletions(-) delete mode 100644 .github/workflows/configured.yml diff --git a/.github/workflows/configured.yml b/.github/workflows/configured.yml deleted file mode 100644 index 756e92c..0000000 --- a/.github/workflows/configured.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: "Frontend: Configured" - -on: - workflow_call: - outputs: - exists: - description: "Exists" - value: ${{ jobs.exists.outputs.exists }} - -jobs: - exists: - name: Exists - runs-on: ubuntu-latest - outputs: - exists: ${{ steps.check_files.outputs.files_exists }} - steps: - - uses: actions/checkout@v4 - - name: Check file existence - id: check_files - uses: andstor/file-existence-action@v1 - with: - files: "package.json" From 4bee8ac9326ed86a28fd00de45a986ce9612cf8d Mon Sep 17 00:00:00 2001 From: Rinat Arsaev <11846445+A77AY@users.noreply.github.com> Date: Thu, 27 Mar 2025 03:30:05 +0700 Subject: [PATCH 07/12] npm update --- package-lock.json | 18 ++++++------------ package.json | 2 +- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0dd868e..4455333 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,7 +1,7 @@ { "name": "@vality/action-frontend", "version": "0.2.0", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -9,13 +9,14 @@ "version": "0.2.0", "license": "Apache-2.0", "dependencies": { - "prettier": "^3.0.3" + "prettier": "^3.5.3" } }, "node_modules/prettier": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", - "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz", + "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", + "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" }, @@ -26,12 +27,5 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } } - }, - "dependencies": { - "prettier": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", - "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==" - } } } diff --git a/package.json b/package.json index 8010252..15a7bdc 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,6 @@ }, "homepage": "https://github.com/valitydev/action-frontend#readme", "dependencies": { - "prettier": "^3.0.3" + "prettier": "^3.5.3" } } From 8268b5d1c3abdc3106cecfe15a0fa86a91391228 Mon Sep 17 00:00:00 2001 From: Rinat Arsaev <11846445+A77AY@users.noreply.github.com> Date: Thu, 27 Mar 2025 13:35:03 +0500 Subject: [PATCH 08/12] Update setup/action.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- setup/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup/action.yml b/setup/action.yml index 26b5625..592e640 100644 --- a/setup/action.yml +++ b/setup/action.yml @@ -7,7 +7,7 @@ inputs: default: "lts/*" required: false npm-not-ci: - description: "Run npm not ci" + description: "Run npm install instead of npm ci" default: "false" required: false npm-install-force: From 1f5c12dfc5d47131df045f28aaab9d83ca831297 Mon Sep 17 00:00:00 2001 From: Rinat Arsaev <11846445+A77AY@users.noreply.github.com> Date: Thu, 27 Mar 2025 15:47:18 +0700 Subject: [PATCH 09/12] rename --- {setup => setup-install}/action.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {setup => setup-install}/action.yml (100%) diff --git a/setup/action.yml b/setup-install/action.yml similarity index 100% rename from setup/action.yml rename to setup-install/action.yml From b7b3033e17584ca0ae811e845fe460aabe8f32b2 Mon Sep 17 00:00:00 2001 From: Rinat Arsaev <11846445+A77AY@users.noreply.github.com> Date: Thu, 27 Mar 2025 15:59:04 +0700 Subject: [PATCH 10/12] split --- install/action.yml | 31 +++++++++++++++++++++++++++++++ setup/action.yml | 18 ++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 install/action.yml create mode 100644 setup/action.yml diff --git a/install/action.yml b/install/action.yml new file mode 100644 index 0000000..36e7e20 --- /dev/null +++ b/install/action.yml @@ -0,0 +1,31 @@ +name: "Install dependencies" +description: "Install dependencies" + +inputs: + npm-not-ci: + description: "Run npm not ci" + default: "false" + required: false + npm-install-force: + description: "Force npm install" + default: "false" + required: false + +runs: + using: composite + steps: + - name: Install dependencies + run: | + CMD="npm" + if [ "${{ inputs.npm-not-ci }}" = "true" ]; then + CMD="${CMD} install" + else + CMD="${CMD} ci" + fi + + if [ "${{ inputs.npm-install-force }}" = "true" ]; then + CMD="${CMD} --force" + fi + + ${CMD} + shell: bash diff --git a/setup/action.yml b/setup/action.yml new file mode 100644 index 0000000..d85d83c --- /dev/null +++ b/setup/action.yml @@ -0,0 +1,18 @@ +name: "Setup NodeJS" +description: "Setup NodeJS" + +inputs: + node-version: + description: "NodeJS version" + default: "lts/*" + required: false + +runs: + using: composite + steps: + - name: Setup NodeJS + uses: actions/setup-node@v4 + with: + node-version: ${{ inputs.node-version }} + cache: "npm" + registry-url: "https://registry.npmjs.org" From 342c902fe19d5492d85f2f6b087520d2e2a11867 Mon Sep 17 00:00:00 2001 From: Rinat Arsaev <11846445+A77AY@users.noreply.github.com> Date: Thu, 27 Mar 2025 16:02:52 +0700 Subject: [PATCH 11/12] ref --- install/action.yml | 6 +++--- setup-install/action.yml | 24 ++++++------------------ 2 files changed, 9 insertions(+), 21 deletions(-) diff --git a/install/action.yml b/install/action.yml index 36e7e20..c253766 100644 --- a/install/action.yml +++ b/install/action.yml @@ -1,9 +1,9 @@ -name: "Install dependencies" -description: "Install dependencies" +name: "Install Dependencies" +description: "Install npm dependencies" inputs: npm-not-ci: - description: "Run npm not ci" + description: "Run npm install instead of npm ci" default: "false" required: false npm-install-force: diff --git a/setup-install/action.yml b/setup-install/action.yml index 592e640..7dd46b4 100644 --- a/setup-install/action.yml +++ b/setup-install/action.yml @@ -1,4 +1,4 @@ -name: "Setup NodeJS" +name: "Setup NodeJS and Install" description: "Setup NodeJS & install dependencies" inputs: @@ -19,23 +19,11 @@ runs: using: composite steps: - name: Setup NodeJS - uses: actions/setup-node@v4 + uses: ./../setup with: node-version: ${{ inputs.node-version }} - cache: "npm" - registry-url: "https://registry.npmjs.org" - name: Install dependencies - run: | - CMD="npm" - if [ "${{ inputs.npm-not-ci }}" = "true" ]; then - CMD="${CMD} install" - else - CMD="${CMD} ci" - fi - - if [ "${{ inputs.npm-install-force }}" = "true" ]; then - CMD="${CMD} --force" - fi - - ${CMD} - shell: bash + uses: ./../install + with: + npm-not-ci: ${{ inputs.npm-not-ci }} + npm-install-force: ${{ inputs.npm-install-force }} From d1f7779cd2c8e1a1c3c6f47527d5799ea27bd804 Mon Sep 17 00:00:00 2001 From: Rinat Arsaev <11846445+A77AY@users.noreply.github.com> Date: Thu, 27 Mar 2025 16:04:24 +0700 Subject: [PATCH 12/12] clean --- setup-install/action.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup-install/action.yml b/setup-install/action.yml index 7dd46b4..548c36e 100644 --- a/setup-install/action.yml +++ b/setup-install/action.yml @@ -19,11 +19,11 @@ runs: using: composite steps: - name: Setup NodeJS - uses: ./../setup + uses: ../setup with: node-version: ${{ inputs.node-version }} - name: Install dependencies - uses: ./../install + uses: ../install with: npm-not-ci: ${{ inputs.npm-not-ci }} npm-install-force: ${{ inputs.npm-install-force }}