ci: Add workflow for developing container (#231)
* ci: Add workflow for developing container * ci: Add CI tasks to Makefile * chore: Add RUNNER_TEMP to Dockerfile * deps: Bump git from 2.25.0 to 2.26.0
This commit is contained in:
parent
e470a760d3
commit
b71ad2d014
4 changed files with 53 additions and 6 deletions
37
.github/workflows/dev-image.yml
vendored
Normal file
37
.github/workflows/dev-image.yml
vendored
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
name: 'Dev Image CI'
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
paths:
|
||||||
|
- '.github/workflows/dev-image.yml'
|
||||||
|
- '.dockerignore'
|
||||||
|
- '.nvmrc'
|
||||||
|
- 'Dockerfile'
|
||||||
|
- 'Makefile'
|
||||||
|
pull_request:
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
- synchronize
|
||||||
|
paths:
|
||||||
|
- '.github/workflows/dev-image.yml'
|
||||||
|
- '.dockerignore'
|
||||||
|
- '.nvmrc'
|
||||||
|
- 'Dockerfile'
|
||||||
|
- 'Makefile'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
skipci:
|
||||||
|
runs-on: ubuntu-18.04
|
||||||
|
steps:
|
||||||
|
- run: echo "[skip ci] ${{ contains(github.event.head_commit.message, '[skip ci]') }}"
|
||||||
|
|
||||||
|
dev-image-test:
|
||||||
|
runs-on: ubuntu-18.04
|
||||||
|
if: contains(github.event.head_commit.message, '[skip ci]') == false
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- run: make build
|
||||||
|
- run: make cirun cmd="npm ci"
|
||||||
|
- run: make ciall
|
|
@ -13,7 +13,7 @@ RUN apt-get update && \
|
||||||
rm -rf /var/lib/apt/lists/*
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
WORKDIR /git
|
WORKDIR /git
|
||||||
ENV GIT_VERSION="2.25.0"
|
ENV GIT_VERSION="2.26.0"
|
||||||
RUN wget -q "https://github.com/git/git/archive/v${GIT_VERSION}.tar.gz" && \
|
RUN wget -q "https://github.com/git/git/archive/v${GIT_VERSION}.tar.gz" && \
|
||||||
tar -zxf "./v${GIT_VERSION}.tar.gz" && \
|
tar -zxf "./v${GIT_VERSION}.tar.gz" && \
|
||||||
rm "./v${GIT_VERSION}.tar.gz" && \
|
rm "./v${GIT_VERSION}.tar.gz" && \
|
||||||
|
@ -24,5 +24,6 @@ RUN wget -q "https://github.com/git/git/archive/v${GIT_VERSION}.tar.gz" && \
|
||||||
make install
|
make install
|
||||||
|
|
||||||
WORKDIR /repo
|
WORKDIR /repo
|
||||||
|
ENV RUNNER_TEMP="/tmp"
|
||||||
|
|
||||||
CMD [ "bash" ]
|
CMD [ "bash" ]
|
||||||
|
|
15
Makefile
15
Makefile
|
@ -4,6 +4,7 @@ IMAGE_NAME := actions_hugo_dev:latest
|
||||||
NODE_VERSION := $(shell cat ./.nvmrc)
|
NODE_VERSION := $(shell cat ./.nvmrc)
|
||||||
DOCKER_BUILD := docker build . -t $(IMAGE_NAME) --build-arg NODE_VERSION=$(NODE_VERSION)
|
DOCKER_BUILD := docker build . -t $(IMAGE_NAME) --build-arg NODE_VERSION=$(NODE_VERSION)
|
||||||
DOCKER_RUN := docker run --rm -i -t -v ${PWD}:/repo -v ~/.gitconfig:/root/.gitconfig $(IMAGE_NAME)
|
DOCKER_RUN := docker run --rm -i -t -v ${PWD}:/repo -v ~/.gitconfig:/root/.gitconfig $(IMAGE_NAME)
|
||||||
|
DOCKER_RUN_CI := docker run --rm -v ${PWD}:/repo $(IMAGE_NAME)
|
||||||
|
|
||||||
|
|
||||||
.PHONY: build
|
.PHONY: build
|
||||||
|
@ -14,10 +15,18 @@ build:
|
||||||
run:
|
run:
|
||||||
$(DOCKER_RUN) $(cmd)
|
$(DOCKER_RUN) $(cmd)
|
||||||
|
|
||||||
|
.PHONY: cirun
|
||||||
|
cirun:
|
||||||
|
$(DOCKER_RUN_CI) $(cmd)
|
||||||
|
|
||||||
.PHONY: test
|
.PHONY: test
|
||||||
test:
|
test:
|
||||||
$(DOCKER_RUN) npm test
|
$(DOCKER_RUN) npm test
|
||||||
|
|
||||||
.PHONY: commit
|
.PHONY: all
|
||||||
commit:
|
all:
|
||||||
$(DOCKER_RUN) git commit -m "$(msg)"
|
$(DOCKER_RUN) npm run all
|
||||||
|
|
||||||
|
.PHONY: ciall
|
||||||
|
ciall:
|
||||||
|
$(DOCKER_RUN_CI) npm run all
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
"npm": ">=6.13.7"
|
"npm": ">=6.13.7"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
"all": "npm run format:check && npm run lint && npm test",
|
||||||
"lint": "eslint ./{src,__tests__}/**/*.ts",
|
"lint": "eslint ./{src,__tests__}/**/*.ts",
|
||||||
"lint:fix": "eslint --fix ./{src,__tests__}/**/*.ts",
|
"lint:fix": "eslint --fix ./{src,__tests__}/**/*.ts",
|
||||||
"test": "jest --coverage --verbose",
|
"test": "jest --coverage --verbose",
|
||||||
|
@ -28,8 +29,7 @@
|
||||||
"lint-staged": {
|
"lint-staged": {
|
||||||
"src/**/*.ts": [
|
"src/**/*.ts": [
|
||||||
"prettier --check",
|
"prettier --check",
|
||||||
"eslint",
|
"eslint"
|
||||||
"jest --bail --findRelatedTests"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
|
|
Loading…
Reference in a new issue