diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b37c2d1d..00d1297b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,7 +10,7 @@ on: [push, pull_request] jobs: lint-shellcheck: - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 steps: - name: Checkout uses: actions/checkout@v2 @@ -21,7 +21,7 @@ jobs: ./run-tests.sh --check-shellscript docs-sphinx: - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 steps: - name: Checkout uses: actions/checkout@v2 @@ -43,7 +43,7 @@ jobs: run: ./run-tests.sh --check-sphinx format-prettier: - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 steps: - name: Checkout uses: actions/checkout@v2 @@ -60,7 +60,7 @@ jobs: run: ./run-tests.sh --check-prettier js-tests: - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 steps: - name: Checkout uses: actions/checkout@v2 @@ -76,11 +76,20 @@ jobs: - name: Run javascript tests run: ./run-tests.sh --check-js-tests + lint-dockerfile: + runs-on: ubuntu-20.04 + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Check Dockerfile compliance + run: ./run-tests.sh --check-dockerfile + docker-build: - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 steps: - name: Checkout uses: actions/checkout@v2 - - name: Build docker image + - name: Build Docker image run: ./run-tests.sh --check-docker-build diff --git a/Dockerfile b/Dockerfile index 3590b76c..45a42960 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,12 @@ FROM node:12 as react-build WORKDIR /code COPY . /code +# hadolint ignore=DL3003 RUN cd reana-ui && \ yarn && \ yarn build -FROM nginx +FROM nginx:1.19 COPY --from=react-build /code/reana-ui/build /usr/share/nginx/html COPY nginx/reana-ui.conf /etc/nginx/conf.d/default.conf EXPOSE 80 diff --git a/run-tests.sh b/run-tests.sh index 3da03f02..9f60b617 100755 --- a/run-tests.sh +++ b/run-tests.sh @@ -28,6 +28,10 @@ check_js_tests () { cd reana-ui && yarn && yarn test --ci --passWithNoTests && cd .. } +check_dockerfile () { + docker run -i --rm hadolint/hadolint < Dockerfile +} + check_docker_build () { docker build -t reanahub/reana-ui . } @@ -37,6 +41,7 @@ check_all () { check_sphinx check_prettier check_js_tests + check_dockerfile check_docker_build } @@ -52,6 +57,7 @@ do --check-sphinx) check_sphinx;; --check-prettier) check_prettier;; --check-js-tests) check_js_tests;; + --check-dockerfile) check_dockerfile;; --check-docker-build) check_docker_build;; *) esac