chore(release): publish #479
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: CI | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- '**' | |
env: | |
PRIMARY_NODE_VERSION: 20 | |
jobs: | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js ${{ env.PRIMARY_NODE_VERSION }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ env.PRIMARY_NODE_VERSION }} | |
- name: Cache node modules | |
uses: actions/cache@v4 | |
env: | |
cache-name: cache-node-modules | |
with: | |
# npm cache files are stored in `~/.npm` on Linux/macOS | |
path: ~/.npm | |
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-build-${{ env.cache-name }}- | |
${{ runner.os }}-build- | |
${{ runner.os }}- | |
- name: Install dependencies | |
run: | | |
npm install | |
- name: Lint library | |
run: | | |
npm run lint | |
build-libs-with-apps: | |
name: Build libraries and applications | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js ${{ env.PRIMARY_NODE_VERSION }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ env.PRIMARY_NODE_VERSION }} | |
- name: Cache node modules | |
uses: actions/cache@v4 | |
env: | |
cache-name: cache-node-modules | |
with: | |
# npm cache files are stored in `~/.npm` on Linux/macOS | |
path: ~/.npm | |
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-build-${{ env.cache-name }}- | |
${{ runner.os }}-build- | |
${{ runner.os }}- | |
- name: Install dependencies | |
run: | | |
npm install | |
# It’s possible for a library to be built while an application that uses it cannot be built.built | |
- name: Build v2 library | |
run: | | |
npm run build:lib:v2 | |
npm run build:app:v2 | |
- name: Build v3 library | |
run: | | |
npm run build:lib:v3 | |
npm run build:app:v3 | |
test: | |
name: Unit testing with coverage | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js ${{ env.PRIMARY_NODE_VERSION }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ env.PRIMARY_NODE_VERSION }} | |
- name: Cache node modules | |
uses: actions/cache@v4 | |
env: | |
cache-name: cache-node-modules | |
with: | |
# npm cache files are stored in `~/.npm` on Linux/macOS | |
path: ~/.npm | |
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-build-${{ env.cache-name }}- | |
${{ runner.os }}-build- | |
${{ runner.os }}- | |
- name: Install dependencies | |
run: | | |
npm install | |
- name: Run tests and collect coverage | |
run: | | |
npm run test:coverage | |
- name: Upload coverage report for v2 library version | |
uses: codecov/codecov-action@v4 | |
with: | |
directory: ./coverage/libs/angular-yandex-maps-v2 | |
flags: angular-yandex-maps-v2 | |
token: ${{ secrets.CODECOV_TOKEN }} | |
- name: Upload coverage report for v3 library version | |
uses: codecov/codecov-action@v4 | |
with: | |
directory: ./coverage/libs/angular-yandex-maps-v3 | |
flags: angular-yandex-maps-v3 | |
token: ${{ secrets.CODECOV_TOKEN }} |