From 36b2779540ce3565194edcc999d1dd9f5abd76c3 Mon Sep 17 00:00:00 2001 From: Jeff Gordon Date: Tue, 11 Jul 2023 09:54:45 -0500 Subject: [PATCH 1/5] fix: Update pipenv requirements --- .github/workflows/validate.yml | 10 +++++++--- lib/pipenv.js | 11 +++++++++-- tests/base/package.json | 2 +- tests/individually/package.json | 2 +- tests/non_build_pyproject/package.json | 2 +- tests/non_poetry_pyproject/package.json | 2 +- tests/pipenv/package.json | 2 +- tests/poetry/package.json | 2 +- tests/poetry_individually/package.json | 2 +- 9 files changed, 23 insertions(+), 12 deletions(-) diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index e77f6cce..227e6056 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -16,7 +16,11 @@ jobs: strategy: matrix: sls-version: [2, 3] - pipenv-version: ['2022.8.5', '2022.8.13'] + pipenv-version: ['2022.8.5', '2022.8.13', '2023.7.4', '2023.7.9'] + # pipenv 2202.8.13 marks deprecation of pipenv lock --requirements + # https://github.com/pypa/pipenv/blob/30067b458bd7a429f242736b7fde40c9bd4d4f14/CHANGELOG.rst#2022813-2022-08-13 + # pipenv 2023.7.9 marks deprecation of pipenv lock --keep-outdated + # https://github.com/pypa/pipenv/blob/30067b458bd7a429f242736b7fde40c9bd4d4f14/CHANGELOG.rst#202379-2023-07-09 steps: - name: Checkout repository uses: actions/checkout@v2 @@ -95,7 +99,7 @@ jobs: strategy: matrix: sls-version: [2, 3] - pipenv-version: ['2022.8.5', '2022.8.13'] + pipenv-version: ['2022.8.5', '2022.8.13', '2023.7.4', '2023.7.9'] steps: - name: Checkout repository uses: actions/checkout@v2 @@ -149,7 +153,7 @@ jobs: strategy: matrix: sls-version: [2, 3] - pipenv-version: ['2022.8.5', '2022.8.13'] + pipenv-version: ['2022.8.5', '2022.8.13', '2023.7.4', '2023.7.9'] steps: - name: Checkout repository uses: actions/checkout@v2 diff --git a/lib/pipenv.js b/lib/pipenv.js index c59fe26a..08d3d202 100644 --- a/lib/pipenv.js +++ b/lib/pipenv.js @@ -77,15 +77,22 @@ async function pipfileToRequirements() { if (semver.gt(pipenvVersion, LEGACY_PIPENV_VERSION)) { // Using new pipenv syntax ( >= 2022.8.13) + // Generate requirements from existing lock file. + // See: https://pipenv.pypa.io/en/latest/advanced/#generating-a-requirements-txt try { - await spawn('pipenv', ['lock', '--keep-outdated'], { + await spawn('pipenv', ['requirements'], { cwd: this.servicePath, }); } catch (e) { const stderrBufferContent = (e.stderrBuffer && e.stderrBuffer.toString()) || ''; - if (stderrBufferContent.includes('must exist to use')) { + if (stderrBufferContent.includes('FileNotFoundError')) { // No previous Pipfile.lock, we will try to generate it here + if (this.log) { + this.log.warning('No Pipfile.lock found! Review https://pipenv.pypa.io/en/latest/pipfile/ for recommendations.'); + } else { + this.serverless.cli.log('WARNING: No Pipfile.lock found! Review https://pipenv.pypa.io/en/latest/pipfile/ for recommendations.'); + } await spawn('pipenv', ['lock'], { cwd: this.servicePath, }); diff --git a/tests/base/package.json b/tests/base/package.json index 38630491..781a4259 100644 --- a/tests/base/package.json +++ b/tests/base/package.json @@ -9,6 +9,6 @@ "author": "", "license": "ISC", "dependencies": { - "serverless-python-requirements": "file:serverless-python-requirements-5.3.1.tgz" + "serverless-python-requirements": "file:serverless-python-requirements-6.0.0.tgz" } } diff --git a/tests/individually/package.json b/tests/individually/package.json index 43ce4eee..781a4259 100644 --- a/tests/individually/package.json +++ b/tests/individually/package.json @@ -9,6 +9,6 @@ "author": "", "license": "ISC", "dependencies": { - "serverless-python-requirements": "file:serverless-python-requirements-5.1.1.tgz" + "serverless-python-requirements": "file:serverless-python-requirements-6.0.0.tgz" } } diff --git a/tests/non_build_pyproject/package.json b/tests/non_build_pyproject/package.json index 38630491..781a4259 100644 --- a/tests/non_build_pyproject/package.json +++ b/tests/non_build_pyproject/package.json @@ -9,6 +9,6 @@ "author": "", "license": "ISC", "dependencies": { - "serverless-python-requirements": "file:serverless-python-requirements-5.3.1.tgz" + "serverless-python-requirements": "file:serverless-python-requirements-6.0.0.tgz" } } diff --git a/tests/non_poetry_pyproject/package.json b/tests/non_poetry_pyproject/package.json index 38630491..781a4259 100644 --- a/tests/non_poetry_pyproject/package.json +++ b/tests/non_poetry_pyproject/package.json @@ -9,6 +9,6 @@ "author": "", "license": "ISC", "dependencies": { - "serverless-python-requirements": "file:serverless-python-requirements-5.3.1.tgz" + "serverless-python-requirements": "file:serverless-python-requirements-6.0.0.tgz" } } diff --git a/tests/pipenv/package.json b/tests/pipenv/package.json index 38630491..781a4259 100644 --- a/tests/pipenv/package.json +++ b/tests/pipenv/package.json @@ -9,6 +9,6 @@ "author": "", "license": "ISC", "dependencies": { - "serverless-python-requirements": "file:serverless-python-requirements-5.3.1.tgz" + "serverless-python-requirements": "file:serverless-python-requirements-6.0.0.tgz" } } diff --git a/tests/poetry/package.json b/tests/poetry/package.json index 38630491..781a4259 100644 --- a/tests/poetry/package.json +++ b/tests/poetry/package.json @@ -9,6 +9,6 @@ "author": "", "license": "ISC", "dependencies": { - "serverless-python-requirements": "file:serverless-python-requirements-5.3.1.tgz" + "serverless-python-requirements": "file:serverless-python-requirements-6.0.0.tgz" } } diff --git a/tests/poetry_individually/package.json b/tests/poetry_individually/package.json index 38630491..781a4259 100644 --- a/tests/poetry_individually/package.json +++ b/tests/poetry_individually/package.json @@ -9,6 +9,6 @@ "author": "", "license": "ISC", "dependencies": { - "serverless-python-requirements": "file:serverless-python-requirements-5.3.1.tgz" + "serverless-python-requirements": "file:serverless-python-requirements-6.0.0.tgz" } } From b7513229814d3c533680f6b7c44aaf4b65786f1b Mon Sep 17 00:00:00 2001 From: Jeff Gordon Date: Tue, 11 Jul 2023 12:11:59 -0500 Subject: [PATCH 2/5] fix: Moving stuff around --- lib/pipenv.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/lib/pipenv.js b/lib/pipenv.js index 08d3d202..cc0da9eb 100644 --- a/lib/pipenv.js +++ b/lib/pipenv.js @@ -80,7 +80,7 @@ async function pipfileToRequirements() { // Generate requirements from existing lock file. // See: https://pipenv.pypa.io/en/latest/advanced/#generating-a-requirements-txt try { - await spawn('pipenv', ['requirements'], { + res = await spawn('pipenv', ['requirements'], { cwd: this.servicePath, }); } catch (e) { @@ -96,14 +96,13 @@ async function pipfileToRequirements() { await spawn('pipenv', ['lock'], { cwd: this.servicePath, }); + res = await spawn('pipenv', ['requirements'], { + cwd: this.servicePath, + }); } else { throw e; } } - - res = await spawn('pipenv', ['requirements'], { - cwd: this.servicePath, - }); } else { // Falling back to legacy pipenv syntax res = await spawn( From a790f6edf599528eb42d46ddc48fa86f193735df Mon Sep 17 00:00:00 2001 From: Jeff Gordon Date: Mon, 17 Jul 2023 16:24:23 -0500 Subject: [PATCH 3/5] style: Prettify --- lib/pipenv.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/pipenv.js b/lib/pipenv.js index cc0da9eb..1099b651 100644 --- a/lib/pipenv.js +++ b/lib/pipenv.js @@ -89,9 +89,13 @@ async function pipfileToRequirements() { if (stderrBufferContent.includes('FileNotFoundError')) { // No previous Pipfile.lock, we will try to generate it here if (this.log) { - this.log.warning('No Pipfile.lock found! Review https://pipenv.pypa.io/en/latest/pipfile/ for recommendations.'); + this.log.warning( + 'No Pipfile.lock found! Review https://pipenv.pypa.io/en/latest/pipfile/ for recommendations.' + ); } else { - this.serverless.cli.log('WARNING: No Pipfile.lock found! Review https://pipenv.pypa.io/en/latest/pipfile/ for recommendations.'); + this.serverless.cli.log( + 'WARNING: No Pipfile.lock found! Review https://pipenv.pypa.io/en/latest/pipfile/ for recommendations.' + ); } await spawn('pipenv', ['lock'], { cwd: this.servicePath, From e2bd81202298aeb56b1802ab9d1b9042d578f8bd Mon Sep 17 00:00:00 2001 From: Jeff Gordon Date: Tue, 18 Jul 2023 17:35:56 -0500 Subject: [PATCH 4/5] test: Update to test on fork --- .github/workflows/validate.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index 227e6056..753983e9 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -4,7 +4,10 @@ name: Validate on: pull_request: - branches: [master] + types: + - opened + - synchronize + - reopened env: FORCE_COLOR: 1 From 5ac272991ebe7d3bdfcab12d95dd6530428465cc Mon Sep 17 00:00:00 2001 From: Jeff Gordon Date: Tue, 18 Jul 2023 17:39:31 -0500 Subject: [PATCH 5/5] test: Undo GA trigger change --- .github/workflows/validate.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index 753983e9..227e6056 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -4,10 +4,7 @@ name: Validate on: pull_request: - types: - - opened - - synchronize - - reopened + branches: [master] env: FORCE_COLOR: 1