diff --git a/.github/workflows/ia-integration-tests.yml b/.github/workflows/ia-integration-tests.yml index 33a3a51e..bd13ec11 100644 --- a/.github/workflows/ia-integration-tests.yml +++ b/.github/workflows/ia-integration-tests.yml @@ -21,3 +21,8 @@ jobs: node ./index.js env: CI: true + - uses: actions/upload-artifact@v1 + if: failure() + with: + name: error + path: experiments/archive-org-integration-tests/error.png diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index dabf4ea9..78118413 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -3,7 +3,7 @@ name: CI on: [push] jobs: - build: + build-and-test: runs-on: ubuntu-latest strategy: @@ -16,9 +16,35 @@ jobs: uses: actions/setup-node@v1 with: node-version: ${{ matrix.node-version }} - - name: Run Tests + - name: Install Dependencies + run: yarn + - name: Lint run: | - yarn - yarn travis-tests + yarn lint + yarn type-check + - name: Build + run: | + yarn build + yarn build-library + - name: Run Unit Tests + run: yarn test + - name: Run Integration Tests + run: yarn integration-tests env: CI: true + - name: Upload Screenshot Diffs + if: failure() + uses: actions/upload-artifact@v1 + with: + name: image_diffs + path: js/__tests__/__image_snapshots__/__diff_output__/ + - name: Generate New Screenshots + if: failure() + run: | + yarn integration-tests -u + - name: Upload New Screenshots + if: failure() + uses: actions/upload-artifact@v1 + with: + name: new_images + path: js/__tests__/__image_snapshots__/ diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 143104c1..00000000 --- a/.travis.yml +++ /dev/null @@ -1,8 +0,0 @@ -language: node_js -node_js: - # Don't use Node 12 while we wait for transitive dependencies to upgrade nan - # https://github.com/nodejs/nan/issues/849 - - lts/* - - node -script: > - npm run travis-tests diff --git a/README.md b/README.md index 88b1c214..4d3f8fc2 100755 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Travis](https://img.shields.io/travis/captbaritone/webamp.svg)](https://travis-ci.org/captbaritone/webamp/) [![Codecov](https://img.shields.io/codecov/c/github/captbaritone/webamp.svg)]() [![Discord](https://img.shields.io/discord/434058775012311061.svg)](https://discord.gg/fBTDMqR) +[![Discord](https://img.shields.io/discord/434058775012311061.svg)](https://discord.gg/fBTDMqR) # Webamp diff --git a/js/__tests__/__image_snapshots__/baseline-integration-test-js-can-load-a-skin-via-the-query-params-1-snap.png b/js/__tests__/__image_snapshots__/baseline-integration-test-js-can-load-a-skin-via-the-query-params-1-snap.png index 38231075..74e6e4e6 100644 Binary files a/js/__tests__/__image_snapshots__/baseline-integration-test-js-can-load-a-skin-via-the-query-params-1-snap.png and b/js/__tests__/__image_snapshots__/baseline-integration-test-js-can-load-a-skin-via-the-query-params-1-snap.png differ diff --git a/js/__tests__/__image_snapshots__/baseline-integration-test-js-can-pose-for-a-screenshot-1-snap.png b/js/__tests__/__image_snapshots__/baseline-integration-test-js-can-pose-for-a-screenshot-1-snap.png index a3e06099..81673784 100644 Binary files a/js/__tests__/__image_snapshots__/baseline-integration-test-js-can-pose-for-a-screenshot-1-snap.png and b/js/__tests__/__image_snapshots__/baseline-integration-test-js-can-pose-for-a-screenshot-1-snap.png differ diff --git a/js/__tests__/__image_snapshots__/baseline-integration-test-js-pads-empty-space-in-the-marquee-with-the-space-character-1-snap.png b/js/__tests__/__image_snapshots__/baseline-integration-test-js-pads-empty-space-in-the-marquee-with-the-space-character-1-snap.png index 9600c153..e3a70623 100644 Binary files a/js/__tests__/__image_snapshots__/baseline-integration-test-js-pads-empty-space-in-the-marquee-with-the-space-character-1-snap.png and b/js/__tests__/__image_snapshots__/baseline-integration-test-js-pads-empty-space-in-the-marquee-with-the-space-character-1-snap.png differ diff --git a/js/__tests__/__image_snapshots__/baseline-integration-test-js-should-render-a-skin-that-defines-transparent-regions-1-snap.png b/js/__tests__/__image_snapshots__/baseline-integration-test-js-should-render-a-skin-that-defines-transparent-regions-1-snap.png index 098afd62..accf667a 100644 Binary files a/js/__tests__/__image_snapshots__/baseline-integration-test-js-should-render-a-skin-that-defines-transparent-regions-1-snap.png and b/js/__tests__/__image_snapshots__/baseline-integration-test-js-should-render-a-skin-that-defines-transparent-regions-1-snap.png differ diff --git a/js/__tests__/__image_snapshots__/baseline-integration-test-js-should-render-the-default-skin-1-snap.png b/js/__tests__/__image_snapshots__/baseline-integration-test-js-should-render-the-default-skin-1-snap.png index b2614005..1768de65 100644 Binary files a/js/__tests__/__image_snapshots__/baseline-integration-test-js-should-render-the-default-skin-1-snap.png and b/js/__tests__/__image_snapshots__/baseline-integration-test-js-should-render-the-default-skin-1-snap.png differ diff --git a/js/__tests__/__image_snapshots__/baseline-integration-test-js-should-render-the-topaz-skin-1-snap.png b/js/__tests__/__image_snapshots__/baseline-integration-test-js-should-render-the-topaz-skin-1-snap.png index 64d778b6..a6465a92 100644 Binary files a/js/__tests__/__image_snapshots__/baseline-integration-test-js-should-render-the-topaz-skin-1-snap.png and b/js/__tests__/__image_snapshots__/baseline-integration-test-js-should-render-the-topaz-skin-1-snap.png differ diff --git a/js/__tests__/__image_snapshots__/baseline-integration-test-js-uses-the-volume-spirtes-as-a-fallback-when-balance-spirtes-are-missing-1-snap.png b/js/__tests__/__image_snapshots__/baseline-integration-test-js-uses-the-volume-spirtes-as-a-fallback-when-balance-spirtes-are-missing-1-snap.png index 968c4ea0..481d856a 100644 Binary files a/js/__tests__/__image_snapshots__/baseline-integration-test-js-uses-the-volume-spirtes-as-a-fallback-when-balance-spirtes-are-missing-1-snap.png and b/js/__tests__/__image_snapshots__/baseline-integration-test-js-uses-the-volume-spirtes-as-a-fallback-when-balance-spirtes-are-missing-1-snap.png differ diff --git a/js/__tests__/baseline.integration-test.js b/js/__tests__/baseline.integration-test.js index ef457e81..8b33b4a5 100644 --- a/js/__tests__/baseline.integration-test.js +++ b/js/__tests__/baseline.integration-test.js @@ -8,7 +8,7 @@ const snapshotOptions = { // There are some font rendering issues which prevent us from pushing this lower right now. // We could setup some tests which don't render text and set the threshold lower. // Ideally we can resolve the font rendering issue. - failureThreshold: "0.01", + failureThreshold: "0.00", failureThresholdType: "percent", }; diff --git a/package.json b/package.json index c426dbb1..4f91c254 100644 --- a/package.json +++ b/package.json @@ -23,10 +23,9 @@ "stats": "webpack --config=demo/config/webpack.prod.js --json > stats.json", "stats-library": "webpack --config=config/webpack.library.js --json > stats.json", "test": "jest --config=config/jest.unit.js", - "travis-tests": "npm run lint && npm run test && npm run test && npm run type-check && npm run build && npm run build-library && npm run integration-tests", "tdd": "jest --config=config/jest.unit.js --watch", "format": "prettier --write \"**/*.{js,ts,tsx,d.ts,css}\"", - "integration-tests": "npm run build -- --display=errors-only && jest --config=config/jest.integration.js --runInBand", + "integration-tests": "jest --config=config/jest.integration.js --runInBand", "build-skin": "rm skins/base-2.91.wsz && cd skins/base-2.91 && zip -x .* -x 'Skining Updates.txt' -r ../base-2.91.wsz .", "build-skin-png": "rm skins/base-2.91-png.wsz && cd skins/base-2.91-png && zip -x .* -x 'Skining Updates.txt' -r ../base-2.91-png.wsz .", "compile-skin": "node scripts/compileSkin.js > css/base-skin.css", diff --git a/scripts/postcss-optimize-data-uri-pngs.test.js b/scripts/postcss-optimize-data-uri-pngs.test.js index eee7b54f..f2e1dbf0 100644 --- a/scripts/postcss-optimize-data-uri-pngs.test.js +++ b/scripts/postcss-optimize-data-uri-pngs.test.js @@ -4,7 +4,7 @@ const postcss = require("postcss"); const plugin = require("./postcss-optimize-data-uri-pngs"); const css = fs.readFileSync("./css/base-skin.css", "utf8"); -// This seems to timeout a lot on Travis +// This seems to timeout a lot in CI it.skip("does something", async () => { const result = await postcss([plugin({})]).process(css); expect(result.css.length).toBeLessThan(css.length);