Merge branch 'master' into v1-release
This commit is contained in:
		
						commit
						9709d4a39e
					
				
							
								
								
									
										32
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										32
									
								
								README.md
									
									
									
									
									
								
							@ -13,6 +13,10 @@ You must provide:
 | 
				
			|||||||
- `tag`: The tag to uploaded into. If you want the current event's tag, use `${{ github.ref }}`
 | 
					- `tag`: The tag to uploaded into. If you want the current event's tag, use `${{ github.ref }}`
 | 
				
			||||||
- `overwrite`: If an asset with the same name already exists, overwrite it.
 | 
					- `overwrite`: If an asset with the same name already exists, overwrite it.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Optional Arguments
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 - `file_glob`: If set to true, the file argument can be a glob pattern (`asset_name` is ignored in this case)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Usage
 | 
					## Usage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This usage assumes you want to build on tag creations only.
 | 
					This usage assumes you want to build on tag creations only.
 | 
				
			||||||
@ -92,3 +96,31 @@ jobs:
 | 
				
			|||||||
        asset_name: ${{ matrix.asset_name }}
 | 
					        asset_name: ${{ matrix.asset_name }}
 | 
				
			||||||
        tag: ${{ github.ref }}
 | 
					        tag: ${{ github.ref }}
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Example with `file_glob`:
 | 
				
			||||||
 | 
					```yaml
 | 
				
			||||||
 | 
					name: Publish
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  push:
 | 
				
			||||||
 | 
					    tags:
 | 
				
			||||||
 | 
					      - '*'
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  build:
 | 
				
			||||||
 | 
					    name: Publish binaries
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					    - uses: hecrj/setup-rust-action@v1-release
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        rust-version: stable
 | 
				
			||||||
 | 
					    - uses: actions/checkout@v1
 | 
				
			||||||
 | 
					    - name: Build
 | 
				
			||||||
 | 
					      run: cargo build --release
 | 
				
			||||||
 | 
					    - name: Upload binaries to release
 | 
				
			||||||
 | 
					      uses: svenstaro/upload-release-action@v1-release
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        repo_token: ${{ secrets.GITHUB_TOKEN }}
 | 
				
			||||||
 | 
					        file: target/release/my*
 | 
				
			||||||
 | 
					        tag: ${{ github.ref }}
 | 
				
			||||||
 | 
					        overwrite: true
 | 
				
			||||||
 | 
					        file_glob: true
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
@ -19,6 +19,8 @@ inputs:
 | 
				
			|||||||
    required: true
 | 
					    required: true
 | 
				
			||||||
  overwrite:
 | 
					  overwrite:
 | 
				
			||||||
    description: 'Overwrite the release in case it already exists'
 | 
					    description: 'Overwrite the release in case it already exists'
 | 
				
			||||||
 | 
					  file_glob:
 | 
				
			||||||
 | 
					    description: 'if true the file can be a glob pattern, asset_name is ignored if this is true'
 | 
				
			||||||
runs:
 | 
					runs:
 | 
				
			||||||
  using: 'node12'
 | 
					  using: 'node12'
 | 
				
			||||||
  main: 'lib/main.js'
 | 
					  main: 'lib/main.js'
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										29
									
								
								lib/main.js
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								lib/main.js
									
									
									
									
									
								
							@ -18,6 +18,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
 | 
				
			|||||||
const fs = __importStar(require("fs"));
 | 
					const fs = __importStar(require("fs"));
 | 
				
			||||||
const core = __importStar(require("@actions/core"));
 | 
					const core = __importStar(require("@actions/core"));
 | 
				
			||||||
const github = __importStar(require("@actions/github"));
 | 
					const github = __importStar(require("@actions/github"));
 | 
				
			||||||
 | 
					const path = __importStar(require("path"));
 | 
				
			||||||
 | 
					const glob = require("glob");
 | 
				
			||||||
function get_release_by_tag(tag, octokit, context) {
 | 
					function get_release_by_tag(tag, octokit, context) {
 | 
				
			||||||
    return __awaiter(this, void 0, void 0, function* () {
 | 
					    return __awaiter(this, void 0, void 0, function* () {
 | 
				
			||||||
        try {
 | 
					        try {
 | 
				
			||||||
@ -38,7 +40,12 @@ function get_release_by_tag(tag, octokit, context) {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
function upload_to_release(release, file, asset_name, tag, overwrite, octokit, context) {
 | 
					function upload_to_release(release, file, asset_name, tag, overwrite, octokit, context) {
 | 
				
			||||||
    return __awaiter(this, void 0, void 0, function* () {
 | 
					    return __awaiter(this, void 0, void 0, function* () {
 | 
				
			||||||
        const file_size = fs.statSync(file).size;
 | 
					        const stat = fs.statSync(file);
 | 
				
			||||||
 | 
					        if (!stat.isFile()) {
 | 
				
			||||||
 | 
					            core.debug(`Skipping ${file}, since its not a file`);
 | 
				
			||||||
 | 
					            return;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        const file_size = stat.size;
 | 
				
			||||||
        const file_bytes = fs.readFileSync(file);
 | 
					        const file_bytes = fs.readFileSync(file);
 | 
				
			||||||
        // Check for duplicates.
 | 
					        // Check for duplicates.
 | 
				
			||||||
        const assets = yield octokit.repos.listAssetsForRelease(Object.assign({}, context.repo, { release_id: release.data.id }));
 | 
					        const assets = yield octokit.repos.listAssetsForRelease(Object.assign({}, context.repo, { release_id: release.data.id }));
 | 
				
			||||||
@ -73,17 +80,29 @@ function run() {
 | 
				
			|||||||
        try {
 | 
					        try {
 | 
				
			||||||
            const token = core.getInput('repo_token', { required: true });
 | 
					            const token = core.getInput('repo_token', { required: true });
 | 
				
			||||||
            const file = core.getInput('file', { required: true });
 | 
					            const file = core.getInput('file', { required: true });
 | 
				
			||||||
            const asset_name = core.getInput('asset_name', { required: true });
 | 
					            const file_glob = core.getInput('file_glob');
 | 
				
			||||||
            const tag = core.getInput('tag', { required: true }).replace("refs/tags/", "");
 | 
					            const tag = core.getInput('tag', { required: true }).replace("refs/tags/", "");
 | 
				
			||||||
            const overwrite = core.getInput('overwrite');
 | 
					            const overwrite = core.getInput('overwrite');
 | 
				
			||||||
            if (!fs.existsSync(file)) {
 | 
					 | 
				
			||||||
                core.setFailed(`File ${file} wasn't found.`);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            const octokit = new github.GitHub(token);
 | 
					            const octokit = new github.GitHub(token);
 | 
				
			||||||
            const context = github.context;
 | 
					            const context = github.context;
 | 
				
			||||||
            const release = yield get_release_by_tag(tag, octokit, context);
 | 
					            const release = yield get_release_by_tag(tag, octokit, context);
 | 
				
			||||||
 | 
					            if (file_glob === "true") {
 | 
				
			||||||
 | 
					                const files = glob.sync(file);
 | 
				
			||||||
 | 
					                if (files.length > 0) {
 | 
				
			||||||
 | 
					                    for (let file of files) {
 | 
				
			||||||
 | 
					                        const asset_name = path.basename(file);
 | 
				
			||||||
                        yield upload_to_release(release, file, asset_name, tag, overwrite, octokit, context);
 | 
					                        yield upload_to_release(release, file, asset_name, tag, overwrite, octokit, context);
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                else {
 | 
				
			||||||
 | 
					                    core.setFailed("No files matching the glob pattern found.");
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            else {
 | 
				
			||||||
 | 
					                const asset_name = core.getInput('asset_name', { required: true });
 | 
				
			||||||
 | 
					                yield upload_to_release(release, file, asset_name, tag, overwrite, octokit, context);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        catch (error) {
 | 
					        catch (error) {
 | 
				
			||||||
            core.setFailed(error.message);
 | 
					            core.setFailed(error.message);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										31
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										31
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@ -852,8 +852,7 @@
 | 
				
			|||||||
    "balanced-match": {
 | 
					    "balanced-match": {
 | 
				
			||||||
      "version": "1.0.0",
 | 
					      "version": "1.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
 | 
				
			||||||
      "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
 | 
					      "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "base": {
 | 
					    "base": {
 | 
				
			||||||
      "version": "0.11.2",
 | 
					      "version": "0.11.2",
 | 
				
			||||||
@ -934,7 +933,6 @@
 | 
				
			|||||||
      "version": "1.1.11",
 | 
					      "version": "1.1.11",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
 | 
				
			||||||
      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
 | 
					      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "balanced-match": "^1.0.0",
 | 
					        "balanced-match": "^1.0.0",
 | 
				
			||||||
        "concat-map": "0.0.1"
 | 
					        "concat-map": "0.0.1"
 | 
				
			||||||
@ -1194,9 +1192,9 @@
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "commander": {
 | 
					    "commander": {
 | 
				
			||||||
      "version": "2.20.0",
 | 
					      "version": "2.20.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==",
 | 
					      "integrity": "sha512-cCuLsMhJeWQ/ZpsFTbE765kvVfoeSddc4nU3up4fV+fDBcfUXnbITJ+JzhkdjzOqhURjZgujxaioam4RM9yGUg==",
 | 
				
			||||||
      "dev": true,
 | 
					      "dev": true,
 | 
				
			||||||
      "optional": true
 | 
					      "optional": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
@ -1209,8 +1207,7 @@
 | 
				
			|||||||
    "concat-map": {
 | 
					    "concat-map": {
 | 
				
			||||||
      "version": "0.0.1",
 | 
					      "version": "0.0.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
 | 
				
			||||||
      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
 | 
					      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "convert-source-map": {
 | 
					    "convert-source-map": {
 | 
				
			||||||
      "version": "1.6.0",
 | 
					      "version": "1.6.0",
 | 
				
			||||||
@ -1788,8 +1785,7 @@
 | 
				
			|||||||
    "fs.realpath": {
 | 
					    "fs.realpath": {
 | 
				
			||||||
      "version": "1.0.0",
 | 
					      "version": "1.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
 | 
				
			||||||
      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
 | 
					      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "fsevents": {
 | 
					    "fsevents": {
 | 
				
			||||||
      "version": "1.2.9",
 | 
					      "version": "1.2.9",
 | 
				
			||||||
@ -2378,7 +2374,6 @@
 | 
				
			|||||||
      "version": "7.1.4",
 | 
					      "version": "7.1.4",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
 | 
				
			||||||
      "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
 | 
					      "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "fs.realpath": "^1.0.0",
 | 
					        "fs.realpath": "^1.0.0",
 | 
				
			||||||
        "inflight": "^1.0.4",
 | 
					        "inflight": "^1.0.4",
 | 
				
			||||||
@ -2407,9 +2402,9 @@
 | 
				
			|||||||
      "dev": true
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "handlebars": {
 | 
					    "handlebars": {
 | 
				
			||||||
      "version": "4.1.2",
 | 
					      "version": "4.4.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.4.2.tgz",
 | 
				
			||||||
      "integrity": "sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw==",
 | 
					      "integrity": "sha512-cIv17+GhL8pHHnRJzGu2wwcthL5sb8uDKBHvZ2Dtu5s1YNt0ljbzKbamnc+gr69y7bzwQiBdr5+hOpRd5pnOdg==",
 | 
				
			||||||
      "dev": true,
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "neo-async": "^2.6.0",
 | 
					        "neo-async": "^2.6.0",
 | 
				
			||||||
@ -2561,7 +2556,6 @@
 | 
				
			|||||||
      "version": "1.0.6",
 | 
					      "version": "1.0.6",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
 | 
				
			||||||
      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
 | 
					      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "once": "^1.3.0",
 | 
					        "once": "^1.3.0",
 | 
				
			||||||
        "wrappy": "1"
 | 
					        "wrappy": "1"
 | 
				
			||||||
@ -2570,8 +2564,7 @@
 | 
				
			|||||||
    "inherits": {
 | 
					    "inherits": {
 | 
				
			||||||
      "version": "2.0.4",
 | 
					      "version": "2.0.4",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
 | 
				
			||||||
      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
 | 
					      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "invariant": {
 | 
					    "invariant": {
 | 
				
			||||||
      "version": "2.2.4",
 | 
					      "version": "2.2.4",
 | 
				
			||||||
@ -3681,7 +3674,6 @@
 | 
				
			|||||||
      "version": "3.0.4",
 | 
					      "version": "3.0.4",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
 | 
				
			||||||
      "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
 | 
					      "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "brace-expansion": "^1.1.7"
 | 
					        "brace-expansion": "^1.1.7"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@ -4128,8 +4120,7 @@
 | 
				
			|||||||
    "path-is-absolute": {
 | 
					    "path-is-absolute": {
 | 
				
			||||||
      "version": "1.0.1",
 | 
					      "version": "1.0.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
 | 
				
			||||||
      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
 | 
					      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "path-key": {
 | 
					    "path-key": {
 | 
				
			||||||
      "version": "2.0.1",
 | 
					      "version": "2.0.1",
 | 
				
			||||||
 | 
				
			|||||||
@ -23,7 +23,8 @@
 | 
				
			|||||||
  "license": "MIT",
 | 
					  "license": "MIT",
 | 
				
			||||||
  "dependencies": {
 | 
					  "dependencies": {
 | 
				
			||||||
    "@actions/core": "^1.0.0",
 | 
					    "@actions/core": "^1.0.0",
 | 
				
			||||||
    "@actions/github": "^1.0.0"
 | 
					    "@actions/github": "^1.0.0",
 | 
				
			||||||
 | 
					    "glob": "^7.1.4"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "devDependencies": {
 | 
					  "devDependencies": {
 | 
				
			||||||
    "@types/jest": "^24.0.13",
 | 
					    "@types/jest": "^24.0.13",
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										33
									
								
								src/main.ts
									
									
									
									
									
								
							
							
						
						
									
										33
									
								
								src/main.ts
									
									
									
									
									
								
							@ -1,6 +1,9 @@
 | 
				
			|||||||
import * as fs from 'fs';
 | 
					import * as fs from 'fs';
 | 
				
			||||||
import * as core from '@actions/core';
 | 
					import * as core from '@actions/core';
 | 
				
			||||||
import * as github from '@actions/github';
 | 
					import * as github from '@actions/github';
 | 
				
			||||||
 | 
					import * as path from 'path';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const glob = require("glob")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
async function get_release_by_tag(tag: string, octokit: any, context: any): Promise<any> {
 | 
					async function get_release_by_tag(tag: string, octokit: any, context: any): Promise<any> {
 | 
				
			||||||
    try {
 | 
					    try {
 | 
				
			||||||
@ -24,7 +27,12 @@ async function get_release_by_tag(tag: string, octokit: any, context: any): Prom
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
async function upload_to_release(release: any, file: string, asset_name: string, tag: string, overwrite: string, octokit: any, context: any) {
 | 
					async function upload_to_release(release: any, file: string, asset_name: string, tag: string, overwrite: string, octokit: any, context: any) {
 | 
				
			||||||
    const file_size = fs.statSync(file).size;
 | 
					    const stat = fs.statSync(file);
 | 
				
			||||||
 | 
					    if (!stat.isFile()) {
 | 
				
			||||||
 | 
					        core.debug(`Skipping ${file}, since its not a file`);
 | 
				
			||||||
 | 
					        return;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    const file_size = stat.size;
 | 
				
			||||||
    const file_bytes = fs.readFileSync(file);
 | 
					    const file_bytes = fs.readFileSync(file);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Check for duplicates.
 | 
					    // Check for duplicates.
 | 
				
			||||||
@ -64,19 +72,30 @@ async function run() {
 | 
				
			|||||||
    try {
 | 
					    try {
 | 
				
			||||||
        const token = core.getInput('repo_token', { required: true });
 | 
					        const token = core.getInput('repo_token', { required: true });
 | 
				
			||||||
        const file = core.getInput('file', { required: true });
 | 
					        const file = core.getInput('file', { required: true });
 | 
				
			||||||
        const asset_name = core.getInput('asset_name', { required: true });
 | 
					        const file_glob = core.getInput('file_glob');
 | 
				
			||||||
        const tag = core.getInput('tag', { required: true }).replace("refs/tags/", "");
 | 
					        const tag = core.getInput('tag', { required: true }).replace("refs/tags/", "");
 | 
				
			||||||
        const overwrite = core.getInput('overwrite');
 | 
					        const overwrite = core.getInput('overwrite');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (!fs.existsSync(file)) {
 | 
					 | 
				
			||||||
            core.setFailed(`File ${file} wasn't found.`);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        const octokit = new github.GitHub(token);
 | 
					        const octokit = new github.GitHub(token);
 | 
				
			||||||
        const context = github.context;
 | 
					        const context = github.context;
 | 
				
			||||||
 | 
					 | 
				
			||||||
        const release = await get_release_by_tag(tag, octokit, context);
 | 
					        const release = await get_release_by_tag(tag, octokit, context);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (file_glob === "true") {
 | 
				
			||||||
 | 
					            const files = glob.sync(file);
 | 
				
			||||||
 | 
					            if (files.length > 0) {
 | 
				
			||||||
 | 
					                for (let file of files) {
 | 
				
			||||||
 | 
					                    const asset_name = path.basename(file);
 | 
				
			||||||
                    await upload_to_release(release, file, asset_name, tag, overwrite, octokit, context);
 | 
					                    await upload_to_release(release, file, asset_name, tag, overwrite, octokit, context);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            else {
 | 
				
			||||||
 | 
					                core.setFailed("No files matching the glob pattern found.");
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        else {
 | 
				
			||||||
 | 
					            const asset_name = core.getInput('asset_name', { required: true });
 | 
				
			||||||
 | 
					            await upload_to_release(release, file, asset_name, tag, overwrite, octokit, context);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    } catch (error) {
 | 
					    } catch (error) {
 | 
				
			||||||
        core.setFailed(error.message);
 | 
					        core.setFailed(error.message);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user