Update workflows to use reusable-workflows

This commit is contained in:
IvanZosimov 2022-12-15 13:47:58 +01:00
parent 10dc265f2c
commit 6d0109286a
6 changed files with 24 additions and 97 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,4 +1,5 @@
name: Release new action version
on:
release:
types: [released]

View File

@ -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"
},