mirror of
https://github.com/shlinkio/shlink-web-client.git
synced 2024-12-23 17:40:23 +03:00
Merge pull request #348 from acelaya-forks/feature/github-actions
Created workflow for ci in github actions
This commit is contained in:
commit
2a5fa54ae1
5 changed files with 61 additions and 47 deletions
58
.github/workflows/ci.yml
vendored
Normal file
58
.github/workflows/ci.yml
vendored
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
name: Continuous integration
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request: null
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lint:
|
||||||
|
continue-on-error: true
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: Use node.js 14.15
|
||||||
|
uses: actions/setup-node@v1
|
||||||
|
with:
|
||||||
|
node-version: 14.15
|
||||||
|
- run: npm ci
|
||||||
|
- run: npm run lint
|
||||||
|
|
||||||
|
unit-tests:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: Use node.js 14.15
|
||||||
|
uses: actions/setup-node@v1
|
||||||
|
with:
|
||||||
|
node-version: 14.15
|
||||||
|
- run: npm ci
|
||||||
|
- run: npm run test:ci
|
||||||
|
- run: node_modules/.bin/ocular coverage/clover.xml
|
||||||
|
|
||||||
|
mutation-tests:
|
||||||
|
continue-on-error: true
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: Use node.js 14.15
|
||||||
|
uses: actions/setup-node@v1
|
||||||
|
with:
|
||||||
|
node-version: 14.15
|
||||||
|
- run: npm ci
|
||||||
|
- run: MUTATION_FILES=$(git diff origin/main --name-only | grep -E 'src\/(.*).(ts|tsx)$' | paste -sd ",") npm run mutate:ci
|
||||||
|
|
||||||
|
build-docker-image:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v1
|
||||||
|
with:
|
||||||
|
version: latest
|
||||||
|
- run: docker build -t shlink-web-client:test .
|
44
.travis.yml
44
.travis.yml
|
@ -1,44 +0,0 @@
|
||||||
dist: bionic
|
|
||||||
|
|
||||||
language: node_js
|
|
||||||
|
|
||||||
branches:
|
|
||||||
only:
|
|
||||||
- /.*/
|
|
||||||
|
|
||||||
cache:
|
|
||||||
directories:
|
|
||||||
- node_modules
|
|
||||||
|
|
||||||
node_js:
|
|
||||||
- '14.15.0'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
fast_finish: true
|
|
||||||
allow_failures:
|
|
||||||
- name: 'Lint'
|
|
||||||
- name: 'Mutation tests'
|
|
||||||
include:
|
|
||||||
|
|
||||||
- name: 'Lint'
|
|
||||||
install: npm ci
|
|
||||||
script: npm run lint
|
|
||||||
|
|
||||||
- name: 'Unit tests'
|
|
||||||
install: npm ci
|
|
||||||
script: npm run test:ci
|
|
||||||
after_success:
|
|
||||||
- node_modules/.bin/ocular coverage/clover.xml
|
|
||||||
|
|
||||||
- name: 'Mutation tests'
|
|
||||||
install: npm ci
|
|
||||||
before_script:
|
|
||||||
- echo "Building commit range ${TRAVIS_COMMIT_RANGE}"
|
|
||||||
- export MUTATION_FILES=$(git diff ${TRAVIS_COMMIT_RANGE:-origin/main} --name-only | grep -E 'src\/(.*).(ts|tsx)$' | paste -sd ",")
|
|
||||||
script: npm run mutate:ci
|
|
||||||
|
|
||||||
- name: 'Build docker image'
|
|
||||||
services:
|
|
||||||
- docker
|
|
||||||
install: skip
|
|
||||||
script: docker build -t shlink-web-client:test .
|
|
|
@ -1,4 +1,4 @@
|
||||||
FROM node:14.15.0-alpine as node
|
FROM node:14.15-alpine as node
|
||||||
COPY . /shlink-web-client
|
COPY . /shlink-web-client
|
||||||
ARG VERSION="latest"
|
ARG VERSION="latest"
|
||||||
ENV VERSION ${VERSION}
|
ENV VERSION ${VERSION}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# shlink-web-client
|
# shlink-web-client
|
||||||
|
|
||||||
[![Build Status](https://img.shields.io/travis/com/shlinkio/shlink-web-client.svg?style=flat-square)](https://travis-ci.com/shlinkio/shlink-web-client)
|
[![Build Status](https://img.shields.io/github/workflow/status/shlinkio/shlink/Continuous%20integration/main?style=flat-square)](https://github.com/shlinkio/shlink-web-client/actions?query=workflow%3A%22Continuous+integration%22)
|
||||||
[![Code Coverage](https://img.shields.io/scrutinizer/coverage/g/shlinkio/shlink-web-client.svg?style=flat-square)](https://scrutinizer-ci.com/g/shlinkio/shlink-web-client/)
|
[![Code Coverage](https://img.shields.io/scrutinizer/coverage/g/shlinkio/shlink-web-client.svg?style=flat-square)](https://scrutinizer-ci.com/g/shlinkio/shlink-web-client/)
|
||||||
[![Scrutinizer Code Quality](https://img.shields.io/scrutinizer/g/shlinkio/shlink-web-client.svg?style=flat-square)](https://scrutinizer-ci.com/g/shlinkio/shlink-web-client/)
|
[![Scrutinizer Code Quality](https://img.shields.io/scrutinizer/g/shlinkio/shlink-web-client.svg?style=flat-square)](https://scrutinizer-ci.com/g/shlinkio/shlink-web-client/)
|
||||||
[![GitHub release](https://img.shields.io/github/release/shlinkio/shlink-web-client.svg?style=flat-square)](https://github.com/shlinkio/shlink-web-client/releases/latest)
|
[![GitHub release](https://img.shields.io/github/release/shlinkio/shlink-web-client.svg?style=flat-square)](https://github.com/shlinkio/shlink-web-client/releases/latest)
|
||||||
|
|
|
@ -3,7 +3,7 @@ version: '3'
|
||||||
services:
|
services:
|
||||||
shlink_web_client_node:
|
shlink_web_client_node:
|
||||||
container_name: shlink_web_client_node
|
container_name: shlink_web_client_node
|
||||||
image: node:14.15.0-alpine
|
image: node:14.15-alpine
|
||||||
command: /bin/sh -c "cd /home/shlink/www && npm install && npm run start"
|
command: /bin/sh -c "cd /home/shlink/www && npm install && npm run start"
|
||||||
volumes:
|
volumes:
|
||||||
- ./:/home/shlink/www
|
- ./:/home/shlink/www
|
||||||
|
|
Loading…
Reference in a new issue