From 112638faa951662512b34395d8d973051d661aa3 Mon Sep 17 00:00:00 2001 From: Ivan <98037481+IvanZosimov@users.noreply.github.com> Date: Thu, 22 Dec 2022 10:54:55 +0200 Subject: [PATCH] Update action to use reusable workflows (#19) * Update workflows to use reusable-workflows * Update workflows * Add links to reusable workflows * Update action to use reusable-workflows repo * Fix review points --- .github/workflows/basic-validation.yml | 12 ++++++ .github/workflows/check-dist.yml | 41 ++----------------- .github/workflows/codeql-analysis.yml | 14 +++++++ .github/workflows/licensed.yml | 24 ++++------- .../workflows/release-new-action-version.yml | 1 + .github/workflows/test.yml | 28 ------------- package.json | 4 +- 7 files changed, 42 insertions(+), 82 deletions(-) create mode 100644 .github/workflows/basic-validation.yml create mode 100644 .github/workflows/codeql-analysis.yml delete mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/basic-validation.yml b/.github/workflows/basic-validation.yml new file mode 100644 index 0000000..9093bee --- /dev/null +++ b/.github/workflows/basic-validation.yml @@ -0,0 +1,12 @@ +name: Basic validation + +on: + push: + branches: + - main + pull_request: + +jobs: + 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 6274fd2..c952291 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,6 @@ 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 diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml new file mode 100644 index 0000000..f1f430a --- /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 \ No newline at end of file diff --git a/.github/workflows/licensed.yml b/.github/workflows/licensed.yml index f8db021..88d3eae 100644 --- a/.github/workflows/licensed.yml +++ b/.github/workflows/licensed.yml @@ -1,20 +1,14 @@ name: Licensed on: - push: {branches: main} - pull_request: {branches: main} + push: + branches: + - main + pull_request: + branches: + - main 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 \ No newline at end of file + call-licensed: + name: Licensed + uses: actions/reusable-workflows/.github/workflows/licensed.yml@main \ No newline at end of file diff --git a/.github/workflows/release-new-action-version.yml b/.github/workflows/release-new-action-version.yml index e098a2b..d42850b 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] diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml deleted file mode 100644 index a0f3c36..0000000 --- a/.github/workflows/test.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: Tests -on: - push: - branches: - - main - pull_request: - -jobs: - test: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Set Node.JS - uses: actions/setup-node@v3 - with: - node-version: 16.x - cache: npm - - - name: Install dependencies - run: npm ci - - - name: Build - run: npm run build - - - name: Run tests - run: npm run test \ No newline at end of file diff --git a/package.json b/package.json index 18d2ad6..1f49ba4 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,9 @@ "main": "lib/main.js", "scripts": { "build": "tsc && ncc build", - "test": "jest" + "test": "jest", + "format-check": "echo \"Fake command that does nothing. It is used in reusable workflows\"", + "lint": "echo \"Fake command that does nothing. It is used in reusable workflows\"" }, "repository": { "type": "git",