From 6d0109286a5e9be50c4e97219b8b1a9f5f7a8511 Mon Sep 17 00:00:00 2001 From: IvanZosimov Date: Thu, 15 Dec 2022 13:47:58 +0100 Subject: [PATCH] Update workflows to use reusable-workflows --- .github/workflows/build-test.yml | 26 +++-------- .github/workflows/check-dist.yml | 44 ++----------------- .github/workflows/codeql-analysis.yml | 22 +++------- .github/workflows/licensed.yml | 17 ++----- .../workflows/release-new-action-version.yml | 1 + package.json | 11 +++-- 6 files changed, 24 insertions(+), 97 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index cda75dea..dc11b328 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -1,4 +1,5 @@ name: Build & Test + on: pull_request: paths-ignore: @@ -11,27 +12,10 @@ on: - '**.md' jobs: - build: - runs-on: ${{ matrix.operating-system }} - strategy: - fail-fast: false - matrix: - operating-system: [ubuntu-latest, windows-latest, macOS-latest] - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Set Node.js 16 - uses: actions/setup-node@v3 - with: - node-version: 16.x - cache: npm - - - name: Install dependencies - run: npm ci --ignore-scripts - - - name: Format, lint, build and test - run: npm run all:ci + 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 dry-run-test: # make sure the action works on a clean machine without building runs-on: ubuntu-latest diff --git a/.github/workflows/check-dist.yml b/.github/workflows/check-dist.yml index 4736bfdf..41eca4b0 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,38 +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 - npm run pack - - - 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 index 716eb8fb..83201d42 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -6,22 +6,10 @@ on: pull_request: branches: [main] schedule: - - cron: '23 19 * * 0' + - cron: '0 3 * * 0' jobs: - CodeQL-Build: - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - - name: Initialize CodeQL - uses: github/codeql-action/init@v2 - with: - languages: 'javascript' - - - name: Autobuild - uses: github/codeql-action/autobuild@v2 - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 + 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 diff --git a/.github/workflows/licensed.yml b/.github/workflows/licensed.yml index 4d908967..5a8c0731 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 --ignore-scripts - - name: Install licensed - run: | - cd $RUNNER_TEMP - curl -Lfs -o licensed.tar.gz https://github.com/github/licensed/releases/download/3.9.0/licensed-3.9.0-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/.github/workflows/release-new-action-version.yml b/.github/workflows/release-new-action-version.yml index e3e12f8c..fcae53b1 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/package.json b/package.json index 6eb3685b..575f76ed 100644 --- a/package.json +++ b/package.json @@ -5,20 +5,19 @@ "description": "Marks old issues and PRs as stale", "main": "lib/main.js", "scripts": { - "build": "tsc --project tsconfig.app.json", + "build": "tsc --project tsconfig.app.json && ncc build", "format": "prettier --write --ignore-unknown **/*.{json,yml,ts}", "format-check": "prettier --check --ignore-unknown **/*.{json,yml,ts}", "lint": "eslint src/**/*.ts", "lint:fix": "eslint src/**/*.ts --fix", "lint:all": "npm run format-check && npm run lint", "lint:all:fix": "npm run format && npm run lint:fix", - "pack": "ncc build", - "test": "jest", + "test": "jest --config ./jest.config.js", "test:only-errors": "jest --reporters jest-silent-reporter --silent", "test:watch": "jest --watch --notify --expand", - "all": "npm run build && npm run format && npm run lint && npm run pack && npm test", - "all:ci": "npm run build && npm run lint:all && npm run pack && npm run test:only-errors", - "prerelease": "npm run build && npm run pack", + "all": "npm run format && npm run lint && npm run build && npm test", + "all:ci": "npm run lint:all && npm run build && npm run test:only-errors", + "prerelease": "npm run build", "release": "standard-version", "release:dry-run": "standard-version --dry-run" },