sourcecred/config/travis.js
William Chargin 9347348dd7
Copy graph-independent V1 Git plugin code to V3 (#401)
Summary:
Many files are unchanged. Some files have had paths updated, or new
build/test targets added.

The `types.js` file includes payload type definitions. These are
technically independent of the graph abstraction (i.e., nothing from V1
is imported and the code all still works), but it of course implicitly
depends on the V1 model. For now, we include the entirety of this file,
just so that we have a clean copy operation. Subsequent commits will
strip out this extraneous code.

Suggest reviewing with the `--find-copies-harder` argument to Git’s
diffing functions.

Test Plan:
Running `yarn travis --full` passes. Running

    ./src/v3/plugins/git/demoData/synchronizeToGithub.sh --dry-run

yields “Everything up-to-date”.

wchargin-branch: git-v3-copy
2018-06-20 15:28:37 -07:00

105 lines
2.5 KiB
JavaScript

// @flow
const execDependencyGraph = require("../src/tools/execDependencyGraph").default;
main();
function main() {
const mode =
process.env["TRAVIS_EVENT_TYPE"] === "cron" ||
process.argv.includes("--full")
? "FULL"
: "BASIC";
execDependencyGraph(makeTasks(mode)).then(({success}) => {
process.exitCode = success ? 0 : 1;
});
}
function makeTasks(mode /*: "BASIC" | "FULL" */) {
const basicTasks = [
{
id: "ensure-flow-typing",
cmd: ["./scripts/ensure-flow.sh"],
deps: [],
},
{
// eslint-disable-next-line no-useless-concat
id: "check-stop" + "ships",
// eslint-disable-next-line no-useless-concat
cmd: ["./scripts/check-stop" + "ships.sh"],
deps: [],
},
{
id: "check-pretty",
cmd: ["npm", "run", "--silent", "check-pretty"],
deps: [],
},
{
id: "lint",
cmd: ["npm", "run", "--silent", "lint"],
deps: [],
},
{
id: "flow",
cmd: [
"npm",
"run",
"--silent",
"flow",
"--",
"--quiet",
"--max-warnings=0",
],
deps: [],
},
{
id: "ci-test",
cmd: ["npm", "run", "--silent", "ci-test"],
deps: [],
},
{
id: "backend",
cmd: ["npm", "run", "--silent", "backend", "--", "--dry-run"],
deps: [],
},
];
const extraTasks = [
{
id: "backend-in-place",
cmd: ["npm", "run", "--silent", "backend"],
// This task depends on `check-pretty` in order to work around a
// race condition in Prettier:
// https://github.com/prettier/prettier/issues/4468
deps: ["check-pretty"],
},
{
id: "fetchGithubRepoTest",
cmd: ["./src/v1/plugins/github/fetchGithubRepoTest.sh", "--no-build"],
deps: ["backend-in-place"],
},
{
id: "fetchGithubRepoTestV3",
cmd: ["./src/v3/plugins/github/fetchGithubRepoTest.sh", "--no-build"],
deps: ["backend-in-place"],
},
{
id: "loadRepositoryTest",
cmd: ["./src/v1/plugins/git/loadRepositoryTest.sh", "--no-build"],
deps: ["backend-in-place"],
},
{
id: "loadRepositoryTestV3",
cmd: ["./src/v3/plugins/git/loadRepositoryTest.sh", "--no-build"],
deps: ["backend-in-place"],
},
];
switch (mode) {
case "BASIC":
return basicTasks;
case "FULL":
return [].concat(basicTasks, extraTasks);
default:
/*:: (mode: empty); */ throw new Error(mode);
}
}