Merge pull request #543 from droidsolutions/dependabot/npm_and_yarn/c… #1009
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: main | |
on: | |
push: | |
jobs: | |
lint: | |
name: Check - Lint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use NodeJS | |
uses: actions/setup-node@v3 | |
- name: Install packages | |
run: npm ci --no-fund | |
- name: Run ESLint | |
run: npx eslint --ext .js,.ts . | |
build: | |
name: Transpile TypeScript | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use NodeJS | |
uses: actions/setup-node@v3 | |
- name: Install packages | |
run: npm ci --no-fund | |
- name: transpile TypeScript | |
run: npx tsc | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: lib | |
path: | | |
dist | |
!dist/test | |
analyze: | |
name: Analyze | |
runs-on: ubuntu-latest | |
permissions: | |
actions: read | |
contents: read | |
security-events: write | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
# Initializes the CodeQL tools for scanning. | |
- name: Initialize CodeQL | |
uses: github/codeql-action/init@v2 | |
with: | |
languages: javascript | |
- name: Perform CodeQL Analysis | |
uses: github/codeql-action/analyze@v2 | |
test: | |
name: Coverage with Node ${{ matrix.node }} | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
matrix: | |
node: ["16", "18"] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use NodeJS | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node }} | |
- name: Install packages | |
run: npm ci --no-fund | |
- name: Collect coverage | |
run: npm run coverage | |
release: | |
name: Semantic Release | |
if: github.event_name == 'push' && github.ref == 'refs/heads/main' | |
runs-on: ubuntu-latest | |
needs: | |
- lint | |
- build | |
- test | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
persist-credentials: false | |
- name: Use Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
- name: Install packages | |
run: npm ci --no-fund | |
- name: Download lib from build job | |
uses: actions/download-artifact@v3 | |
with: | |
name: lib | |
path: dist/ | |
- name: Semantic Release | |
env: | |
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} | |
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} | |
run: npx semantic-release |