From 0a412c0ef77091237a4510b9e3e26b4d9b040f8a Mon Sep 17 00:00:00 2001 From: Florent BEAUCHAMP Date: Fri, 11 Mar 2022 17:18:21 +0100 Subject: [PATCH] feat(CI): use github action (#5987) --- .github/workflows/push.yml | 13 +++++++++++++ .travis.yml | 23 ----------------------- docker/Dockerfile | 24 ++++++++++++++++++++++++ docker/docker-compose.dev.yml | 11 +++++++++++ package.json | 1 + 5 files changed, 49 insertions(+), 23 deletions(-) create mode 100644 .github/workflows/push.yml delete mode 100644 .travis.yml create mode 100644 docker/Dockerfile create mode 100644 docker/docker-compose.dev.yml diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml new file mode 100644 index 0000000000..d1b2e6c1e7 --- /dev/null +++ b/.github/workflows/push.yml @@ -0,0 +1,13 @@ +name: CI +on: [push] +jobs: + build: + name: Test + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: satackey/action-docker-layer-caching@v0.0.11 + # Ignore the failure of a step and avoid terminating the job. + continue-on-error: true + - run: docker-compose -f docker/docker-compose.dev.yml build + - run: docker-compose -f docker/docker-compose.dev.yml up diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 27b3fb34c1..0000000000 --- a/.travis.yml +++ /dev/null @@ -1,23 +0,0 @@ -language: node_js -node_js: - - 14 - -# Use containers. -# http://docs.travis-ci.com/user/workers/container-based-infrastructure/ -sudo: false -addons: - apt: - packages: - - qemu-utils - - blktap-utils - - vmdk-stream-converter - -before_install: - - curl -o- -L https://yarnpkg.com/install.sh | bash - - export PATH="$HOME/.yarn/bin:$PATH" - -cache: - yarn: true - -script: - - yarn run travis-tests diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000000..7bf436e987 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,24 @@ +#last version of ubuntu with blktap-utils +FROM ubuntu:xenial + +# https://qastack.fr/programming/25899912/how-to-install-nvm-in-docker + +RUN apt-get update +RUN apt-get install -y curl qemu-utils blktap-utils vmdk-stream-converter git +ENV NVM_DIR /usr/local/nvm +RUN mkdir -p /usr/local/nvm +RUN cd /usr/local/nvm +RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash +ENV NODE_VERSION v17.0.1 +RUN /bin/bash -c "source $NVM_DIR/nvm.sh && nvm install $NODE_VERSION && nvm use --delete-prefix $NODE_VERSION" + +ENV NODE_PATH $NVM_DIR/versions/node/$NODE_VERSION/lib/node_modules +ENV PATH $NVM_DIR/versions/node/$NODE_VERSION/bin:$PATH + +RUN npm install -g yarn + +WORKDIR /xen-orchestra +# invalidate build on package change +COPY ./yarn.lock /xen-orchestra/yarn.lock +ENTRYPOINT yarn ci + diff --git a/docker/docker-compose.dev.yml b/docker/docker-compose.dev.yml new file mode 100644 index 0000000000..3533ef5593 --- /dev/null +++ b/docker/docker-compose.dev.yml @@ -0,0 +1,11 @@ +version: '3.3' + +services: + xo: + build: + context: "${PWD}" + dockerfile: "${PWD}/docker/Dockerfile" + ports: + - 8000:80 + volumes: + - ${PWD}:/xen-orchestra diff --git a/package.json b/package.json index d696fbfbb3..9932d9978e 100644 --- a/package.json +++ b/package.json @@ -70,6 +70,7 @@ "private": true, "scripts": { "build": "scripts/run-script --parallel build", + "ci": "yarn && yarn test-integration", "clean": "scripts/run-script --parallel clean", "dev": "scripts/run-script --parallel dev", "dev-test": "jest --bail --watch \"^(?!.*\\.integ\\.spec\\.js$)\"",