Update workflows to use reusable-workflows
This commit is contained in:
parent
10dc265f2c
commit
6d0109286a
|
@ -1,4 +1,5 @@
|
||||||
name: Build & Test
|
name: Build & Test
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
|
@ -11,27 +12,10 @@ on:
|
||||||
- '**.md'
|
- '**.md'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
call-basic-validation:
|
||||||
runs-on: ${{ matrix.operating-system }}
|
name: Basic validation
|
||||||
strategy:
|
#uses: actions/reusable-workflows/.github/workflows/basic-validation.yml@main
|
||||||
fail-fast: false
|
uses: IvanZosimov/reusable-workflows/.github/workflows/basic-validation.yml@main
|
||||||
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
|
|
||||||
|
|
||||||
dry-run-test: # make sure the action works on a clean machine without building
|
dry-run-test: # make sure the action works on a clean machine without building
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
|
@ -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/
|
name: Check dist/
|
||||||
|
|
||||||
on:
|
on:
|
||||||
|
@ -17,38 +12,7 @@ on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
check-dist:
|
call-check-dist:
|
||||||
runs-on: ubuntu-latest
|
name: Check dist/
|
||||||
|
#uses: actions/reusable-workflows/.github/workflows/check-dist.yml@main
|
||||||
steps:
|
uses: IvanZosimov/reusable-workflows/.github/workflows/check-dist.yml@main
|
||||||
- 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/
|
|
||||||
|
|
|
@ -6,22 +6,10 @@ on:
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [main]
|
branches: [main]
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '23 19 * * 0'
|
- cron: '0 3 * * 0'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
CodeQL-Build:
|
call-codeQL-analysis:
|
||||||
runs-on: ubuntu-latest
|
name: CodeQL analysis
|
||||||
steps:
|
#uses: actions/reusable-workflows/.github/workflows/codeql-analysis.yml@main
|
||||||
- name: Checkout repository
|
uses: IvanZosimov/reusable-workflows/.github/workflows/codeql-analysis.yml@main
|
||||||
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
|
|
||||||
|
|
|
@ -10,16 +10,7 @@ on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
call-licensed:
|
||||||
runs-on: ubuntu-latest
|
name: Licensed
|
||||||
name: Check licenses
|
#uses: actions/reusable-workflows/.github/workflows/licensed.yml@main
|
||||||
steps:
|
uses: IvanZosimov/reusable-workflows/.github/workflows/licensed.yml@main
|
||||||
- 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
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
name: Release new action version
|
name: Release new action version
|
||||||
|
|
||||||
on:
|
on:
|
||||||
release:
|
release:
|
||||||
types: [released]
|
types: [released]
|
||||||
|
|
11
package.json
11
package.json
|
@ -5,20 +5,19 @@
|
||||||
"description": "Marks old issues and PRs as stale",
|
"description": "Marks old issues and PRs as stale",
|
||||||
"main": "lib/main.js",
|
"main": "lib/main.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsc --project tsconfig.app.json",
|
"build": "tsc --project tsconfig.app.json && ncc build",
|
||||||
"format": "prettier --write --ignore-unknown **/*.{json,yml,ts}",
|
"format": "prettier --write --ignore-unknown **/*.{json,yml,ts}",
|
||||||
"format-check": "prettier --check --ignore-unknown **/*.{json,yml,ts}",
|
"format-check": "prettier --check --ignore-unknown **/*.{json,yml,ts}",
|
||||||
"lint": "eslint src/**/*.ts",
|
"lint": "eslint src/**/*.ts",
|
||||||
"lint:fix": "eslint src/**/*.ts --fix",
|
"lint:fix": "eslint src/**/*.ts --fix",
|
||||||
"lint:all": "npm run format-check && npm run lint",
|
"lint:all": "npm run format-check && npm run lint",
|
||||||
"lint:all:fix": "npm run format && npm run lint:fix",
|
"lint:all:fix": "npm run format && npm run lint:fix",
|
||||||
"pack": "ncc build",
|
"test": "jest --config ./jest.config.js",
|
||||||
"test": "jest",
|
|
||||||
"test:only-errors": "jest --reporters jest-silent-reporter --silent",
|
"test:only-errors": "jest --reporters jest-silent-reporter --silent",
|
||||||
"test:watch": "jest --watch --notify --expand",
|
"test:watch": "jest --watch --notify --expand",
|
||||||
"all": "npm run build && npm run format && npm run lint && npm run pack && npm test",
|
"all": "npm run format && npm run lint && npm run build && npm test",
|
||||||
"all:ci": "npm run build && npm run lint:all && npm run pack && npm run test:only-errors",
|
"all:ci": "npm run lint:all && npm run build && npm run test:only-errors",
|
||||||
"prerelease": "npm run build && npm run pack",
|
"prerelease": "npm run build",
|
||||||
"release": "standard-version",
|
"release": "standard-version",
|
||||||
"release:dry-run": "standard-version --dry-run"
|
"release:dry-run": "standard-version --dry-run"
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue