Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added GitHub Action to run tests #2

Merged
merged 5 commits into from
Apr 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .eslint-todo-errors.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"tests/integration/components/flexberry-markdown-editor-test.js": [
{ "ruleId": "hbs/check-hbs-template-literals", "line": 13, "column": 18 },
{ "ruleId": "hbs/check-hbs-template-literals", "line": 18, "column": 18 }
]
}
16 changes: 15 additions & 1 deletion .eslintignore
Original file line number Diff line number Diff line change
@@ -1 +1,15 @@
/blueprints/*/files/**/*.js
# unconventional js
/vendor/

# compiled output
/dist/
/tmp/

# dependencies
/bower_components/
/node_modules/

# ember-try
/.node_modules.ember-try/
/bower.json.ember-try
/package.json.ember-try
42 changes: 31 additions & 11 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,50 +1,70 @@
'use strict';

module.exports = {
root: true,
parser: 'babel-eslint',
parserOptions: {
ecmaVersion: 2017,
sourceType: 'module'
ecmaVersion: 2018,
sourceType: 'module',
ecmaFeatures: {
legacyDecorators: true
}
},
plugins: [
'ember'
'ember',
'hbs',
'jsdoc',
'qunit',
'todo-errors'
],
extends: [
'eslint:recommended',
'plugin:ember/recommended'
'plugin:ember/recommended',
'plugin:jsdoc/recommended',
'plugin:qunit/two'
],
env: {
browser: true
},
rules: {
'ember/new-module-imports': 'off',
'ember/use-ember-data-rfc-395-imports': 'off',
'ember/no-get': 'off',
'ember/use-ember-get-and-set': ['error', { ignoreThisExpressions: true, }],
'ember/no-jquery': 'off',
'ember/no-observers': 'warn',
'ember/no-mixins': 'off',
'ember/require-computed-property-dependencies': 'off',
'hbs/check-hbs-template-literals': 'error',
'ember/no-new-mixins': 'off',
},
reportUnusedDisableDirectives: true,
overrides: [
// node files
{
files: [
'.eslintrc.js',
'.template-lintrc.js',
'ember-cli-build.js',
'index.js',
'testem.js',
'blueprints/*/index.js',
'config/**/*.js',
'tests/dummy/config/**/*.js'
],
excludedFiles: [
'addon/**',
'addon-test-support/**',
'app/**',
'tests/dummy/app/**'
],
parserOptions: {
sourceType: 'script',
ecmaVersion: 2015
sourceType: 'script'
},
env: {
browser: false,
node: true
},
plugins: ['node'],
rules: Object.assign({}, require('eslint-plugin-node').configs.recommended.rules, {
// add your custom rules and overrides for node files here
})
extends: ['plugin:node/recommended']
}
]
};
54 changes: 54 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
name: "\U0001F41B Сообщение об ошибке"
about: "Если что-то работает не так, как ожидалось..."
title: ''
labels: ''
assignees: ''

---

### Описание ошибки
*<Четкое и краткое описание ошибки>*

### Ожидаемое поведение
*<Описание того как должно работать на самом деле>
<Ссылка на вариант с рабочей версией если есть>*

### Шаги воспроизведения
*<Описание того, что нужно сделать, чтобы увидеть проблему>*
1. Зайти '...'
2. Нажать на '...'
3. Вот ошибка

### Конфигурация
*<Описание конфигурации на которой воспроизводится ошибка>*

Ошибка воспроизводится на следующей конфигурации:
**Устройство:** `(компьютер, планшет, смартфон)`
**ОС:** `(win, mono, ios)`
**Браузер:** `(Chrome, FireFox, Edge, IE, Safari)`
**Версия браузера:** `(x.x.x)`
**Версия технологического проекта:** `(номер версии или имя ветки)`

### Пути решения
*<Описание того, в чём заключается проблема>
<Подсказки программисту как исправить ошибку>*

### Исходный код
*<Указание на то, в каком репозитории вносить изменения, какую ветку взять за основу, в каких классах или файлах вести доработки, а что не трогать ни при каких условиях>*

**Проект на GitHub:** `<адрес>`
**Ветка:** `<имя ветки>`

