From 7492a7049f89269f7be2ce02735ddfe9de5a35fa Mon Sep 17 00:00:00 2001 From: Viktor Lukashov Date: Tue, 6 Jul 2021 18:40:16 +0300 Subject: [PATCH] chore: move CI builds from travis-ci.org to GitHub actions (#71) --- .github/workflows/unit-tests.yml | 78 ++++++++++++++++++ .github/workflows/visual-tests.yml | 41 +++++++++ .travis.yml | 58 ------------- .../default-tests/default-banner/android.png | Bin 7436 -> 7450 bytes .../default-tests/default-banner/edge.png | Bin 4879 -> 4932 bytes .../default-tests/default-banner/ie.png | Bin 4879 -> 5251 bytes wct.conf.js | 51 ++++++------ 7 files changed, 144 insertions(+), 84 deletions(-) create mode 100644 .github/workflows/unit-tests.yml create mode 100644 .github/workflows/visual-tests.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml new file mode 100644 index 0000000..4e69b43 --- /dev/null +++ b/.github/workflows/unit-tests.yml @@ -0,0 +1,78 @@ +name: Unit Tests + +# all pull requests +on: pull_request + +jobs: + unit-tests-p2: + name: Polymer 2 on the CI agent + runs-on: ubuntu-latest + steps: + - name: Set up Node 12.x + uses: actions/setup-node@v2 + with: + node-version: 12.x + + - name: Check out the source code + uses: actions/checkout@v2 + + - name: Install global npm dependencies + # bower is needed to run 'bower install' + # polymer-cli is needed to run the lint step + # web-component-tester is needed to run the test step + run: "npm install --quiet --no-progress --global bower polymer-cli web-component-tester" + + - name: Install project npm dependencies + run: "npm install --quiet --no-progress" + + - name: Install project Bower dependencies + run: "bower install --quiet" + + - name: Run automated magi-cli checks + run: "npm run check" + + - name: Run a linter + run: "npm run lint" + + # the full set of environments is tested with Polymer 3 below + - name: Run unit tests locally (in the VM instance running this job) + run: "xvfb-run -s '-screen 0 1024x768x24' wct" + + unit-tests-p3: + name: Polymer 3 on SauceLabs + runs-on: ubuntu-latest + steps: + - name: Set up Node 12.x + uses: actions/setup-node@v2 + with: + node-version: 12.x + + - name: Check out the (Polymer 2) source code + uses: actions/checkout@v2 + + - name: Install global npm dependencies + # magi-cli, bower and polymer-modulizer are needed to run the Polymer 3 conversion step + # web-component-tester is needed to run the test step + run: "npm install --quiet --no-progress --global bower magi-cli web-component-tester polymer-modulizer" + + - name: Convert the source code to Polymer 3 + run: | + git config --local user.email "github-actions[bot]@users.noreply.github.com" + git config --local user.name "github-actions[bot]" + magi p3-convert --out . --import-style=name + + # Using yarn instead of npm here to check that the dependency tree does not have two + # versions of the same component. With P2 / Bower that is checked automatically, but + # with P3 / npm it is not. + - name: Install project npm dependencies + run: "yarn install --flat" + + # workaround for running tests on Android on SauceLabs (see wct.conf.js) + - name: Add 'localhost-for-saucelabs' to /etc/hosts + run: echo "127.0.0.1 localhost-for-saucelabs" | sudo tee -a /etc/hosts + + - name: Run unit tests on SauceLabs + run: "wct --npm --env saucelabs" + env: + SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }} + SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }} diff --git a/.github/workflows/visual-tests.yml b/.github/workflows/visual-tests.yml new file mode 100644 index 0000000..efffbbb --- /dev/null +++ b/.github/workflows/visual-tests.yml @@ -0,0 +1,41 @@ +name: Visual Tests + +# all pull requests +on: pull_request + +jobs: + visual-tests: + name: Polymer 2 on SauceLabs + runs-on: ubuntu-latest + steps: + - name: Set up Node 12.x + uses: actions/setup-node@v2 + with: + node-version: 12.x + + - name: Check out the source code + uses: actions/checkout@v2 + + - name: Install global npm dependencies + # bower is needed to run 'bower install' + # gemini is needed to run the visual tests step + run: "npm install --quiet --no-progress --global bower gemini@^4.0.0 gemini-sauce gemini-polyserve" + + - name: Install project npm dependencies + run: "npm install --quiet --no-progress" + + - name: Install project Bower dependencies + run: "bower install --quiet" + + - name: Run visual tests on SauceLabs + run: "gemini test --reporter html --reporter flat test/visual" + env: + SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }} + SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }} + + - name: Publish the Visual Tests failures report as an Artifact for this Workflow run + if: ${{ failure() }} + uses: actions/upload-artifact@v2 + with: + name: Visual tests failures report + path: gemini-report/ diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 8b58264..0000000 --- a/.travis.yml +++ /dev/null @@ -1,58 +0,0 @@ -sudo: false -dist: xenial -language: node_js -node_js: 8.11 - -cache: - directories: - - node_modules - -addons: - firefox: latest - chrome: stable - -jobs: - include: - - if: type = push - env: TEST_SUITE=unit_tests POLYMER=2 - - if: type = push - env: TEST_SUITE=unit_tests POLYMER=3 - - if: type = pull_request - env: POLYMER=2 - addons: - firefox: latest - chrome: stable - - if: type = pull_request - env: POLYMER=3 - addons: - firefox: latest - chrome: stable - - if: type = cron - env: TEST_SUITE=unit_tests POLYMER=2 - -script: - - if [[ "$POLYMER" = "2" ]]; then - npm -q i && npm i -q --no-save bower polymer-cli && bower -q i && - npm run check && - npm run lint && - polymer lint --rules polymer-2 --input ./src/*.html ./theme/**/*.html && - if [[ "$TRAVIS_EVENT_TYPE" != "pull_request" && "$TRAVIS_BRANCH" != quick/* ]]; then - wct --env saucelabs; - else - xvfb-run -s '-screen 0 1024x768x24' wct; - fi && - if [[ "$TRAVIS_EVENT_TYPE" = "cron" && "$TEST_SUITE" = "unit_tests" ]]; then - wct --env saucelabs-cron; - fi; - fi - - if [[ "$POLYMER" = "3" ]]; then - npm --no-save -q install -g yarn bower magi-cli web-component-tester polymer-modulizer && - rm -rf node_modules && - magi p3-convert --out . --import-style=name && - yarn install --flat && - if [[ "$TRAVIS_EVENT_TYPE" != "pull_request" && "$TRAVIS_BRANCH" != quick/* ]]; then - wct --npm --env saucelabs; - else - xvfb-run -s '-screen 0 1024x768x24' wct --npm; - fi; - fi diff --git a/test/visual/screens/vaadin-cookie-consent/default-tests/default-banner/android.png b/test/visual/screens/vaadin-cookie-consent/default-tests/default-banner/android.png index ca2935bd5c0f9526f9a7f43087c847ada5ba6529..4f708b213026a079083b7bf835ac13cd1a3a9160 100644 GIT binary patch literal 7450 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 diff --git a/test/visual/screens/vaadin-cookie-consent/default-tests/default-banner/edge.png b/test/visual/screens/vaadin-cookie-consent/default-tests/default-banner/edge.png index 8bc09c68563a894aa247aef1a193464e6793fb6e..2db1f27398c0f68057c38cd6d504f44f78f2f0db 100644 GIT binary patch literal 4932 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 MIwsmxnl8`&3&NXKng9R* literal 4879 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 H1U&d3%GOBo literal 4879 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