DEV: Update CI workflows (#23)
Updates CI from discourse/.github Co-authored-by: justindirose <justindirose@users.noreply.github.com>
This commit is contained in:
parent
25d3fbdfed
commit
0d396f921e
|
@ -34,7 +34,7 @@ jobs:
|
|||
run: yarn install --dev
|
||||
|
||||
- name: ESLint
|
||||
run: yarn eslint --ext .js,.js.es6 --no-error-on-unmatched-pattern assets/javascripts
|
||||
run: yarn eslint --ext .js,.js.es6 --no-error-on-unmatched-pattern {test,assets}/javascripts
|
||||
|
||||
- name: Prettier
|
||||
run: |
|
||||
|
@ -42,6 +42,9 @@ jobs:
|
|||
if [ -d "assets" ]; then \
|
||||
yarn prettier --list-different "assets/**/*.{scss,js,es6}" ; \
|
||||
fi
|
||||
if [ -d "test" ]; then \
|
||||
yarn prettier --list-different "test/**/*.{js,es6}" ; \
|
||||
fi
|
||||
|
||||
- name: Rubocop
|
||||
run: bundle exec rubocop .
|
||||
|
|
|
@ -9,15 +9,13 @@ on:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
name: "${{ matrix.target }}-${{ matrix.build_types }}"
|
||||
name: ${{ matrix.build_type }}
|
||||
runs-on: ${{ matrix.os }}
|
||||
timeout-minutes: 60
|
||||
|
||||
env:
|
||||
DISCOURSE_HOSTNAME: www.example.com
|
||||
RUBY_GLOBAL_METHOD_CACHE_SIZE: 131072
|
||||
BUILD_TYPE: ${{ matrix.build_types }}
|
||||
TARGET: ${{ matrix.target }}
|
||||
RAILS_ENV: test
|
||||
PGHOST: localhost
|
||||
PGUSER: discourse
|
||||
|
@ -27,8 +25,7 @@ jobs:
|
|||
fail-fast: false
|
||||
|
||||
matrix:
|
||||
build_types: ["BACKEND", "FRONTEND"]
|
||||
target: ["PLUGINS"]
|
||||
build_type: ["backend", "frontend"]
|
||||
os: [ubuntu-latest]
|
||||
ruby: ["2.6"]
|
||||
postgres: ["12"]
|
||||
|
@ -85,7 +82,7 @@ jobs:
|
|||
wget -qO- https://raw.githubusercontent.com/discourse/discourse_docker/master/image/base/install-pngquant | sudo sh
|
||||
|
||||
- name: Update imagemagick
|
||||
if: env.BUILD_TYPE == 'BACKEND'
|
||||
if: matrix.build_type == 'backend'
|
||||
run: |
|
||||
wget https://raw.githubusercontent.com/discourse/discourse_docker/master/image/base/install-imagemagick
|
||||
chmod +x install-imagemagick
|
||||
|
@ -140,28 +137,11 @@ jobs:
|
|||
bin/rake db:create
|
||||
bin/rake db:migrate
|
||||
|
||||
- name: Create parallel databases
|
||||
if: env.BUILD_TYPE == 'BACKEND' && env.TARGET == 'CORE'
|
||||
run: |
|
||||
bin/rake parallel:create
|
||||
bin/rake parallel:migrate
|
||||
|
||||
- name: Core RSpec
|
||||
if: env.BUILD_TYPE == 'BACKEND' && env.TARGET == 'CORE'
|
||||
run: |
|
||||
bin/turbo_rspec
|
||||
bin/rake plugin:spec
|
||||
|
||||
- name: Plugin RSpec
|
||||
if: env.BUILD_TYPE == 'BACKEND' && env.TARGET == 'PLUGINS' && steps.check_spec.outputs.files_exists == 'true'
|
||||
if: matrix.build_type == 'backend' && steps.check_spec.outputs.files_exists == 'true'
|
||||
run: bin/rake plugin:spec[${{ github.event.repository.name }}]
|
||||
|
||||
- name: Core QUnit
|
||||
if: env.BUILD_TYPE == 'FRONTEND' && env.TARGET == 'CORE'
|
||||
run: bundle exec rake qunit:test['1200000']
|
||||
timeout-minutes: 30
|
||||
|
||||
- name: Plugin QUnit
|
||||
if: env.BUILD_TYPE == 'FRONTEND' && env.TARGET == 'PLUGINS' && steps.check_qunit.outputs.files_exists == 'true'
|
||||
if: matrix.build_type == 'frontend' && steps.check_qunit.outputs.files_exists == 'true'
|
||||
run: bundle exec rake plugin:qunit['${{ github.event.repository.name }}','1200000']
|
||||
timeout-minutes: 30
|
||||
|
|
|
@ -1,32 +1,32 @@
|
|||
import { acceptance, queryAll } from 'helpers/qunit-helpers';
|
||||
import docsFixtures from '../fixtures/docs';
|
||||
import { acceptance, queryAll } from "helpers/qunit-helpers";
|
||||
import docsFixtures from "../fixtures/docs";
|
||||
|
||||
acceptance('Knowledge Explorer', function (needs) {
|
||||
acceptance("Knowledge Explorer", function (needs) {
|
||||
needs.user();
|
||||
needs.settings({
|
||||
knowledge_explorer_enabled: true,
|
||||
});
|
||||
|
||||
needs.pretender((server, helper) => {
|
||||
server.get('/docs.json', () => helper.response(docsFixtures));
|
||||
server.get("/docs.json", () => helper.response(docsFixtures));
|
||||
});
|
||||
|
||||
test('index page', async function (assert) {
|
||||
await visit('/');
|
||||
await click('#toggle-hamburger-menu');
|
||||
await click('.knowledge-explorer-link');
|
||||
test("index page", async function (assert) {
|
||||
await visit("/");
|
||||
await click("#toggle-hamburger-menu");
|
||||
await click(".knowledge-explorer-link");
|
||||
|
||||
assert.equal(
|
||||
queryAll('.knowledge-explorer-category')[0].innerText.trim(),
|
||||
'bug 119'
|
||||
queryAll(".knowledge-explorer-category")[0].innerText.trim(),
|
||||
"bug 119"
|
||||
);
|
||||
assert.equal(
|
||||
queryAll('.knowledge-explorer-tag')[0].innerText.trim(),
|
||||
'something 74'
|
||||
queryAll(".knowledge-explorer-tag")[0].innerText.trim(),
|
||||
"something 74"
|
||||
);
|
||||
assert.equal(
|
||||
queryAll('.knowledge-explorer-topic-link')[0].innerText.trim(),
|
||||
'Importing from Software X'
|
||||
queryAll(".knowledge-explorer-topic-link")[0].innerText.trim(),
|
||||
"Importing from Software X"
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
export default {
|
||||
tags: [
|
||||
{
|
||||
id: 'something',
|
||||
id: "something",
|
||||
count: 74,
|
||||
active: false,
|
||||
},
|
||||
|
@ -17,34 +17,34 @@ export default {
|
|||
users: [
|
||||
{
|
||||
id: 2,
|
||||
username: 'cvx',
|
||||
name: 'Jarek',
|
||||
avatar_template: '/letter_avatar/cvx/{size}/2.png',
|
||||
username: "cvx",
|
||||
name: "Jarek",
|
||||
avatar_template: "/letter_avatar/cvx/{size}/2.png",
|
||||
},
|
||||
],
|
||||
primary_groups: [],
|
||||
topic_list: {
|
||||
can_create_topic: true,
|
||||
draft: null,
|
||||
draft_key: 'new_topic',
|
||||
draft_key: "new_topic",
|
||||
draft_sequence: 94,
|
||||
per_page: 30,
|
||||
top_tags: ['something'],
|
||||
top_tags: ["something"],
|
||||
topics: [
|
||||
{
|
||||
id: 54881,
|
||||
title: 'Importing from Software X',
|
||||
fancy_title: 'Importing from Software X',
|
||||
slug: 'importing-from-software-x',
|
||||
title: "Importing from Software X",
|
||||
fancy_title: "Importing from Software X",
|
||||
slug: "importing-from-software-x",
|
||||
posts_count: 112,
|
||||
reply_count: 72,
|
||||
highest_post_number: 122,
|
||||
image_url: null,
|
||||
created_at: '2016-12-28T14:59:29.396Z',
|
||||
last_posted_at: '2020-11-14T16:21:35.720Z',
|
||||
created_at: "2016-12-28T14:59:29.396Z",
|
||||
last_posted_at: "2020-11-14T16:21:35.720Z",
|
||||
bumped: true,
|
||||
bumped_at: '2020-11-14T16:21:35.720Z',
|
||||
archetype: 'regular',
|
||||
bumped_at: "2020-11-14T16:21:35.720Z",
|
||||
archetype: "regular",
|
||||
unseen: false,
|
||||
pinned: false,
|
||||
unpinned: null,
|
||||
|
@ -53,11 +53,11 @@ export default {
|
|||
archived: false,
|
||||
bookmarked: null,
|
||||
liked: null,
|
||||
tags: ['something'],
|
||||
tags: ["something"],
|
||||
views: 15222,
|
||||
like_count: 167,
|
||||
has_summary: true,
|
||||
last_poster_username: 'cvx',
|
||||
last_poster_username: "cvx",
|
||||
category_id: 1,
|
||||
pinned_globally: false,
|
||||
featured_link: null,
|
||||
|
@ -65,19 +65,19 @@ export default {
|
|||
posters: [
|
||||
{
|
||||
extras: null,
|
||||
description: 'Original Poster',
|
||||
description: "Original Poster",
|
||||
user_id: 2,
|
||||
primary_group_id: null,
|
||||
},
|
||||
{
|
||||
extras: null,
|
||||
description: 'Frequent Poster',
|
||||
description: "Frequent Poster",
|
||||
user_id: 2,
|
||||
primary_group_id: null,
|
||||
},
|
||||
{
|
||||
extras: 'latest',
|
||||
description: 'Most Recent Poster',
|
||||
extras: "latest",
|
||||
description: "Most Recent Poster",
|
||||
user_id: 2,
|
||||
primary_group_id: null,
|
||||
},
|
||||
|
@ -85,7 +85,7 @@ export default {
|
|||
},
|
||||
],
|
||||
},
|
||||
load_more_url: '/docs.json?page=1',
|
||||
load_more_url: "/docs.json?page=1",
|
||||
},
|
||||
search_count: null,
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue