Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move legacy node version tests to GitHub actions #11952

Merged
merged 7 commits into from Aug 14, 2020
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
42 changes: 42 additions & 0 deletions .github/workflows/ci.yml
@@ -0,0 +1,42 @@
name: Node CI

on: [push, pull_request]

jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Use Node.js latest
uses: actions/setup-node@v2-beta
- name: Generate coverage report
run: |
make -j test-ci-coverage
- name: Upload coverage report
uses: codecov/codecov-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}

legacy-node-version-test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [6.x, 8.x]
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Use Node.js latest
uses: actions/setup-node@v2-beta # Build Babel on latest node versions
- name: Build
run: |
BABEL_ENV=test-legacy make -j bootstrap
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2-beta
with:
node-version: ${{ matrix.node-version }}
- name: Test on node.js ${{ matrix.node-version }}
# Hack: --color has supports-color@5 returned true for GitHub CI
# Remove once `chalk` is bumped to 4.0.
run: |
BABEL_ENV=test node ./node_modules/.bin/jest --ci --color
21 changes: 0 additions & 21 deletions .github/workflows/coverage.yml

This file was deleted.

3 changes: 1 addition & 2 deletions .travis.yml
Expand Up @@ -41,10 +41,9 @@ matrix:
directories:
- $HOME/AppData/Local/Temp/chocolatey
# Continue node_js matrix
- node_js: "6"
- node_js: "12"
- node_js: "10"
- node_js: "8"
# Node.js 6 and 8 are tested on GitHub versions
JLHwung marked this conversation as resolved.
Show resolved Hide resolved
- node_js: "node"
env: JOB=babel-parser-flow-tests
- node_js: "node"
Expand Down
10 changes: 6 additions & 4 deletions babel.config.js
Expand Up @@ -17,7 +17,8 @@ module.exports = function (api) {
};
const envOpts = Object.assign({}, envOptsNoTargets);

const compileDynamicImport = env === "test" || env === "development";
const compileDynamicImport =
env === "test" || env === "development" || env === "test-legacy";

let convertESM = true;
let ignoreLib = true;
Expand Down Expand Up @@ -55,6 +56,7 @@ module.exports = function (api) {
);
if (env === "rollup") envOpts.targets = { node: nodeVersion };
break;
case "test-legacy": // In test-legacy environment, we build babel on latest node but test on minimum supported legacy versions
case "production":
// Config during builds before publish.
envOpts.targets = {
Expand Down Expand Up @@ -169,9 +171,9 @@ module.exports = function (api) {
// the original absolute path.
// NOTE: This plugin must run before @babel/plugin-transform-modules-commonjs,
// and assumes that the target is the current node version.
function dynamicImportUrlToPath({ template }) {
const currentNodeSupportsURL = !!require("url").pathToFileURL;

function dynamicImportUrlToPath({ template, env }) {
const currentNodeSupportsURL =
!!require("url").pathToFileURL && env() !== "test-legacy"; // test-legacy is run on legacy node versions without pathToFileURL support
if (currentNodeSupportsURL) {
return {
visitor: {
Expand Down