diff --git a/README.md b/README.md index 1fe0515..a8ef47c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Upload-Artifact v2 +# Upload-Artifact v3 This uploads artifacts from your workflow allowing you to share data between jobs and store data once a workflow is complete. @@ -34,7 +34,7 @@ steps: - run: echo hello > path/to/artifact/world.txt -- uses: actions/upload-artifact@v2 +- uses: actions/upload-artifact@v3 with: name: my-artifact path: path/to/artifact/world.txt @@ -43,7 +43,7 @@ steps: ### Upload an Entire Directory ```yaml -- uses: actions/upload-artifact@v2 +- uses: actions/upload-artifact@v3 with: name: my-artifact path: path/to/artifact/ # or path/to/artifact @@ -52,7 +52,7 @@ steps: ### Upload using a Wildcard Pattern ```yaml -- uses: actions/upload-artifact@v2 +- uses: actions/upload-artifact@v3 with: name: my-artifact path: path/**/[abc]rtifac?/* @@ -61,7 +61,7 @@ steps: ### Upload using Multiple Paths and Exclusions ```yaml -- uses: actions/upload-artifact@v2 +- uses: actions/upload-artifact@v3 with: name: my-artifact path: | @@ -97,7 +97,7 @@ The [@actions/artifact](https://github.com/actions/toolkit/tree/main/packages/ar If a path (or paths), result in no files being found for the artifact, the action will succeed but print out a warning. In certain scenarios it may be desirable to fail the action or suppress the warning. The `if-no-files-found` option allows you to customize the behavior of the action if no files are found: ```yaml -- uses: actions/upload-artifact@v2 +- uses: actions/upload-artifact@v3 with: name: my-artifact path: path/to/artifact/ @@ -109,7 +109,7 @@ If a path (or paths), result in no files being found for the artifact, the actio To upload artifacts only when the previous step of a job failed, use [`if: failure()`](https://help.github.com/en/articles/contexts-and-expression-syntax-for-github-actions#job-status-check-functions): ```yaml -- uses: actions/upload-artifact@v2 +- uses: actions/upload-artifact@v3 if: failure() with: name: my-artifact @@ -121,7 +121,7 @@ To upload artifacts only when the previous step of a job failed, use [`if: failu You can upload an artifact without specifying a name ```yaml -- uses: actions/upload-artifact@v2 +- uses: actions/upload-artifact@v3 with: path: path/to/artifact/world.txt ``` @@ -134,17 +134,17 @@ With the following example, the available artifact (named `artifact` by default ```yaml - run: echo hi > world.txt -- uses: actions/upload-artifact@v2 +- uses: actions/upload-artifact@v3 with: path: world.txt - run: echo howdy > extra-file.txt -- uses: actions/upload-artifact@v2 +- uses: actions/upload-artifact@v3 with: path: extra-file.txt - run: echo hello > world.txt -- uses: actions/upload-artifact@v2 +- uses: actions/upload-artifact@v3 with: path: world.txt ``` @@ -159,7 +159,7 @@ Each artifact behaves as a file share. Uploading to the same artifact multiple t - name: Create a file run: echo ${{ matrix.node-version }} > my_file.txt - name: Accidentally upload to the same artifact via multiple jobs - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: my-artifact path: ${{ github.workspace }} @@ -170,7 +170,7 @@ Each artifact behaves as a file share. Uploading to the same artifact multiple t In the above example, four jobs will upload four different files to the same artifact but there will only be one file available when `my-artifact` is downloaded. Each job overwrites what was previously uploaded. To ensure that jobs don't overwrite existing artifacts, use a different name per job: ```yaml - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: my-artifact ${{ matrix.node-version }} path: ${{ github.workspace }} @@ -184,9 +184,9 @@ You can use `~` in the path input as a substitute for `$HOME`. Basic tilde expan - run: | mkdir -p ~/new/artifact echo hello > ~/new/artifact/world.txt - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: - name: Artifacts-V2 + name: Artifacts-V3 path: ~/new/**/* ``` @@ -199,7 +199,7 @@ Environment variables along with context expressions can also be used for input. - run: | mkdir -p ${{ github.workspace }}/artifact echo hello > ${{ github.workspace }}/artifact/world.txt - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: name: ${{ env.name }}-name path: ${{ github.workspace }}/artifact/**/* @@ -213,7 +213,7 @@ For environment variables created in other steps, make sure to use the `env` exp mkdir testing echo "This is a file to upload" > testing/file.txt echo "artifactPath=testing/file.txt" >> $GITHUB_ENV - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: name: artifact path: ${{ env.artifactPath }} # this will resolve to testing/file.txt at runtime @@ -228,7 +228,7 @@ Artifacts are retained for 90 days by default. You can specify a shorter retenti run: echo "I won't live long" > my_file.txt - name: Upload Artifact - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: my-artifact path: my_file.txt @@ -270,7 +270,7 @@ If file permissions and case sensitivity are required, you can `tar` all of your run: tar -cvf my_files.tar /path/to/my/directory - name: Upload Artifact - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: my-artifact path: my_files.tar diff --git a/dist/index.js b/dist/index.js index 337ec28..0de67fd 100644 --- a/dist/index.js +++ b/dist/index.js @@ -2880,6 +2880,7 @@ module.exports.setGracefulCleanup = setGracefulCleanup; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); +exports.StatusReporter = void 0; const core_1 = __webpack_require__(470); /** * Status Reporter that displays information about the progress/status of an artifact that is being uploaded or downloaded @@ -2945,6 +2946,7 @@ module.exports = require("https"); "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); +exports.create = void 0; const artifact_client_1 = __webpack_require__(359); /** * Constructs an ArtifactClient @@ -4121,6 +4123,25 @@ module.exports = require("assert"); "use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { @@ -4130,14 +4151,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; - result["default"] = mod; - return result; -}; Object.defineProperty(exports, "__esModule", { value: true }); +exports.DefaultArtifactClient = void 0; const core = __importStar(__webpack_require__(470)); const upload_specification_1 = __webpack_require__(590); const upload_http_client_1 = __webpack_require__(608); @@ -4473,6 +4488,7 @@ run(); "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); +exports.getRetentionDays = exports.getWorkSpaceDirectory = exports.getWorkFlowRunId = exports.getRuntimeUrl = exports.getRuntimeToken = exports.getDownloadFileConcurrency = exports.getInitialRetryIntervalInMilliseconds = exports.getRetryMultiplier = exports.getRetryLimit = exports.getUploadChunkSize = exports.getUploadFileConcurrency = void 0; // The number of concurrent uploads that happens at the same time function getUploadFileConcurrency() { return 2; @@ -5448,6 +5464,7 @@ function escapeProperty(s) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); +exports.HttpManager = void 0; const utils_1 = __webpack_require__(870); /** * Used for managing http clients during either upload or download @@ -5730,6 +5747,25 @@ exports.getState = getState; "use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { @@ -5739,14 +5775,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; - result["default"] = mod; - return result; -}; Object.defineProperty(exports, "__esModule", { value: true }); +exports.retryHttpClientRequest = exports.retry = void 0; const utils_1 = __webpack_require__(870); const core = __importStar(__webpack_require__(470)); const config_variables_1 = __webpack_require__(401); @@ -5812,14 +5842,27 @@ exports.retryHttpClientRequest = retryHttpClientRequest; "use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; - if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; - result["default"] = mod; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); +exports.getDownloadSpecification = void 0; const path = __importStar(__webpack_require__(622)); /** * Creates a specification for a set of files that will be downloaded @@ -6426,6 +6469,7 @@ exports.HttpClient = HttpClient; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); +exports.checkArtifactFilePath = exports.checkArtifactName = void 0; const core_1 = __webpack_require__(470); /** * Invalid characters that cannot be in the artifact name or an uploaded file. Will be rejected @@ -6694,14 +6738,27 @@ exports.getInputs = getInputs; "use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; - if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; - result["default"] = mod; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); +exports.getUploadSpecification = void 0; const fs = __importStar(__webpack_require__(747)); const core_1 = __webpack_require__(470); const path_1 = __webpack_require__(622); @@ -6914,6 +6971,25 @@ module.exports = require("http"); "use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { @@ -6923,14 +6999,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; - result["default"] = mod; - return result; -}; Object.defineProperty(exports, "__esModule", { value: true }); +exports.UploadHttpClient = void 0; const fs = __importStar(__webpack_require__(747)); const core = __importStar(__webpack_require__(470)); const tmp = __importStar(__webpack_require__(875)); @@ -7410,6 +7480,25 @@ module.exports = require("net"); "use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { @@ -7426,14 +7515,8 @@ var __asyncValues = (this && this.__asyncValues) || function (o) { function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } }; -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; - result["default"] = mod; - return result; -}; Object.defineProperty(exports, "__esModule", { value: true }); +exports.createGZipFileInBuffer = exports.createGZipFileOnDisk = void 0; const fs = __importStar(__webpack_require__(747)); const zlib = __importStar(__webpack_require__(761)); const util_1 = __webpack_require__(669); @@ -7707,6 +7790,25 @@ module.exports = require("url"); "use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { @@ -7716,14 +7818,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; - result["default"] = mod; - return result; -}; Object.defineProperty(exports, "__esModule", { value: true }); +exports.DownloadHttpClient = void 0; const fs = __importStar(__webpack_require__(747)); const core = __importStar(__webpack_require__(470)); const zlib = __importStar(__webpack_require__(761)); @@ -8243,6 +8339,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge }); }; Object.defineProperty(exports, "__esModule", { value: true }); +exports.sleep = exports.getProperRetention = exports.rmFile = exports.getFileSize = exports.createEmptyFilesForArtifact = exports.createDirectoriesForArtifact = exports.displayHttpDiagnostics = exports.getArtifactUrl = exports.createHttpClient = exports.getUploadHeaders = exports.getDownloadHeaders = exports.getContentRange = exports.tryGetRetryAfterValueTimeInMilliseconds = exports.isThrottledStatusCode = exports.isRetryableStatusCode = exports.isForbiddenStatusCode = exports.isSuccessStatusCode = exports.getApiVersion = exports.parseEnvNumber = exports.getExponentialRetryTimeInMilliseconds = void 0; const core_1 = __webpack_require__(470); const fs_1 = __webpack_require__(747); const http_client_1 = __webpack_require__(539);