diff --git a/.circleci/config.yml b/.circleci/config.yml index 5157f06615f0..dc5d275674d3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -45,14 +45,7 @@ defaults: - run_build_ossfuzz: &run_build_ossfuzz name: Build_ossfuzz - command: | - mkdir -p build - cd build - protoc --proto_path=../test/tools/ossfuzz yulProto.proto --cpp_out=../test/tools/ossfuzz - protoc --proto_path=../test/tools/ossfuzz abiV2Proto.proto --cpp_out=../test/tools/ossfuzz - protoc --proto_path=../test/tools/ossfuzz solProto.proto --cpp_out=../test/tools/ossfuzz - cmake .. -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE:-Release} $CMAKE_OPTIONS - make ossfuzz ossfuzz_proto ossfuzz_abiv2 -j4 + command: scripts/build_ossfuzz.sh - run_proofs: &run_proofs name: Correctness proofs for optimization rules diff --git a/.github/actions/pr-comment/action.yml b/.github/actions/pr-comment/action.yml new file mode 100644 index 000000000000..8b89266f8c1e --- /dev/null +++ b/.github/actions/pr-comment/action.yml @@ -0,0 +1,14 @@ +name: "Add comment to current PR" +description: "Adds a comment to current PR" +inputs: + token: + description: "GitHub access token" + required: true + default: "" + comment: + description: "Comment body" + required: true + default: "" +runs: + using: "node12" + main: "dist/index.js" diff --git a/.github/actions/pr-comment/package-lock.json b/.github/actions/pr-comment/package-lock.json new file mode 100644 index 000000000000..8a6e8fc5e13b --- /dev/null +++ b/.github/actions/pr-comment/package-lock.json @@ -0,0 +1,394 @@ +{ + "name": "pr-comment", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@actions/core": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.2.4.tgz", + "integrity": "sha512-YJCEq8BE3CdN8+7HPZ/4DxJjk/OkZV2FFIf+DlZTC/4iBlzYCD5yjRR6eiOS5llO11zbRltIRuKAjMKaWTE6cg==" + }, + "@actions/github": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@actions/github/-/github-2.1.1.tgz", + "integrity": "sha512-kAgTGUx7yf5KQCndVeHSwCNZuDBvPyxm5xKTswW2lofugeuC1AZX73nUUVDNaysnM9aKFMHv9YCdVJbg7syEyA==", + "requires": { + "@actions/http-client": "^1.0.3", + "@octokit/graphql": "^4.3.1", + "@octokit/rest": "^16.43.1" + } + }, + "@actions/http-client": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.8.tgz", + "integrity": "sha512-G4JjJ6f9Hb3Zvejj+ewLLKLf99ZC+9v+yCxoYf9vSyH+WkzPLB2LuUtRMGNkooMqdugGBFStIKXOuvH1W+EctA==", + "requires": { + "tunnel": "0.0.6" + } + }, + "@octokit/auth-token": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.0.tgz", + "integrity": "sha512-eoOVMjILna7FVQf96iWc3+ZtE/ZT6y8ob8ZzcqKY1ibSQCnu4O/B7pJvzMx5cyZ/RjAff6DAdEb0O0Cjcxidkg==", + "requires": { + "@octokit/types": "^2.0.0" + } + }, + "@octokit/endpoint": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-5.5.3.tgz", + "integrity": "sha512-EzKwkwcxeegYYah5ukEeAI/gYRLv2Y9U5PpIsseGSFDk+G3RbipQGBs8GuYS1TLCtQaqoO66+aQGtITPalxsNQ==", + "requires": { + "@octokit/types": "^2.0.0", + "is-plain-object": "^3.0.0", + "universal-user-agent": "^5.0.0" + }, + "dependencies": { + "universal-user-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-5.0.0.tgz", + "integrity": "sha512-B5TPtzZleXyPrUMKCpEHFmVhMN6EhmJYjG5PQna9s7mXeSqGTLap4OpqLl5FCEFUI3UBmllkETwKf/db66Y54Q==", + "requires": { + "os-name": "^3.1.0" + } + } + } + }, + "@octokit/graphql": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.3.1.tgz", + "integrity": "sha512-hCdTjfvrK+ilU2keAdqNBWOk+gm1kai1ZcdjRfB30oA3/T6n53UVJb7w0L5cR3/rhU91xT3HSqCd+qbvH06yxA==", + "requires": { + "@octokit/request": "^5.3.0", + "@octokit/types": "^2.0.0", + "universal-user-agent": "^4.0.0" + } + }, + "@octokit/plugin-paginate-rest": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-1.1.2.tgz", + "integrity": "sha512-jbsSoi5Q1pj63sC16XIUboklNw+8tL9VOnJsWycWYR78TKss5PVpIPb1TUUcMQ+bBh7cY579cVAWmf5qG+dw+Q==", + "requires": { + "@octokit/types": "^2.0.1" + } + }, + "@octokit/plugin-request-log": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.0.tgz", + "integrity": "sha512-ywoxP68aOT3zHCLgWZgwUJatiENeHE7xJzYjfz8WI0goynp96wETBF+d95b8g/uL4QmS6owPVlaxiz3wyMAzcw==" + }, + "@octokit/plugin-rest-endpoint-methods": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-2.4.0.tgz", + "integrity": "sha512-EZi/AWhtkdfAYi01obpX0DF7U6b1VRr30QNQ5xSFPITMdLSfhcBqjamE3F+sKcxPbD7eZuMHu3Qkk2V+JGxBDQ==", + "requires": { + "@octokit/types": "^2.0.1", + "deprecation": "^2.3.1" + } + }, + "@octokit/request": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.3.2.tgz", + "integrity": "sha512-7NPJpg19wVQy1cs2xqXjjRq/RmtSomja/VSWnptfYwuBxLdbYh2UjhGi0Wx7B1v5Iw5GKhfFDQL7jM7SSp7K2g==", + "requires": { + "@octokit/endpoint": "^5.5.0", + "@octokit/request-error": "^1.0.1", + "@octokit/types": "^2.0.0", + "deprecation": "^2.0.0", + "is-plain-object": "^3.0.0", + "node-fetch": "^2.3.0", + "once": "^1.4.0", + "universal-user-agent": "^5.0.0" + }, + "dependencies": { + "universal-user-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-5.0.0.tgz", + "integrity": "sha512-B5TPtzZleXyPrUMKCpEHFmVhMN6EhmJYjG5PQna9s7mXeSqGTLap4OpqLl5FCEFUI3UBmllkETwKf/db66Y54Q==", + "requires": { + "os-name": "^3.1.0" + } + } + } + }, + "@octokit/request-error": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.1.tgz", + "integrity": "sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA==", + "requires": { + "@octokit/types": "^2.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "@octokit/rest": { + "version": "16.43.1", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.43.1.tgz", + "integrity": "sha512-gfFKwRT/wFxq5qlNjnW2dh+qh74XgTQ2B179UX5K1HYCluioWj8Ndbgqw2PVqa1NnVJkGHp2ovMpVn/DImlmkw==", + "requires": { + "@octokit/auth-token": "^2.4.0", + "@octokit/plugin-paginate-rest": "^1.1.1", + "@octokit/plugin-request-log": "^1.0.0", + "@octokit/plugin-rest-endpoint-methods": "2.4.0", + "@octokit/request": "^5.2.0", + "@octokit/request-error": "^1.0.2", + "atob-lite": "^2.0.0", + "before-after-hook": "^2.0.0", + "btoa-lite": "^1.0.0", + "deprecation": "^2.0.0", + "lodash.get": "^4.4.2", + "lodash.set": "^4.3.2", + "lodash.uniq": "^4.5.0", + "octokit-pagination-methods": "^1.1.0", + "once": "^1.4.0", + "universal-user-agent": "^4.0.0" + } + }, + "@octokit/types": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.5.0.tgz", + "integrity": "sha512-KEnLwOfdXzxPNL34fj508bhi9Z9cStyN7qY1kOfVahmqtAfrWw6Oq3P4R+dtsg0lYtZdWBpUrS/Ixmd5YILSww==", + "requires": { + "@types/node": ">= 8" + } + }, + "@types/node": { + "version": "13.9.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.9.0.tgz", + "integrity": "sha512-0ARSQootUG1RljH2HncpsY2TJBfGQIKOOi7kxzUY6z54ePu/ZD+wJA8zI2Q6v8rol2qpG/rvqsReco8zNMPvhQ==" + }, + "atob-lite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz", + "integrity": "sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY=" + }, + "before-after-hook": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.0.tgz", + "integrity": "sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==" + }, + "btoa-lite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz", + "integrity": "sha1-M3dm2hWAEhD92VbCLpxokaudAzc=" + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "is-plain-object": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz", + "integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==", + "requires": { + "isobject": "^4.0.0" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isobject": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", + "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==" + }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" + }, + "lodash.set": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", + "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=" + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + }, + "macos-release": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.3.0.tgz", + "integrity": "sha512-OHhSbtcviqMPt7yfw5ef5aghS2jzFVKEFyCJndQt2YpSQ9qRVSEv2axSJI1paVThEu+FFGs584h/1YhxjVqajA==" + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "node-fetch": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", + "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "^2.0.0" + } + }, + "octokit-pagination-methods": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz", + "integrity": "sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "os-name": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz", + "integrity": "sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==", + "requires": { + "macos-release": "^2.2.0", + "windows-release": "^3.1.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + }, + "tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==" + }, + "typescript": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz", + "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==", + "dev": true + }, + "universal-user-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.1.tgz", + "integrity": "sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg==", + "requires": { + "os-name": "^3.1.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + }, + "windows-release": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.2.0.tgz", + "integrity": "sha512-QTlz2hKLrdqukrsapKsINzqMgOUpQW268eJ0OaOpJN32h272waxR9fkB9VoWRtK7uKHG5EHJcTXQBD8XZVJkFA==", + "requires": { + "execa": "^1.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + } + } +} diff --git a/.github/actions/pr-comment/package.json b/.github/actions/pr-comment/package.json new file mode 100644 index 000000000000..18101946275f --- /dev/null +++ b/.github/actions/pr-comment/package.json @@ -0,0 +1,20 @@ +{ + "name": "pr-comment", + "version": "1.0.0", + "description": "An action for creating a comment on current PR", + "private": true, + "main": "index.js", + "scripts": { + "build": "tsc" + }, + "keywords": [], + "author": "Alexander Arlt", + "license": "MIT", + "dependencies": { + "@actions/core": "^1.2.4", + "@actions/github": "^2.1.1" + }, + "devDependencies": { + "typescript": "^3.8.3" + } +} diff --git a/.github/actions/pr-comment/src/index.ts b/.github/actions/pr-comment/src/index.ts new file mode 100644 index 000000000000..b4554af18695 --- /dev/null +++ b/.github/actions/pr-comment/src/index.ts @@ -0,0 +1,17 @@ +import * as core from "@actions/core"; +import * as github from "@actions/github"; + +async function run() { + const token = core.getInput("token"); + + const octokit = new github.GitHub(token); + const context = github.context; + + await octokit.issues.createComment({ + ...context.repo, + issue_number: context.payload.pull_request!.number, + body: `${core.getInput("comment")}` + }); +} + +run(); diff --git a/.github/actions/pr-comment/tsconfig.json b/.github/actions/pr-comment/tsconfig.json new file mode 100644 index 000000000000..67d94bc92287 --- /dev/null +++ b/.github/actions/pr-comment/tsconfig.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "target": "es5", + "module": "commonjs", + "strict": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "outDir": "dist" + } +} diff --git a/.github/workflows/buildpack-emscripten.yml b/.github/workflows/buildpack-emscripten.yml new file mode 100644 index 000000000000..54fe317ecdf5 --- /dev/null +++ b/.github/workflows/buildpack-emscripten.yml @@ -0,0 +1,61 @@ +name: buildpack:emscripten + +on: + pull_request: + paths: + - '.github/workflows/buildpack-emscripten.yml' + - 'scripts/docker/buildpack/Dockerfile.emscripten' + +jobs: + build: + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_DOCKER_REPOSITORY: docker.pkg.github.com/${{ github.repository }} + IMAGE_NAME: buildpack + IMAGE_VARIANT: emscripten + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: docker login + run: echo "${GITHUB_TOKEN}" | docker login docker.pkg.github.com -u "${GITHUB_ACTOR}" --password-stdin + + - name: check_version ${{ env.IMAGE_NAME }}-${{ env.IMAGE_VARIANT }} + run: | + source .github/workflows/buildpack/upgrade.sh + check_version + + - name: build_docker ${{ env.IMAGE_NAME }}-${{ env.IMAGE_VARIANT }} + run: | + source .github/workflows/buildpack/upgrade.sh + build_docker + + - name: test_docker ${{ env.IMAGE_NAME }}-${{ env.IMAGE_VARIANT }} + run: | + source .github/workflows/buildpack/upgrade.sh + test_docker + + - name: push_docker ${{ env.IMAGE_NAME }}-${{ env.IMAGE_VARIANT }} + run: | + source .github/workflows/buildpack/upgrade.sh + push_docker + + - name: docker logout + run: docker logout docker.pkg.github.com + + - name: Prepare PR comment action + uses: actions/setup-node@v1 + with: + node-version: "12.x" + + - name: Build PR comment action + run: npm i && npm run build + working-directory: ./.github/actions/pr-comment + + - name: Create PR comment + uses: ./.github/actions/pr-comment + with: + token: ${{ secrets.GITHUB_TOKEN }} + comment: "`${{ env.DOCKER_IMAGE }} ${{ env.DOCKER_REPO_DIGEST }}`." diff --git a/.github/workflows/buildpack-ubuntu1604.clang.ossfuzz.yml b/.github/workflows/buildpack-ubuntu1604.clang.ossfuzz.yml new file mode 100644 index 000000000000..2b4f3d3b1cf3 --- /dev/null +++ b/.github/workflows/buildpack-ubuntu1604.clang.ossfuzz.yml @@ -0,0 +1,63 @@ +name: buildpack:ubuntu1604.clang.ossfuzz + +on: + pull_request: + paths: + - '.github/workflows/buildpack-ubuntu1604.clang.ossfuzz.yml' + - 'scripts/docker/buildpack/Dockerfile.ubuntu1604.clang.ossfuzz' + +jobs: + build: + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_DOCKER_REPOSITORY: docker.pkg.github.com/${{ github.repository }} + IMAGE_NAME: buildpack + IMAGE_VARIANT: ubuntu1604.clang.ossfuzz + CC: clang + CXX: clang++ + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: docker login + run: echo "${GITHUB_TOKEN}" | docker login docker.pkg.github.com -u "${GITHUB_ACTOR}" --password-stdin + + - name: check_version ${{ env.IMAGE_NAME }}-${{ env.IMAGE_VARIANT }} + run: | + source .github/workflows/buildpack/upgrade.sh + check_version + + - name: build_docker ${{ env.IMAGE_NAME }}-${{ env.IMAGE_VARIANT }} + run: | + source .github/workflows/buildpack/upgrade.sh + build_docker + + - name: test_docker ${{ env.IMAGE_NAME }}-${{ env.IMAGE_VARIANT }} + run: | + source .github/workflows/buildpack/upgrade.sh + test_docker + + - name: push_docker ${{ env.IMAGE_NAME }}-${{ env.IMAGE_VARIANT }} + run: | + source .github/workflows/buildpack/upgrade.sh + push_docker + + - name: docker logout + run: docker logout docker.pkg.github.com + + - name: Prepare PR comment action + uses: actions/setup-node@v1 + with: + node-version: "12.x" + + - name: Build PR comment action + run: npm i && npm run build + working-directory: ./.github/actions/pr-comment + + - name: Create PR comment + uses: ./.github/actions/pr-comment + with: + token: ${{ secrets.GITHUB_TOKEN }} + comment: "`${{ env.DOCKER_IMAGE }} ${{ env.DOCKER_REPO_DIGEST }}`." diff --git a/.github/workflows/buildpack-ubuntu1804.yml b/.github/workflows/buildpack-ubuntu1804.yml new file mode 100644 index 000000000000..e0c5b3a23347 --- /dev/null +++ b/.github/workflows/buildpack-ubuntu1804.yml @@ -0,0 +1,61 @@ +name: buildpack:ubuntu1804 + +on: + pull_request: + paths: + - '.github/workflows/buildpack-ubuntu1804.yml' + - 'scripts/docker/buildpack/Dockerfile.ubuntu1804' + +jobs: + build: + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_DOCKER_REPOSITORY: docker.pkg.github.com/${{ github.repository }} + IMAGE_NAME: buildpack + IMAGE_VARIANT: ubuntu1804 + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: docker login + run: echo "${GITHUB_TOKEN}" | docker login docker.pkg.github.com -u "${GITHUB_ACTOR}" --password-stdin + + - name: check_version ${{ env.IMAGE_NAME }}-${{ env.IMAGE_VARIANT }} + run: | + source .github/workflows/buildpack/upgrade.sh + check_version + + - name: build_docker ${{ env.IMAGE_NAME }}-${{ env.IMAGE_VARIANT }} + run: | + source .github/workflows/buildpack/upgrade.sh + build_docker + + - name: test_docker ${{ env.IMAGE_NAME }}-${{ env.IMAGE_VARIANT }} + run: | + source .github/workflows/buildpack/upgrade.sh + test_docker + + - name: push_docker ${{ env.IMAGE_NAME }}-${{ env.IMAGE_VARIANT }} + run: | + source .github/workflows/buildpack/upgrade.sh + push_docker + + - name: docker logout + run: docker logout docker.pkg.github.com + + - name: Prepare PR comment action + uses: actions/setup-node@v1 + with: + node-version: "12.x" + + - name: Build PR comment action + run: npm i && npm run build + working-directory: ./.github/actions/pr-comment + + - name: Create PR comment + uses: ./.github/actions/pr-comment + with: + token: ${{ secrets.GITHUB_TOKEN }} + comment: "`${{ env.DOCKER_IMAGE }} ${{ env.DOCKER_REPO_DIGEST }}`." diff --git a/.github/workflows/buildpack-ubuntu2004.clang.yml b/.github/workflows/buildpack-ubuntu2004.clang.yml new file mode 100644 index 000000000000..0e2ebc9ea156 --- /dev/null +++ b/.github/workflows/buildpack-ubuntu2004.clang.yml @@ -0,0 +1,63 @@ +name: buildpack:ubuntu2004.clang + +on: + pull_request: + paths: + - '.github/workflows/buildpack-ubuntu2004.clang.yml' + - 'scripts/docker/buildpack/Dockerfile.ubuntu2004.clang' + +jobs: + build: + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_DOCKER_REPOSITORY: docker.pkg.github.com/${{ github.repository }} + IMAGE_NAME: buildpack + IMAGE_VARIANT: ubuntu2004.clang + CC: clang + CXX: clang++ + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: docker login + run: echo "${GITHUB_TOKEN}" | docker login docker.pkg.github.com -u "${GITHUB_ACTOR}" --password-stdin + + - name: check_version ${{ env.IMAGE_NAME }}-${{ env.IMAGE_VARIANT }} + run: | + source .github/workflows/buildpack/upgrade.sh + check_version + + - name: build_docker ${{ env.IMAGE_NAME }}-${{ env.IMAGE_VARIANT }} + run: | + source .github/workflows/buildpack/upgrade.sh + build_docker + + - name: test_docker ${{ env.IMAGE_NAME }}-${{ env.IMAGE_VARIANT }} + run: | + source .github/workflows/buildpack/upgrade.sh + test_docker + + - name: push_docker ${{ env.IMAGE_NAME }}-${{ env.IMAGE_VARIANT }} + run: | + source .github/workflows/buildpack/upgrade.sh + push_docker + + - name: docker logout + run: docker logout docker.pkg.github.com + + - name: Prepare PR comment action + uses: actions/setup-node@v1 + with: + node-version: "12.x" + + - name: Build PR comment action + run: npm i && npm run build + working-directory: ./.github/actions/pr-comment + + - name: Create PR comment + uses: ./.github/actions/pr-comment + with: + token: ${{ secrets.GITHUB_TOKEN }} + comment: "`${{ env.DOCKER_IMAGE }} ${{ env.DOCKER_REPO_DIGEST }}`." diff --git a/.github/workflows/buildpack-ubuntu2004.yml b/.github/workflows/buildpack-ubuntu2004.yml new file mode 100644 index 000000000000..073e6dd7bc12 --- /dev/null +++ b/.github/workflows/buildpack-ubuntu2004.yml @@ -0,0 +1,60 @@ +name: buildpack:ubuntu2004 + +on: + pull_request: + paths: + - '.github/workflows/buildpack-ubuntu2004.yml' + - 'scripts/docker/buildpack/Dockerfile.ubuntu2004' +jobs: + build: + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_DOCKER_REPOSITORY: docker.pkg.github.com/${{ github.repository }} + IMAGE_NAME: buildpack + IMAGE_VARIANT: ubuntu2004 + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: docker login + run: echo "${GITHUB_TOKEN}" | docker login docker.pkg.github.com -u "${GITHUB_ACTOR}" --password-stdin + + - name: check_version ${{ env.IMAGE_NAME }}-${{ env.IMAGE_VARIANT }} + run: | + source .github/workflows/buildpack/upgrade.sh + check_version + + - name: build_docker ${{ env.IMAGE_NAME }}-${{ env.IMAGE_VARIANT }} + run: | + source .github/workflows/buildpack/upgrade.sh + build_docker + + - name: test_docker ${{ env.IMAGE_NAME }}-${{ env.IMAGE_VARIANT }} + run: | + source .github/workflows/buildpack/upgrade.sh + test_docker + + - name: push_docker ${{ env.IMAGE_NAME }}-${{ env.IMAGE_VARIANT }} + run: | + source .github/workflows/buildpack/upgrade.sh + push_docker + + - name: docker logout + run: docker logout docker.pkg.github.com + + - name: Prepare PR comment action + uses: actions/setup-node@v1 + with: + node-version: "12.x" + + - name: Build PR comment action + run: npm i && npm run build + working-directory: ./.github/actions/pr-comment + + - name: Create PR comment + uses: ./.github/actions/pr-comment + with: + token: ${{ secrets.GITHUB_TOKEN }} + comment: "`${{ env.DOCKER_IMAGE }} ${{ env.DOCKER_REPO_DIGEST }}`." diff --git a/.github/workflows/buildpack/test-emscripten.sh b/.github/workflows/buildpack/test-emscripten.sh new file mode 120000 index 000000000000..db839e615da4 --- /dev/null +++ b/.github/workflows/buildpack/test-emscripten.sh @@ -0,0 +1 @@ +../../../scripts/travis-emscripten/build_emscripten.sh \ No newline at end of file diff --git a/.github/workflows/buildpack/test-ubuntu1604.clang.ossfuzz.sh b/.github/workflows/buildpack/test-ubuntu1604.clang.ossfuzz.sh new file mode 120000 index 000000000000..795157602977 --- /dev/null +++ b/.github/workflows/buildpack/test-ubuntu1604.clang.ossfuzz.sh @@ -0,0 +1 @@ +../../../scripts/build_ossfuzz.sh \ No newline at end of file diff --git a/.github/workflows/buildpack/test-ubuntu1804.sh b/.github/workflows/buildpack/test-ubuntu1804.sh new file mode 120000 index 000000000000..136bc85e2e7b --- /dev/null +++ b/.github/workflows/buildpack/test-ubuntu1804.sh @@ -0,0 +1 @@ +../../../scripts/build.sh \ No newline at end of file diff --git a/.github/workflows/buildpack/test-ubuntu2004.clang.sh b/.github/workflows/buildpack/test-ubuntu2004.clang.sh new file mode 120000 index 000000000000..136bc85e2e7b --- /dev/null +++ b/.github/workflows/buildpack/test-ubuntu2004.clang.sh @@ -0,0 +1 @@ +../../../scripts/build.sh \ No newline at end of file diff --git a/.github/workflows/buildpack/test-ubuntu2004.sh b/.github/workflows/buildpack/test-ubuntu2004.sh new file mode 120000 index 000000000000..136bc85e2e7b --- /dev/null +++ b/.github/workflows/buildpack/test-ubuntu2004.sh @@ -0,0 +1 @@ +../../../scripts/build.sh \ No newline at end of file diff --git a/.github/workflows/buildpack/upgrade.sh b/.github/workflows/buildpack/upgrade.sh new file mode 100755 index 000000000000..e4b599d0d9d1 --- /dev/null +++ b/.github/workflows/buildpack/upgrade.sh @@ -0,0 +1,77 @@ +#!/usr/bin/env bash +set -e + +check_parameters() { + echo "-- check_parameters" + + if [ -z "${IMAGE_NAME}" ] || [ -z "${IMAGE_VARIANT}" ] || [ -z "${GITHUB_TOKEN}" ] || [ -z "${GITHUB_ACTOR}" ] || [ -z "${GITHUB_DOCKER_REPOSITORY}" ]; then + echo "\${IMAGE_NAME}, \${IMAGE_VARIANT}, \${GITHUB_TOKEN}, \${GITHUB_ACTOR} and \${GITHUB_DOCKER_REPOSITORY} need to be defined." + + false + fi +} + +check_version() { + echo "-- check_version" + + git fetch + git branch + DOCKERFILE="scripts/docker/${IMAGE_NAME}/Dockerfile.${IMAGE_VARIANT}" + PREV_VERSION=$(git diff origin/develop HEAD -- "${DOCKERFILE}" | grep -e "-LABEL version=\".*\"" | awk -F"\"" '{ print $2 }') + NEXT_VERSION=$(git diff origin/develop HEAD -- "${DOCKERFILE}" | grep -e "+LABEL version=\".*\"" | awk -F"\"" '{ print $2 }') + + if [ -z "${NEXT_VERSION}" ]; then + echo "" + echo "ERROR: No version label defined in Dockerfile. You may need to add 'LABEL version' in '${DOCKERFILE}'. Aborting." + echo "" + + false + fi + + if [ -z "${PREV_VERSION}" ]; then + PREV_VERSION=$((NEXT_VERSION - 1)) + echo "" + echo "WARNING: no previous version found. Will set \$PREV_VERSION = $PREV_VERSION." + echo "" + fi + + if [[ $((PREV_VERSION + 1)) != $((NEXT_VERSION)) ]]; then + echo "" + echo "ERROR: Version label in Dockerfile was not incremented. You may need to change 'LABEL version' in '${DOCKERFILE}'. Aborting." + echo "" + + false + fi +} + +build_docker() { + echo "-- build_docker" + + docker build "scripts/docker/${IMAGE_NAME}" --file "scripts/docker/${IMAGE_NAME}/Dockerfile.${IMAGE_VARIANT}" --tag "${IMAGE_NAME}" +} + +test_docker() { + echo "-- test_docker" + + docker run -v "${PWD}:/root/project" -e CI=1 -e CC="${CC}" -e CXX="${CXX}" -e ROOT_DIR=/root/project "${IMAGE_NAME}" "/root/project/.github/workflows/${IMAGE_NAME}/test-${IMAGE_VARIANT}.sh" +} + +push_docker() { + echo "-- push_docker" + + VERSION=$(docker inspect --format='{{.Config.Labels.version}}' "${IMAGE_NAME}") + DOCKER_IMAGE_ID="${GITHUB_DOCKER_REPOSITORY}/${IMAGE_NAME}-${IMAGE_VARIANT}" + + docker tag "${IMAGE_NAME}" "${DOCKER_IMAGE_ID}:${VERSION}" + docker push "${DOCKER_IMAGE_ID}:${VERSION}" + + REPO_DIGEST=$(docker inspect --format='{{.RepoDigests}}' "${DOCKER_IMAGE_ID}:${VERSION}") + + docker tag "${IMAGE_NAME}" "${DOCKER_IMAGE_ID}:latest" + docker push "${DOCKER_IMAGE_ID}:latest" + + echo "::set-env name=DOCKER_IMAGE::${DOCKER_IMAGE_ID}:${VERSION}" + echo "::set-env name=DOCKER_REPO_DIGEST::${REPO_DIGEST}" +} + +check_parameters diff --git a/.gitignore b/.gitignore index 67e4507591ab..749860301975 100644 --- a/.gitignore +++ b/.gitignore @@ -32,7 +32,7 @@ prerelease.txt # Build directory build/ -build*/ +/build*/ emscripten_build/ docs/_build __pycache__ diff --git a/cmake/jsoncpp.cmake b/cmake/jsoncpp.cmake index 1377041b9a69..8525d88b7898 100644 --- a/cmake/jsoncpp.cmake +++ b/cmake/jsoncpp.cmake @@ -26,7 +26,8 @@ else() # JSON_USE_INT64_DOUBLE_CONVERSION preprocessor macro. Doing so, # not only gets rid of the implicit conversion error that clang-10 produces # but also forces safer behavior in general. - set(JSONCPP_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DJSON_USE_INT64_DOUBLE_CONVERSION") + find_package(Threads REQUIRED) + set(JSONCPP_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DJSON_USE_INT64_DOUBLE_CONVERSION ${CMAKE_THREAD_LIBS_INIT}") endif() set(byproducts "") diff --git a/scripts/build.sh b/scripts/build.sh index 6edd60bd9b07..12f7d2e7a04c 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -2,6 +2,11 @@ set -e ROOTDIR="$(dirname "$0")/.." +if [[ "$( cd "$(dirname "$0")" ; pwd -P )" == *".github"* ]] +then + ROOTDIR="/root/project" +fi + BUILDDIR="${ROOTDIR}/build" if [[ $# -eq 0 ]]; then diff --git a/scripts/build_ossfuzz.sh b/scripts/build_ossfuzz.sh new file mode 100755 index 000000000000..c4adb80dabb8 --- /dev/null +++ b/scripts/build_ossfuzz.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash +set -e + +ROOTDIR="$(dirname "$0")/.." +if [[ "$( cd "$(dirname "$0")" ; pwd -P )" == *".github"* ]] +then + ROOTDIR="/root/project" +fi + +BUILDDIR="${ROOTDIR}/build" + +mkdir -p "${BUILDDIR}" +cd "${BUILDDIR}" + +protoc --proto_path=../test/tools/ossfuzz yulProto.proto --cpp_out=../test/tools/ossfuzz +protoc --proto_path=../test/tools/ossfuzz abiV2Proto.proto --cpp_out=../test/tools/ossfuzz +protoc --proto_path=../test/tools/ossfuzz solProto.proto --cpp_out=../test/tools/ossfuzz +cmake .. -DCMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE:-Release}" -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/libfuzzer.cmake +make ossfuzz ossfuzz_proto ossfuzz_abiv2 -j4 diff --git a/.circleci/docker/Dockerfile.emscripten b/scripts/docker/buildpack/Dockerfile.emscripten similarity index 99% rename from .circleci/docker/Dockerfile.emscripten rename to scripts/docker/buildpack/Dockerfile.emscripten index d2456bb2ae0b..46f4fae2fe69 100644 --- a/.circleci/docker/Dockerfile.emscripten +++ b/scripts/docker/buildpack/Dockerfile.emscripten @@ -29,6 +29,7 @@ # make version=1.39.15 build # FROM emscripten/emsdk:1.39.15 AS base +LABEL version="0" ADD emscripten.jam /usr/src RUN set -ex; \ diff --git a/.circleci/docker/Dockerfile.ubuntu1604.clang.ossfuzz b/scripts/docker/buildpack/Dockerfile.ubuntu1604.clang.ossfuzz similarity index 99% rename from .circleci/docker/Dockerfile.ubuntu1604.clang.ossfuzz rename to scripts/docker/buildpack/Dockerfile.ubuntu1604.clang.ossfuzz index f7dfc7001bdf..05fa9c4348ff 100644 --- a/.circleci/docker/Dockerfile.ubuntu1604.clang.ossfuzz +++ b/scripts/docker/buildpack/Dockerfile.ubuntu1604.clang.ossfuzz @@ -22,6 +22,7 @@ # (c) 2016-2019 solidity contributors. #------------------------------------------------------------------------------ FROM gcr.io/oss-fuzz-base/base-clang as base +LABEL version="0" ARG DEBIAN_FRONTEND=noninteractive diff --git a/.circleci/docker/Dockerfile.ubuntu1804 b/scripts/docker/buildpack/Dockerfile.ubuntu1804 similarity index 99% rename from .circleci/docker/Dockerfile.ubuntu1804 rename to scripts/docker/buildpack/Dockerfile.ubuntu1804 index fa651900b873..b24a8450cff5 100644 --- a/.circleci/docker/Dockerfile.ubuntu1804 +++ b/scripts/docker/buildpack/Dockerfile.ubuntu1804 @@ -22,6 +22,7 @@ # (c) 2016-2019 solidity contributors. #------------------------------------------------------------------------------ FROM buildpack-deps:bionic AS base +LABEL version="0" ARG DEBIAN_FRONTEND=noninteractive diff --git a/.circleci/docker/Dockerfile.ubuntu2004 b/scripts/docker/buildpack/Dockerfile.ubuntu2004 similarity index 98% rename from .circleci/docker/Dockerfile.ubuntu2004 rename to scripts/docker/buildpack/Dockerfile.ubuntu2004 index a021b6533486..1ee0db2b81b9 100644 --- a/.circleci/docker/Dockerfile.ubuntu2004 +++ b/scripts/docker/buildpack/Dockerfile.ubuntu2004 @@ -22,6 +22,7 @@ # (c) 2016-2019 solidity contributors. #------------------------------------------------------------------------------ FROM buildpack-deps:focal AS base +LABEL version="0" ARG DEBIAN_FRONTEND=noninteractive @@ -58,5 +59,7 @@ RUN set -ex; \ FROM base COPY --from=libraries /usr/lib /usr/lib +RUN true COPY --from=libraries /usr/bin /usr/bin +RUN true COPY --from=libraries /usr/include /usr/include diff --git a/.circleci/docker/Dockerfile.ubuntu2004.clang b/scripts/docker/buildpack/Dockerfile.ubuntu2004.clang similarity index 98% rename from .circleci/docker/Dockerfile.ubuntu2004.clang rename to scripts/docker/buildpack/Dockerfile.ubuntu2004.clang index c8d057eb11a0..1b6df5f88c3b 100644 --- a/.circleci/docker/Dockerfile.ubuntu2004.clang +++ b/scripts/docker/buildpack/Dockerfile.ubuntu2004.clang @@ -22,6 +22,7 @@ # (c) 2016-2019 solidity contributors. #------------------------------------------------------------------------------ FROM buildpack-deps:focal AS base +LABEL version="0" ARG DEBIAN_FRONTEND=noninteractive @@ -60,5 +61,7 @@ RUN set -ex; \ FROM base COPY --from=libraries /usr/lib /usr/lib +RUN true COPY --from=libraries /usr/bin /usr/bin +RUN true COPY --from=libraries /usr/include /usr/include diff --git a/.circleci/docker/emscripten.jam b/scripts/docker/buildpack/emscripten.jam similarity index 100% rename from .circleci/docker/emscripten.jam rename to scripts/docker/buildpack/emscripten.jam