### Документация
*<Ссылки на документацию по исправляемой подсистеме, компоненту, классу>*
- [Ссылка](https://<адрес>.com) - ссылка на документацию

### Тесты
*<Тесты которые нужно разработать в рамках этой задачи (модульные, интеграционные, сценарии тестирования), чтобы предотвратить такую ошибку в будущем>*

### Скриншоты, полезные ссылки
*<Скриншоты демонстрирующие ошибочное поведение>
<Дополнительный материал который может пригодиться, чтобы успешно исправить ошибку (номер задачи, запись на форуме и т.д.)>*
- ![Скриншот]()
- [Ссылка](https://<адрес>.com) - полезная ссылка
42 changes: 42 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
name: "\U0001F680 Задача на доработку"
about: "Запросы на развитие технологической платформы"
title: ''
labels: ''
assignees: ''

---

### Цель
*<Четкое и краткое описание данной задачи>*

### Функциональные требования
*<Условия которые должны быть выполнены, чтобы задачу можно было бы засчитать сделанной с т.з. реализованной функциональности>
<Можно сюда же написать и то, что не должно быть в реализации (ограничение на реализацию)>*
1. Реализовать '...'
2. Проверить '...'

### Требования к реализации
*<Подсказки программисту как решить поставленную задачу>*

### Исходный код
*<Указание на то, в каком репозитории вносить изменения, какую ветку взять за основу, в каких классах или файлах вести доработки, а что не трогать ни при каких условиях>*

**Проект на GitHub:** `<адрес>`
**Ветка:** `<имя ветки>`

### Документация
*<Ссылки на документацию по дорабатываемой подсистеме, компоненту, классу или куда её добавить>*
- [Ссылка](https://<адрес>.com) - ссылка на документацию

### Тесты
*<Тесты которые нужно разработать в рамках реализации этой задачи (модульные, интеграционные, сценарии тестирования)>*

### Аналоги, примеры реализации
*<Примеры, куда ещё можно посмотреть, чтобы понять, что требуется сделать в конечном итоге. Какие функции нужно повторить, а какие нет>*
- [Ссылка](https://<адрес>.com) - ссылка на аналог

### Полезные ссылки, скриншоты
*<Дополнительный материал который может пригодиться, чтобы успешно справиться с поставленной задачей (номер задачи, запись на форуме и т.д.)>*
- [Ссылка](https://<адрес>.com) - полезная ссылка
- ![Скриншот]()
23 changes: 23 additions & 0 deletions .github/actions/setup-test-environment/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Setup test environment
description: It launches browser and backend of dummy-app for tests.
runs:
using: composite
steps:
- name: Install docker-compose and curl packages
run: sudo apt-get install docker-compose curl
shell: bash

- name: Start dummy-app backend
run: |
docker pull flexberry/ember-flexberry-stand-backend:latest
docker pull flexberry/ember-flexberry-stand-postgres:latest
curl -o docker-compose.yml -O https://raw.githubusercontent.com/Flexberry/FlexberryEmberTestStand.ODataBackend/master/Docker/ember-flexberry-stand-postgres.yml
docker-compose up -d
shell: bash

- name: Start Google Chrome
run: |
sudo chown root /opt/google/chrome/chrome-sandbox
sudo chmod 4755 /opt/google/chrome/chrome-sandbox
google-chrome-stable --headless --disable-gpu --no-sandbox --remote-debugging-port=9222 http://localhost &
shell: bash
34 changes: 34 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: CI

on: [push, pull_request]

jobs:
test-addon:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2

- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: '12.x'

- name: Install dependencies
run: |
set -x
npm install -g [email protected]
npm install

- name: Setup test environment
uses: ./.github/actions/setup-test-environment

- name: Run linters
id: linting
run: yarn run lint

- name: Test addon
if: ${{ success() || steps.linting.conclusion == 'failure' }}
run: |
set -x
ember try:one ember-default --skip-cleanup
18 changes: 18 additions & 0 deletions .template-lintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
'use strict';

module.exports = {
extends: ['recommended', 'stylistic'],
rules: {
'no-bare-strings': true
},
ignore: [
],
pending: [
{
"moduleId": "tests/dummy/app/templates/application",
"only": [
"no-bare-strings"
]
},
]
};
13 changes: 10 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,17 @@ Contributing
* `cd ember-flexberry-tinymce`
* `npm install`

### Linting
#### Linting

* `npm run lint:js`
* `npm run lint:js -- --fix`
* `yarn lint:js`
* `yarn lint:js --fix`

#### Linting

* `npm run lint` - run all linters
* `npm run lint:js` - run linter for code
* `npm run lint:hbs` - run linter for templates
* `npx update-todo-errors` - update list of todo errors

### Running tests

Expand Down
4 changes: 2 additions & 2 deletions addon/components/flexberry-markdown-editor.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@ export default Component.extend({

/**
* Настройки компонента tinymce по умолчанию
*/
*/
defaultOptions: null,

/**
* Пользовательские настройки компонента tinymce
*/
*/
options: null,

init() {
Expand Down
6 changes: 3 additions & 3 deletions addon/templates/components/flexberry-markdown-editor.hbs
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
<textarea>
{{value}}
</textarea>
<textarea>
{{value}}
</textarea>
Loading
Loading