From caaa9d738ffb1b3e191b8b917a6dcdbe4ec6acc5 Mon Sep 17 00:00:00 2001 From: IvanZosimov Date: Wed, 14 Dec 2022 14:53:47 +0100 Subject: [PATCH 1/7] Update workflows to use reusable-workflows --- .github/workflows/build.yml | 21 +++----------- .github/workflows/check-dist.yml | 42 +++------------------------ .github/workflows/codeql-analysis.yml | 14 +++++++++ .github/workflows/licensed.yml | 17 +++-------- package.json | 1 + 5 files changed, 27 insertions(+), 68 deletions(-) create mode 100644 .github/workflows/codeql-analysis.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9d665b3..63d055a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,20 +12,7 @@ on: - '**.md' jobs: - build: - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - steps: - - uses: actions/checkout@v3 - - name: Setup Node.JS 16 - uses: actions/setup-node@v3 - with: - node-version: 16.x - cache: npm - - run: npm ci - - run: npm run build - - run: npm run format-check - - run: npm test \ No newline at end of file + call-basic-validation: + name: Basic validation + #uses: actions/reusable-workflows/.github/workflows/basic-validation.yml@main + uses: IvanZosimov/reusable-workflows/.github/workflows/basic-validation.yml@main \ No newline at end of file diff --git a/.github/workflows/check-dist.yml b/.github/workflows/check-dist.yml index 6274fd2..41eca4b 100644 --- a/.github/workflows/check-dist.yml +++ b/.github/workflows/check-dist.yml @@ -1,8 +1,3 @@ -# `dist/index.js` is a special file in Actions. -# When you reference an action with `uses:` in a workflow, -# `index.js` is the code that will run. -# For our project, we generate this file through a build process from other source files. -# We need to make sure the checked-in `index.js` actually matches what we expect it to be. name: Check dist/ on: @@ -17,36 +12,7 @@ on: workflow_dispatch: jobs: - check-dist: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - - name: Set Node.js 16.x - uses: actions/setup-node@v3 - with: - node-version: 16.x - cache: npm - - - name: Install dependencies - run: npm ci - - - name: Rebuild the dist/ directory - run: npm run build - - - name: Compare the expected and actual dist/ directories - run: | - if [ "$(git diff --ignore-space-at-eol dist/ | wc -l)" -gt "0" ]; then - echo "Detected uncommitted changes after build. See status below:" - git diff - exit 1 - fi - id: diff - - # If index.js was different than expected, upload the expected version as an artifact - - uses: actions/upload-artifact@v3 - if: ${{ failure() && steps.diff.conclusion == 'failure' }} - with: - name: dist - path: dist/ + call-check-dist: + name: Check dist/ + #uses: actions/reusable-workflows/.github/workflows/check-dist.yml@main + uses: IvanZosimov/reusable-workflows/.github/workflows/check-dist.yml@main diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml new file mode 100644 index 0000000..4491124 --- /dev/null +++ b/.github/workflows/codeql-analysis.yml @@ -0,0 +1,14 @@ +name: CodeQL analysis +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + schedule: + - cron: '0 3 * * 0' + +jobs: + call-codeQL-analysis: + name: CodeQL analysis + #uses: actions/reusable-workflows/.github/workflows/codeql-analysis.yml@main + uses: IvanZosimov/reusable-workflows/.github/workflows/codeql-analysis.yml@main \ No newline at end of file diff --git a/.github/workflows/licensed.yml b/.github/workflows/licensed.yml index fd70702..5a8c073 100644 --- a/.github/workflows/licensed.yml +++ b/.github/workflows/licensed.yml @@ -10,16 +10,7 @@ on: workflow_dispatch: jobs: - test: - runs-on: ubuntu-latest - name: Check licenses - steps: - - uses: actions/checkout@v3 - - run: npm ci - - name: Install licensed - run: | - cd $RUNNER_TEMP - curl -Lfs -o licensed.tar.gz https://github.com/github/licensed/releases/download/3.4.4/licensed-3.4.4-linux-x64.tar.gz - sudo tar -xzf licensed.tar.gz - sudo mv licensed /usr/local/bin/licensed - - run: licensed status + call-licensed: + name: Licensed + #uses: actions/reusable-workflows/.github/workflows/licensed.yml@main + uses: IvanZosimov/reusable-workflows/.github/workflows/licensed.yml@main diff --git a/package.json b/package.json index 9cb00e1..e7ae7ba 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "build": "ncc build -o dist/setup src/setup-java.ts && ncc build -o dist/cleanup src/cleanup-java.ts", "format": "prettier --write \"{,!(node_modules)/**/}*.ts\"", "format-check": "prettier --check \"{,!(node_modules)/**/}*.ts\"", + "lint": "", "prerelease": "npm run-script build", "release": "git add -f dist/setup/index.js dist/cleanup/index.js", "test": "jest" From 1eb7169fc24a3cdc2c700068a228886350f8fb37 Mon Sep 17 00:00:00 2001 From: IvanZosimov Date: Thu, 15 Dec 2022 16:10:53 +0100 Subject: [PATCH 2/7] Update workflows --- .github/workflows/codeql-analysis.yml | 3 ++- .github/workflows/e2e-cache.yml | 1 + .github/workflows/e2e-local-file.yml | 1 + .github/workflows/e2e-publishing.yml | 1 + .github/workflows/e2e-versions.yml | 1 + .github/workflows/release-new-action-version.yml | 1 + 6 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 4491124..6a9e685 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -1,4 +1,5 @@ -name: CodeQL analysis +name: CodeQL analysis + on: push: branches: [ main ] diff --git a/.github/workflows/e2e-cache.yml b/.github/workflows/e2e-cache.yml index 74998dc..cb5ca7d 100644 --- a/.github/workflows/e2e-cache.yml +++ b/.github/workflows/e2e-cache.yml @@ -1,4 +1,5 @@ name: Validate cache + on: push: branches: diff --git a/.github/workflows/e2e-local-file.yml b/.github/workflows/e2e-local-file.yml index 1361bb0..3959394 100644 --- a/.github/workflows/e2e-local-file.yml +++ b/.github/workflows/e2e-local-file.yml @@ -1,4 +1,5 @@ name: Validate local file + on: push: branches: diff --git a/.github/workflows/e2e-publishing.yml b/.github/workflows/e2e-publishing.yml index cf179fc..5378564 100644 --- a/.github/workflows/e2e-publishing.yml +++ b/.github/workflows/e2e-publishing.yml @@ -1,4 +1,5 @@ name: Validate publishing functionality + on: push: branches: diff --git a/.github/workflows/e2e-versions.yml b/.github/workflows/e2e-versions.yml index efc4e74..47250cc 100644 --- a/.github/workflows/e2e-versions.yml +++ b/.github/workflows/e2e-versions.yml @@ -1,4 +1,5 @@ name: Validate Java e2e + on: push: branches: diff --git a/.github/workflows/release-new-action-version.yml b/.github/workflows/release-new-action-version.yml index 1d0fb7f..db543b9 100644 --- a/.github/workflows/release-new-action-version.yml +++ b/.github/workflows/release-new-action-version.yml @@ -1,4 +1,5 @@ name: Release new action version + on: release: types: [released] From a3c7fb122099a8663f3f4d6b8080b8d9c29cec0c Mon Sep 17 00:00:00 2001 From: IvanZosimov Date: Thu, 15 Dec 2022 16:41:32 +0100 Subject: [PATCH 3/7] Add links to reusable workflows --- .github/workflows/build.yml | 2 +- .github/workflows/check-dist.yml | 2 +- .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/licensed.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 63d055a..f7e9d18 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,7 +12,7 @@ on: - '**.md' jobs: - call-basic-validation: + call-basic-validation: # The reusable workflow can be found here: https://github.com/actions/reusable-workflows/blob/main/.github/workflows/basic-validation.yml name: Basic validation #uses: actions/reusable-workflows/.github/workflows/basic-validation.yml@main uses: IvanZosimov/reusable-workflows/.github/workflows/basic-validation.yml@main \ No newline at end of file diff --git a/.github/workflows/check-dist.yml b/.github/workflows/check-dist.yml index 41eca4b..139723f 100644 --- a/.github/workflows/check-dist.yml +++ b/.github/workflows/check-dist.yml @@ -12,7 +12,7 @@ on: workflow_dispatch: jobs: - call-check-dist: + call-check-dist: # The reusable workflow can be found here: https://github.com/actions/reusable-workflows/blob/main/.github/workflows/check-dist.yml name: Check dist/ #uses: actions/reusable-workflows/.github/workflows/check-dist.yml@main uses: IvanZosimov/reusable-workflows/.github/workflows/check-dist.yml@main diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 6a9e685..16f258e 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -9,7 +9,7 @@ on: - cron: '0 3 * * 0' jobs: - call-codeQL-analysis: + call-codeQL-analysis: # The reusable workflow can be found here: https://github.com/actions/reusable-workflows/blob/main/.github/workflows/codeql-analysis.yml name: CodeQL analysis #uses: actions/reusable-workflows/.github/workflows/codeql-analysis.yml@main uses: IvanZosimov/reusable-workflows/.github/workflows/codeql-analysis.yml@main \ No newline at end of file diff --git a/.github/workflows/licensed.yml b/.github/workflows/licensed.yml index 5a8c073..675df54 100644 --- a/.github/workflows/licensed.yml +++ b/.github/workflows/licensed.yml @@ -10,7 +10,7 @@ on: workflow_dispatch: jobs: - call-licensed: + call-licensed: # The reusable workflow can be found here: https://github.com/actions/reusable-workflows/blob/main/.github/workflows/licensed.yml name: Licensed #uses: actions/reusable-workflows/.github/workflows/licensed.yml@main uses: IvanZosimov/reusable-workflows/.github/workflows/licensed.yml@main From 81f1f778b71c828f554b8d1e009d3bac9a7f8234 Mon Sep 17 00:00:00 2001 From: IvanZosimov Date: Fri, 16 Dec 2022 16:51:33 +0100 Subject: [PATCH 4/7] Update codeql.yml --- .github/workflows/codeql-analysis.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 16f258e..35e692b 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -12,4 +12,6 @@ jobs: call-codeQL-analysis: # The reusable workflow can be found here: https://github.com/actions/reusable-workflows/blob/main/.github/workflows/codeql-analysis.yml name: CodeQL analysis #uses: actions/reusable-workflows/.github/workflows/codeql-analysis.yml@main - uses: IvanZosimov/reusable-workflows/.github/workflows/codeql-analysis.yml@main \ No newline at end of file + uses: IvanZosimov/reusable-workflows/.github/workflows/codeql-analysis.yml@main + with: + languages: "['javascript', 'typescript']" \ No newline at end of file From 3dc9295fa854a42a09d4fe59f38fb4db0b6b9c5f Mon Sep 17 00:00:00 2001 From: IvanZosimov Date: Fri, 16 Dec 2022 17:07:00 +0100 Subject: [PATCH 5/7] Updae codeql.yml --- .github/workflows/codeql-analysis.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 35e692b..16f258e 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -12,6 +12,4 @@ jobs: call-codeQL-analysis: # The reusable workflow can be found here: https://github.com/actions/reusable-workflows/blob/main/.github/workflows/codeql-analysis.yml name: CodeQL analysis #uses: actions/reusable-workflows/.github/workflows/codeql-analysis.yml@main - uses: IvanZosimov/reusable-workflows/.github/workflows/codeql-analysis.yml@main - with: - languages: "['javascript', 'typescript']" \ No newline at end of file + uses: IvanZosimov/reusable-workflows/.github/workflows/codeql-analysis.yml@main \ No newline at end of file From 007465e618bea61bc65b8c358629070c356dfc7e Mon Sep 17 00:00:00 2001 From: IvanZosimov Date: Mon, 19 Dec 2022 13:38:39 +0100 Subject: [PATCH 6/7] Update action to use reusable-workflows repo --- .github/workflows/build.yml | 3 +-- .github/workflows/check-dist.yml | 3 +-- .github/workflows/codeql-analysis.yml | 3 +-- .github/workflows/licensed.yml | 3 +-- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f7e9d18..3d01c59 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -14,5 +14,4 @@ on: jobs: call-basic-validation: # The reusable workflow can be found here: https://github.com/actions/reusable-workflows/blob/main/.github/workflows/basic-validation.yml name: Basic validation - #uses: actions/reusable-workflows/.github/workflows/basic-validation.yml@main - uses: IvanZosimov/reusable-workflows/.github/workflows/basic-validation.yml@main \ No newline at end of file + uses: actions/reusable-workflows/.github/workflows/basic-validation.yml@main \ No newline at end of file diff --git a/.github/workflows/check-dist.yml b/.github/workflows/check-dist.yml index 139723f..b95508f 100644 --- a/.github/workflows/check-dist.yml +++ b/.github/workflows/check-dist.yml @@ -14,5 +14,4 @@ on: jobs: call-check-dist: # The reusable workflow can be found here: https://github.com/actions/reusable-workflows/blob/main/.github/workflows/check-dist.yml name: Check dist/ - #uses: actions/reusable-workflows/.github/workflows/check-dist.yml@main - uses: IvanZosimov/reusable-workflows/.github/workflows/check-dist.yml@main + uses: actions/reusable-workflows/.github/workflows/check-dist.yml@main diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 16f258e..fd4d859 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -11,5 +11,4 @@ on: jobs: call-codeQL-analysis: # The reusable workflow can be found here: https://github.com/actions/reusable-workflows/blob/main/.github/workflows/codeql-analysis.yml name: CodeQL analysis - #uses: actions/reusable-workflows/.github/workflows/codeql-analysis.yml@main - uses: IvanZosimov/reusable-workflows/.github/workflows/codeql-analysis.yml@main \ No newline at end of file + uses: actions/reusable-workflows/.github/workflows/codeql-analysis.yml@main \ No newline at end of file diff --git a/.github/workflows/licensed.yml b/.github/workflows/licensed.yml index 675df54..5eaa7d2 100644 --- a/.github/workflows/licensed.yml +++ b/.github/workflows/licensed.yml @@ -12,5 +12,4 @@ on: jobs: call-licensed: # The reusable workflow can be found here: https://github.com/actions/reusable-workflows/blob/main/.github/workflows/licensed.yml name: Licensed - #uses: actions/reusable-workflows/.github/workflows/licensed.yml@main - uses: IvanZosimov/reusable-workflows/.github/workflows/licensed.yml@main + uses: actions/reusable-workflows/.github/workflows/licensed.yml@main From 5bbbb020e8ffd4f15a94c5769d2635b6aa48c3d3 Mon Sep 17 00:00:00 2001 From: IvanZosimov Date: Tue, 20 Dec 2022 15:38:24 +0100 Subject: [PATCH 7/7] Fix review points --- .github/workflows/{build.yml => basic-validation.yml} | 4 ++-- .github/workflows/check-dist.yml | 2 +- .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/licensed.yml | 2 +- package.json | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) rename .github/workflows/{build.yml => basic-validation.yml} (54%) diff --git a/.github/workflows/build.yml b/.github/workflows/basic-validation.yml similarity index 54% rename from .github/workflows/build.yml rename to .github/workflows/basic-validation.yml index 3d01c59..8b92600 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/basic-validation.yml @@ -1,4 +1,4 @@ -name: Build Action +name: Basic validation on: push: @@ -12,6 +12,6 @@ on: - '**.md' jobs: - call-basic-validation: # The reusable workflow can be found here: https://github.com/actions/reusable-workflows/blob/main/.github/workflows/basic-validation.yml + call-basic-validation: name: Basic validation uses: actions/reusable-workflows/.github/workflows/basic-validation.yml@main \ No newline at end of file diff --git a/.github/workflows/check-dist.yml b/.github/workflows/check-dist.yml index b95508f..c952291 100644 --- a/.github/workflows/check-dist.yml +++ b/.github/workflows/check-dist.yml @@ -12,6 +12,6 @@ on: workflow_dispatch: jobs: - call-check-dist: # The reusable workflow can be found here: https://github.com/actions/reusable-workflows/blob/main/.github/workflows/check-dist.yml + call-check-dist: name: Check dist/ uses: actions/reusable-workflows/.github/workflows/check-dist.yml@main diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index fd4d859..f1f430a 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -9,6 +9,6 @@ on: - cron: '0 3 * * 0' jobs: - call-codeQL-analysis: # The reusable workflow can be found here: https://github.com/actions/reusable-workflows/blob/main/.github/workflows/codeql-analysis.yml + call-codeQL-analysis: name: CodeQL analysis uses: actions/reusable-workflows/.github/workflows/codeql-analysis.yml@main \ No newline at end of file diff --git a/.github/workflows/licensed.yml b/.github/workflows/licensed.yml index 5eaa7d2..37f1560 100644 --- a/.github/workflows/licensed.yml +++ b/.github/workflows/licensed.yml @@ -10,6 +10,6 @@ on: workflow_dispatch: jobs: - call-licensed: # The reusable workflow can be found here: https://github.com/actions/reusable-workflows/blob/main/.github/workflows/licensed.yml + call-licensed: name: Licensed uses: actions/reusable-workflows/.github/workflows/licensed.yml@main diff --git a/package.json b/package.json index e7ae7ba..e0f28e3 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "build": "ncc build -o dist/setup src/setup-java.ts && ncc build -o dist/cleanup src/cleanup-java.ts", "format": "prettier --write \"{,!(node_modules)/**/}*.ts\"", "format-check": "prettier --check \"{,!(node_modules)/**/}*.ts\"", - "lint": "", + "lint": "echo \"Fake command that does nothing. It is used in reusable workflows\"", "prerelease": "npm run-script build", "release": "git add -f dist/setup/index.js dist/cleanup/index.js", "test": "jest"