Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sky172839465/integration-example

frontend integration example
https://github.com/sky172839465/integration-example

continuous-deployment continuous-integration cronjob frontend github-actions

Last synced: 24 days ago
JSON representation

frontend integration example

Awesome Lists containing this project

README

        

# integration-example

[![release](https://github.com/sky172839465/integration-example/actions/workflows/release.yml/badge.svg)](https://github.com/sky172839465/integration-example/actions/workflows/release.yml)
[![schedule](https://github.com/sky172839465/integration-example/actions/workflows/schedule.yml/badge.svg)](https://github.com/sky172839465/integration-example/actions/workflows/schedule.yml)

Front-end integration with free service.


Includes:

- pull request integration
- release integration
- schedule testing integration

---

### Workflow

-
pull request

[pull_request.yml](/.github/workflows/pull_request.yml)

```mermaid
graph LR;
Start(PR event)
subgraph Env clean up
Z1(Remove fly.io pr env)
Z2(Remove development env)
Z1-->Z2
end
subgraph PR status
StatusA(open / reopen / sync)
StatusB(close)
end
subgraph Functional test
A1(Deploy pr env fly.io)
A2(E2E test)
A3(Upload E2E report)
A1-->A2-->A3
end
subgraph Static test
B1(Lint test)
B2(Unit test)
B1-->B2
end
subgraph Clean up
C1(Download artifacts)
C2(Generate summary)
C3(Add summary comment)
C1-->C2-->C3
end
Start-->StatusA & StatusB
StatusA-->A1 & B1
StatusB-->Z1
A3 & B2-->C1
```

-
release

[release.yml](/.github/workflows/release.yml)

```mermaid
graph LR;
A1(Bump version)
A2(Deploy to fly.io)
A1-->A2
```

-
schedule

[schedule.yml](/.github/workflows/schedule.yml) . [dashboard](https://github.com/sky172839465/integration-example/issues/12#issuecomment-1890858131)

```mermaid
graph LR;
A1(Trigger by cron)
subgraph Functional test
B1(E2E test)
B2(Upload E2E report)
B1-- test online env -->B2
end
subgraph Static test
C1(Lint test)
C2(Unit test)
C1-->C2
end
subgraph Clean up
A2(Generate summary)
A3(Update summary to dashboard)
A2-->A3
end
A1-->B1 & C1
B2 & C2-->A2
```

---

### Installation

- docker deskop

https://www.docker.com/products/docker-desktop/

---

### Skip pr & release build

- pr last commit with `[skip ci]`
- exmaple: https://github.com/sky172839465/integration-example/pull/39

---

### Functional test in selenoid

- npm run start
- launch docker desktop
- (`FIRST TIME ONLY`)
- npm run selenoid:download
- npm run functional:selenoid (if localhost not found, check CRA `On Your Network` IP address)

---

### Manual browser in selenoid

- launch docker desktop
- (`FIRST TIME ONLY`)
- npm run selenoid:download
- npm run selenoid-ui:start
- access http://localhost:8080/#/capabilities/

---

### Document

- CodeceptJS

https://codecept.io/quickstart/
- SauceLabs

https://docs.saucelabs.com/overview/
- Selenoid

https://aerokube.com/selenoid/latest/
- GitHub Actions

https://docs.github.com/en/actions/quickstart
- Fly.io

https://fly.io/docs/