use esbuild bundler

This commit is contained in:
Frost Ming 2021-03-12 13:46:10 +08:00
parent 058cb7d3d9
commit fd0333ad49
No known key found for this signature in database
GPG Key ID: 5BFA9CB4DDA943BF
6 changed files with 6207 additions and 80 deletions

View File

@ -3,20 +3,15 @@ on: [push]
jobs:
Testing:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.6, 3.7, 3.8, 3.9]
name: Test the action
steps:
- uses: actions/checkout@v2
- name: Set Node.js 12.x
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: npm install
run: npm install
- name: Setup PDM
uses: ./
with:
python-version: 3.6
python-version: ${{ matrix.python-version }}
- name: Get the project info
run: pdm info

View File

@ -1,21 +1,21 @@
---
name: 'Setup PDM'
description: 'Set up a specific version of PDM and uses a given Python version to work on'
author: 'Frost Ming'
name: "Setup PDM"
description: "Set up a specific version of PDM and uses a given Python version to work on"
author: "Frost Ming"
inputs:
python-version:
description: "Version range or exact version of a Python version to use, using SemVer's version range syntax."
default: '3.x'
default: "3.x"
architecture:
description: 'The target architecture (x86, x64) of the Python interpreter.'
description: "The target architecture (x86, x64) of the Python interpreter."
token:
description: Used to pull python distributions from actions/python-versions. Since there's a default, this is typically not supplied by the user.
default: ${{ github.token }}
version:
description: The version of PDM to install.
runs:
using: 'node12'
main: 'dist/index.js'
using: "node12"
main: "dist/setup-pdm.js"
branding:
icon: 'code'
color: 'green'
icon: "code"
color: "green"

55
dist/index.js vendored
View File

@ -1,55 +0,0 @@
"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.prototype.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) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const core = __importStar(require("@actions/core"));
const exec = __importStar(require("@actions/exec"));
const setupPython = __importStar(require("setup-python/dist"));
const os = __importStar(require("os"));
const child_process_1 = require("child_process");
const INSTALL_VERSION = "3.8";
function run() {
return __awaiter(this, void 0, void 0, function* () {
const arch = core.getInput("architecture") || os.arch();
const pdmVersion = core.getInput("version");
const pdmPackage = pdmVersion ? `pdm==${pdmVersion}` : "pdm";
try {
yield setupPython.findPythonVersion(INSTALL_VERSION, arch);
yield exec.exec("python", ["-m", "pip", "install", "-U", pdmPackage]);
const installed = yield setupPython.findPythonVersion(core.getInput("python-version"), arch);
yield exec.exec("pdm", ["use", "-f", installed.version]);
const pdmVersionOutput = (yield child_process_1.exec("pdm --version")).stdout;
core.info(`Successfully setup ${pdmVersionOutput} with Python ${installed.version}`);
}
catch (error) {
core.setFailed(error.message);
}
});
}
run();

6185
dist/setup-pdm.js vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -4,7 +4,7 @@
"description": "The GitHub Action for using pdm as the package manager",
"main": "src/index.js",
"scripts": {
"build": "tsc"
"build": "esbuild src/setup-pdm.ts --bundle --platform=node --outfile=dist/setup-pdm.js"
},
"repository": {
"type": "git",
@ -17,6 +17,8 @@
},
"devDependencies": {
"@types/node": "^14.14.31",
"@types/semver": "^7.3.4",
"esbuild": "^0.9.0",
"typescript": "^4.2.2"
}
}

View File

@ -1,6 +1,6 @@
import * as core from "@actions/core";
import * as exec from "@actions/exec";
import * as setupPython from "setup-python/dist";
import * as setupPython from "setup-python/src/find-python";
import * as os from "os";
import { exec as execChild } from "child_process";