Skip to content

Commit

Permalink
ci: new pipeline
Browse files Browse the repository at this point in the history
  • Loading branch information
stas-nc committed Oct 21, 2024
1 parent 6238fcf commit cb95659
Show file tree
Hide file tree
Showing 3 changed files with 107 additions and 49 deletions.
117 changes: 69 additions & 48 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,54 +1,75 @@
name: CI

on:
push:
branches:
- master
tags-ignore:
- "**"
pull_request:
branches:
- "**"
push:
branches:
- master
- feature/publish-package
tags-ignore:
- '**'
pull_request:
branches:
- '**'

jobs:
build:
name: Build
runs-on: ubuntu-latest
build:
name: Build
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16.x, 18.x, 20.x]
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- run: npm ci
- if: github.event_name == 'pull_request'
name: Lint commit messages
run: npx commitlint --from $GITHUB_BASE_REF --to $GITHUB_HEAD_REF
- run: npm run format:check
- run: npm run lint
- run: npm run build
- run: npm run coverage
- if: matrix.node-version == '20.x'
uses: actions/upload-artifact@v4
with:
name: Code coverage
path: coverage/
- if: matrix.node-version == '20.x'
run: npm run docs
- if: matrix.node-version == '20.x'
uses: actions/upload-artifact@v4
with:
name: Documentation
path: docs/

strategy:
matrix:
node-version: [16.x, 18.x, 20.x]

steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- run: npm ci
- if: github.event_name == 'pull_request'
name: Lint commit messages
run: npx commitlint --from $GITHUB_BASE_REF --to $GITHUB_HEAD_REF
- run: npm run format:check
- run: npm run lint
- run: npm run build
- run: npm run coverage
- if: matrix.node-version == '20.x'
uses: actions/upload-artifact@v4
with:
name: Code coverage
path: coverage/
- if: matrix.node-version == '20.x'
run: npm run docs
- if: matrix.node-version == '20.x'
uses: actions/upload-artifact@v4
with:
name: Documentation
path: docs/
- name: Deploy Docs
if: github.ref == 'refs/heads/master' && matrix.node-version == '20.x'
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs
publish:
name: 'Publish'
needs: build
runs-on: ubuntu-latest
environment: npm_publish
# if: github.ref == 'refs/heads/master'
steps:
# - uses: actions/download-artifact@v4
# with:
# name: Documentation
# path: docs/
# - name: Deploy Docs
# uses: peaceiris/actions-gh-pages@v4
# with:
# github_token: ${{ secrets.GITHUB_TOKEN }}
# publish_dir: ./docs
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
cache: 'npm'
- run: npm ci
- name: Publish new version
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npx semantic-release --dry-run
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ilc-sdk",
"version": "5.2.1",
"version": "0.0.0",
"description": "SDK for app development with Isomorphic Layout Composer",
"main": "dist/server/index.js",
"types": "dist/server/index.d.ts",
Expand Down
37 changes: 37 additions & 0 deletions release.config.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,43 @@
const preset = 'conventional-commits';

/**
* semantic-release plugin to analyze commits with conventional-changelog
* https://github.com/semantic-release/commit-analyzer
*/
const commitAnalyzerConfig = {
preset
}

/**
* semantic-release plugin to generate changelog content with conventional-changelog
* https://github.com/semantic-release/release-notes-generator
*/
const releaseNotesGeneratorConfig = {
preset,
};

/**
* semantic-release plugin to publish a GitHub release and comment on released Pull Requests/Issues.
* https://github.com/semantic-release/github
*/
const githubConfig = {
successComment: false,
failComment: false,
labels: false,
releasedLabels: false,

}

/**
* @type {import('semantic-release').GlobalConfig}
*/
module.exports = {
branches: ['master', 'feature/publish-package'],
tagFormat: 'v${version}',
plugins: [
['@semantic-release/commit-analyzer', commitAnalyzerConfig],
['@semantic-release/release-notes-generator', releaseNotesGeneratorConfig],
// ['@semantic-release/npm'],
['@semantic-release/commit-analyzer/github', githubConfig]
],
};

0 comments on commit cb95659

Please sign in to comment.