mirror of
https://github.com/prymitive/karma
synced 2026-02-13 20:59:53 +00:00
fix(demo): drop heroku tests
This commit is contained in:
committed by
Łukasz Mierzwa
parent
274b02e6e1
commit
78516a2fcf
3
.github/workflows/node-version.yml
vendored
3
.github/workflows/node-version.yml
vendored
@@ -32,9 +32,6 @@ jobs:
|
||||
- name: Regenerate ui package-lock.json
|
||||
run: cd ui && npm i
|
||||
|
||||
- name: Regenerate e2e package-lock.json
|
||||
run: cd ui/e2e && npm i
|
||||
|
||||
- name: Create Pull Request
|
||||
id: cpr
|
||||
uses: peter-evans/create-pull-request@v4.1.3
|
||||
|
||||
55
.github/workflows/test.yml
vendored
55
.github/workflows/test.yml
vendored
@@ -513,58 +513,3 @@ jobs:
|
||||
tags: ${{ env.DOCKER_TAGS }}
|
||||
build-args: |
|
||||
VERSION=${{ env.VERSION }}
|
||||
|
||||
demo-deploy:
|
||||
name: Deploy demo app to Heroku
|
||||
if: github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name
|
||||
needs: stage-test-and-lint
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Set up Node JS
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 18.10.0
|
||||
cache: 'npm'
|
||||
cache-dependency-path: 'ui/e2e/package-lock.json'
|
||||
|
||||
- name: Install Heroku CLI
|
||||
run: curl -s --connect-timeout 30 --fail https://cli-assets.heroku.com/install.sh | sh
|
||||
|
||||
- name: Build Docker image
|
||||
run: docker build --build-arg VERSION=$(make show-version) -t registry.heroku.com/karma-demo/web -f demo/Dockerfile .
|
||||
shell: bash
|
||||
|
||||
- name: Write .netrc
|
||||
run: |
|
||||
echo "machine api.heroku.com" >> $HOME/.netrc
|
||||
echo " login l.mierzwa@gmail.com" >> $HOME/.netrc
|
||||
echo " password ${HEROKU_API_KEY}" >> $HOME/.netrc
|
||||
env:
|
||||
HEROKU_API_KEY: ${{ secrets.HEROKU_API_KEY }}
|
||||
|
||||
- name: Login to Heroku
|
||||
run: echo "${HEROKU_API_KEY}" | docker login registry.heroku.com -u _ --password-stdin
|
||||
env:
|
||||
HEROKU_API_KEY: ${{ secrets.HEROKU_API_KEY }}
|
||||
|
||||
- name: Push docker image to Heroku
|
||||
run: docker push registry.heroku.com/karma-demo/web
|
||||
|
||||
- name: Trigger Heroku release
|
||||
run: /usr/local/bin/heroku container:release web --app karma-demo
|
||||
|
||||
- name: Run e2e test
|
||||
uses: nick-invision/retry@v2.8.1
|
||||
with:
|
||||
timeout_minutes: 10
|
||||
max_attempts: 3
|
||||
command: make -C ui/e2e test
|
||||
|
||||
- name: Rollback on failure
|
||||
if: failure()
|
||||
run: /usr/local/bin/heroku releases:rollback --app karma-demo
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -6,6 +6,5 @@
|
||||
/ui/coverage
|
||||
/ui/node_modules
|
||||
/ui/.eslintcache
|
||||
/ui/e2e/node_modules
|
||||
/TODO.md
|
||||
/.vscode
|
||||
|
||||
2
Makefile
2
Makefile
@@ -15,7 +15,7 @@ test: lint
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -fr $(NAME) $(NAME)-* ui/build ui/build.pre ui/node_modules ui/coverage ui/e2e/node_modules coverage.txt
|
||||
rm -fr $(NAME) $(NAME)-* ui/build ui/build.pre ui/node_modules ui/coverage coverage.txt
|
||||
|
||||
.PHONY: show-version
|
||||
show-version:
|
||||
|
||||
@@ -151,9 +151,8 @@ media queries.
|
||||
|
||||
## Demo
|
||||
|
||||
[Online demo](https://karma-demo.herokuapp.com/) is running latest main branch
|
||||
or PR branch version. It might include features that are experimental and not
|
||||
yet ready to be included.
|
||||
[Online demo](https://demo.karma-dashboard.io/) is running latest main branch.
|
||||
It might include features that are experimental and not yet ready to be included.
|
||||
|
||||
## Release notes
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
save-exact=true
|
||||
@@ -1,17 +0,0 @@
|
||||
NODE_PATH := $(shell npm bin)
|
||||
NODE_MODULES := $(shell dirname `npm bin`)
|
||||
NODE_INSTALL := $(NODE_MODULES)/.install
|
||||
|
||||
PATH := $(PATH):$(NODE_PATH)
|
||||
SHELL := env PATH=$(PATH) /bin/sh
|
||||
|
||||
$(NODE_INSTALL): package.json package-lock.json
|
||||
@if [ -e $(NODE_INSTALL) ]; then npm install ; else npm ci; fi
|
||||
touch $@
|
||||
|
||||
$(NODE_PATH)/%: $(NODE_INSTALL)
|
||||
@if [ ! -x $@ ]; then echo "missing script: $@" ; exit 1; fi
|
||||
|
||||
.PHONY: test
|
||||
test: $(NODE_PATH)/jest
|
||||
CI=true npm run test
|
||||
@@ -1,95 +0,0 @@
|
||||
const puppeteer = require("puppeteer");
|
||||
|
||||
let browser;
|
||||
let page;
|
||||
|
||||
jest.setTimeout(30000);
|
||||
|
||||
describe("Demo", () => {
|
||||
beforeAll(async () => {
|
||||
browser = await puppeteer.launch();
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await browser.close();
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
page = await browser.newPage();
|
||||
await page.goto("http://karma-demo.herokuapp.com/");
|
||||
await page.waitForSelector("div.components-grid-alertgrid-alertgroup");
|
||||
});
|
||||
|
||||
it('should be titled "karma-demo"', async () => {
|
||||
await expect(page.title()).resolves.toMatch("karma-demo");
|
||||
});
|
||||
|
||||
it("should render alert gruops", async () => {
|
||||
const alertGroups = await page.evaluate(() => {
|
||||
const anchors = Array.from(
|
||||
document.querySelectorAll(
|
||||
".components-grid-alertgrid-alertgroup > .card > .card-header"
|
||||
)
|
||||
);
|
||||
return anchors.map((anchor) => anchor.textContent);
|
||||
});
|
||||
await expect(alertGroups.length).toBeGreaterThan(10);
|
||||
await expect(alertGroups).toEqual(
|
||||
expect.arrayContaining([
|
||||
"Inhibition Test Alertcluster: prod1",
|
||||
"Disk Free Lowcluster: prod10",
|
||||
"Time Annotationcluster: prod1",
|
||||
])
|
||||
);
|
||||
});
|
||||
|
||||
it("opens overview modal on click", async () => {
|
||||
await page.waitForSelector("div.cursor-pointer.navbar-brand");
|
||||
|
||||
await page.click("div.cursor-pointer.navbar-brand");
|
||||
|
||||
await page.waitForSelector(
|
||||
"div.modal-open.components-animation-modal-enter-done"
|
||||
);
|
||||
await page.waitForSelector("div.modal-content");
|
||||
await page.waitForSelector(".components-labelWithPercent-percent");
|
||||
|
||||
const labels = await page.evaluate(() => {
|
||||
const anchors = Array.from(
|
||||
document.querySelectorAll(".components-labelWithPercent-percent")
|
||||
);
|
||||
return anchors.map((anchor) => anchor.textContent);
|
||||
});
|
||||
await expect(labels.length).toBeGreaterThan(10);
|
||||
|
||||
await page.click(".modal-header > button.btn-close");
|
||||
});
|
||||
|
||||
it("opens silence modal on click", async () => {
|
||||
await page.waitForSelector("#components-new-silence");
|
||||
|
||||
await page.click("#components-new-silence");
|
||||
|
||||
await page.waitForSelector(
|
||||
"div.modal-open.components-animation-modal-enter-done"
|
||||
);
|
||||
await page.waitForSelector("div.modal-content");
|
||||
await page.waitForSelector(".modal-body > form");
|
||||
|
||||
await page.click(".modal-header > nav > button.btn-close");
|
||||
});
|
||||
|
||||
it("opens settings modal on click", async () => {
|
||||
await page.waitForSelector("#components-settings");
|
||||
|
||||
await page.click("#components-settings");
|
||||
|
||||
await page.waitForSelector(
|
||||
"div.modal-open.components-animation-modal-enter-done"
|
||||
);
|
||||
await page.waitForSelector("div.modal-content");
|
||||
await page.waitForSelector(".modal-body > div.accordion");
|
||||
|
||||
await page.click(".modal-header > nav > button.btn-close");
|
||||
});
|
||||
});
|
||||
6837
ui/e2e/package-lock.json
generated
6837
ui/e2e/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -1,17 +0,0 @@
|
||||
{
|
||||
"name": "e2e",
|
||||
"version": "0.0.1",
|
||||
"license": "Apache-2.0",
|
||||
"private": true,
|
||||
"engines": {
|
||||
"npm": ">=8.3 <9.0",
|
||||
"node": "18.10.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "jest --runInBand demo.test.js"
|
||||
},
|
||||
"devDependencies": {
|
||||
"jest": "29.1.1",
|
||||
"puppeteer": "18.0.5"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user