Skip to content

Commit 82e89b1

Browse files
authored
Added the test and release workflows (#122)
1 parent 38f22ef commit 82e89b1

File tree

6 files changed

+3189
-12469
lines changed

6 files changed

+3189
-12469
lines changed

.github/workflows/release.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Release 2gl Library
2+
3+
on:
4+
release:
5+
types: [created]
6+
7+
jobs:
8+
run-tests:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v3
12+
- uses: actions/setup-node@v3
13+
with:
14+
node-version: 18
15+
- run: npm ci
16+
- run: npm run lint
17+
- run: npm run test
18+
19+
publish-npm:
20+
needs: run-tests
21+
runs-on: ubuntu-latest
22+
steps:
23+
- uses: actions/checkout@v3
24+
- uses: actions/setup-node@v3
25+
with:
26+
node-version: 18
27+
registry-url: https://registry.npmjs.org/
28+
- run: |
29+
npm ci
30+
npm run build
31+
npm run copy
32+
- run: npm publish --access public
33+
env:
34+
NODE_AUTH_TOKEN: ${{secrets.npm_token}}

.github/workflows/test.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: Test 2gl Library
2+
3+
on:
4+
push:
5+
branches:
6+
- '*'
7+
tags-ignore:
8+
- '*'
9+
10+
jobs:
11+
run-tests:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v3
15+
- uses: actions/setup-node@v3
16+
with:
17+
node-version: 18
18+
- run: npm ci
19+
- run: npm run lint
20+
- run: npm run test

README.md

Lines changed: 52 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,52 @@
1-
# 2gl [![Build Status](https://travis-ci.org/2gis/2gl.svg?branch=master)](https://travis-ci.org/2gis/2gl) [![Coverage Status](https://coveralls.io/repos/2gis/2gl/badge.svg?branch=master&service=github)](https://coveralls.io/github/2gis/2gl?branch=master)
2-
Узкоспециализированная библиотека WebGL для использования в проектах 2GIS
3-
4-
**[Документация](https://2gis.github.io/2gl/docs)**
5-
6-
* Для работы с матрицами и векторами используется библиотека [glMatrix](http://glmatrix.net/)
7-
* Работа с геометрическими объектами, например, Plane, Line3, Ray, взята из [three.js](http://threejs.org/)
8-
9-
На данный момент может работать со следующими типами объектов для отображения:
10-
11-
1. [Basic mesh](https://2gis.github.io/2gl/docs/BasicMeshMaterial.html) - меш, закрашивается в один цвет
12-
2. [Complex mesh](https://2gis.github.io/2gl/docs/ComplexMeshMaterial.html) - меш, для которого можно устанавить: цвета для каждой из вершин, освещение, текстуру и определять для какой из вершин будет использоваться текстура
13-
3. [Sprite](https://2gis.github.io/2gl/docs/Sprite.html) - спрайт, к камере расположен всегда одной гранью, удалённость не влияет на размеры изображения
14-
4. [MultiSprite](https://2gis.github.io/2gl/docs/MultiSprite.html) - мультиспрайт представляет собой множество спрайтов, которые рисуются в один draw call
15-
16-
#### Examples
17-
* [Basic mesh performance](https://2gis.github.io/2gl/examples/basicMeshPerformance)
18-
* [Complex mesh performance](https://2gis.github.io/2gl/examples/complexMeshPerformance)
19-
* [Sprite performance](https://2gis.github.io/2gl/examples/spritePerformance)
20-
* [MultiSprite performance](https://2gis.github.io/2gl/examples/multiSpritePerformance)
21-
22-
#### Установка
23-
* `npm install 2gl`
24-
25-
#### Подключение
26-
Есть несколько способов подключения библиотеки:
27-
* Напрямую через тег, скрипт `2gl.js` лежит в папке `dist` и содержит все компоненты библиотеки:
28-
```html
29-
<script src="2gl.js"></script>
30-
```
31-
* Если вы используете сборщики, например, `browserify` или `webpack`:
32-
```js
33-
var dgl = require('2gl'); // CommonJS
34-
import dgl from '2gl'; // ES6
35-
```
36-
* Можно подключать только нужные компоненты для уменьшения размера:
37-
```js
38-
var Mesh = require('2gl/Mesh');
39-
var AmbientLight = require('2gl/lights/AmbientLight');
40-
```
41-
42-
#### Development
43-
* `npm install`
44-
* `npm start`
45-
46-
#### Release
47-
* `npm version patch` - поднять патч версию
48-
* `npm run pub` - собрать проект, отправить в npm, вернуть в исходное состояние
1+
# 2gl [![Build Status](https://travis-ci.org/2gis/2gl.svg?branch=master)](https://travis-ci.org/2gis/2gl) [![Coverage Status](https://coveralls.io/repos/2gis/2gl/badge.svg?branch=master&service=github)](https://coveralls.io/github/2gis/2gl?branch=master)
2+
Узкоспециализированная библиотека WebGL для использования в проектах 2GIS
3+
4+
**[Документация](https://2gis.github.io/2gl/docs)**
5+
6+
* Для работы с матрицами и векторами используется библиотека [glMatrix](http://glmatrix.net/)
7+
* Работа с геометрическими объектами, например, Plane, Line3, Ray, взята из [three.js](http://threejs.org/)
8+
9+
На данный момент может работать со следующими типами объектов для отображения:
10+
11+
1. [Basic mesh](https://2gis.github.io/2gl/docs/BasicMeshMaterial.html) - меш, закрашивается в один цвет
12+
2. [Complex mesh](https://2gis.github.io/2gl/docs/ComplexMeshMaterial.html) - меш, для которого можно установить: цвета для каждой из вершин, освещение, текстуру и определять для какой из вершин будет использоваться текстура
13+
3. [Sprite](https://2gis.github.io/2gl/docs/Sprite.html) - спрайт, к камере расположен всегда одной гранью, удалённость не влияет на размеры изображения
14+
4. [MultiSprite](https://2gis.github.io/2gl/docs/MultiSprite.html) - мультиспрайт представляет собой множество спрайтов, которые рисуются в один draw call
15+
16+
#### Examples
17+
* [Basic mesh performance](https://2gis.github.io/2gl/examples/basicMeshPerformance)
18+
* [Complex mesh performance](https://2gis.github.io/2gl/examples/complexMeshPerformance)
19+
* [Sprite performance](https://2gis.github.io/2gl/examples/spritePerformance)
20+
* [MultiSprite performance](https://2gis.github.io/2gl/examples/multiSpritePerformance)
21+
22+
#### Установка
23+
* `npm install 2gl`
24+
25+
#### Подключение
26+
Есть несколько способов подключения библиотеки:
27+
* Напрямую через тег, скрипт `2gl.js` лежит в папке `dist` и содержит все компоненты библиотеки:
28+
```html
29+
<script src="2gl.js"></script>
30+
```
31+
* Если вы используете сборщики, например, `browserify` или `webpack`:
32+
```js
33+
var dgl = require('2gl'); // CommonJS
34+
import dgl from '2gl'; // ES6
35+
```
36+
* Можно подключать только нужные компоненты для уменьшения размера:
37+
```js
38+
var Mesh = require('2gl/Mesh');
39+
var AmbientLight = require('2gl/lights/AmbientLight');
40+
```
41+
42+
#### Development
43+
* `npm install`
44+
* `npm start`
45+
46+
#### Checking examples locally
47+
* Install `http-server`
48+
* Run `http-server` at the root project directory
49+
* Open http://localhost:8080/ and navigate to some `*.html` demo at the `examples` directory
50+
51+
#### Release
52+
* [Create a new release](https://github.com/2gis/2gl/releases), this will run the release workflow

0 commit comments

Comments
 (0)