Skip to content

Commit ad40278

Browse files
authored
fix: Remove outdated Pipenv requirements flag (#780)
1 parent e8b2e51 commit ad40278

File tree

9 files changed

+30
-16
lines changed

9 files changed

+30
-16
lines changed

Diff for: .github/workflows/validate.yml

+7-3
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,11 @@ jobs:
1616
strategy:
1717
matrix:
1818
sls-version: [2, 3]
19-
pipenv-version: ['2022.8.5', '2022.8.13']
19+
pipenv-version: ['2022.8.5', '2022.8.13', '2023.7.4', '2023.7.9']
20+
# pipenv 2202.8.13 marks deprecation of pipenv lock --requirements
21+
# https://github.com/pypa/pipenv/blob/30067b458bd7a429f242736b7fde40c9bd4d4f14/CHANGELOG.rst#2022813-2022-08-13
22+
# pipenv 2023.7.9 marks deprecation of pipenv lock --keep-outdated
23+
# https://github.com/pypa/pipenv/blob/30067b458bd7a429f242736b7fde40c9bd4d4f14/CHANGELOG.rst#202379-2023-07-09
2024
steps:
2125
- name: Checkout repository
2226
uses: actions/checkout@v2
@@ -95,7 +99,7 @@ jobs:
9599
strategy:
96100
matrix:
97101
sls-version: [2, 3]
98-
pipenv-version: ['2022.8.5', '2022.8.13']
102+
pipenv-version: ['2022.8.5', '2022.8.13', '2023.7.4', '2023.7.9']
99103
steps:
100104
- name: Checkout repository
101105
uses: actions/checkout@v2
@@ -149,7 +153,7 @@ jobs:
149153
strategy:
150154
matrix:
151155
sls-version: [2, 3]
152-
pipenv-version: ['2022.8.5', '2022.8.13']
156+
pipenv-version: ['2022.8.5', '2022.8.13', '2023.7.4', '2023.7.9']
153157
steps:
154158
- name: Checkout repository
155159
uses: actions/checkout@v2

Diff for: lib/pipenv.js

+16-6
Original file line numberDiff line numberDiff line change
@@ -77,26 +77,36 @@ async function pipfileToRequirements() {
7777

7878
if (semver.gt(pipenvVersion, LEGACY_PIPENV_VERSION)) {
7979
// Using new pipenv syntax ( >= 2022.8.13)
80+
// Generate requirements from existing lock file.
81+
// See: https://pipenv.pypa.io/en/latest/advanced/#generating-a-requirements-txt
8082
try {
81-
await spawn('pipenv', ['lock', '--keep-outdated'], {
83+
res = await spawn('pipenv', ['requirements'], {
8284
cwd: this.servicePath,
8385
});
8486
} catch (e) {
8587
const stderrBufferContent =
8688
(e.stderrBuffer && e.stderrBuffer.toString()) || '';
87-
if (stderrBufferContent.includes('must exist to use')) {
89+
if (stderrBufferContent.includes('FileNotFoundError')) {
8890
// No previous Pipfile.lock, we will try to generate it here
91+
if (this.log) {
92+
this.log.warning(
93+
'No Pipfile.lock found! Review https://pipenv.pypa.io/en/latest/pipfile/ for recommendations.'
94+
);
95+
} else {
96+
this.serverless.cli.log(
97+
'WARNING: No Pipfile.lock found! Review https://pipenv.pypa.io/en/latest/pipfile/ for recommendations.'
98+
);
99+
}
89100
await spawn('pipenv', ['lock'], {
90101
cwd: this.servicePath,
91102
});
103+
res = await spawn('pipenv', ['requirements'], {
104+
cwd: this.servicePath,
105+
});
92106
} else {
93107
throw e;
94108
}
95109
}
96-
97-
res = await spawn('pipenv', ['requirements'], {
98-
cwd: this.servicePath,
99-
});
100110
} else {
101111
// Falling back to legacy pipenv syntax
102112
res = await spawn(

Diff for: tests/base/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@
99
"author": "",
1010
"license": "ISC",
1111
"dependencies": {
12-
"serverless-python-requirements": "file:serverless-python-requirements-5.3.1.tgz"
12+
"serverless-python-requirements": "file:serverless-python-requirements-6.0.0.tgz"
1313
}
1414
}

Diff for: tests/individually/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@
99
"author": "",
1010
"license": "ISC",
1111
"dependencies": {
12-
"serverless-python-requirements": "file:serverless-python-requirements-5.1.1.tgz"
12+
"serverless-python-requirements": "file:serverless-python-requirements-6.0.0.tgz"
1313
}
1414
}

Diff for: tests/non_build_pyproject/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@
99
"author": "",
1010
"license": "ISC",
1111
"dependencies": {
12-
"serverless-python-requirements": "file:serverless-python-requirements-5.3.1.tgz"
12+
"serverless-python-requirements": "file:serverless-python-requirements-6.0.0.tgz"
1313
}
1414
}

Diff for: tests/non_poetry_pyproject/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@
99
"author": "",
1010
"license": "ISC",
1111
"dependencies": {
12-
"serverless-python-requirements": "file:serverless-python-requirements-5.3.1.tgz"
12+
"serverless-python-requirements": "file:serverless-python-requirements-6.0.0.tgz"
1313
}
1414
}

Diff for: tests/pipenv/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@
99
"author": "",
1010
"license": "ISC",
1111
"dependencies": {
12-
"serverless-python-requirements": "file:serverless-python-requirements-5.3.1.tgz"
12+
"serverless-python-requirements": "file:serverless-python-requirements-6.0.0.tgz"
1313
}
1414
}

Diff for: tests/poetry/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@
99
"author": "",
1010
"license": "ISC",
1111
"dependencies": {
12-
"serverless-python-requirements": "file:serverless-python-requirements-5.3.1.tgz"
12+
"serverless-python-requirements": "file:serverless-python-requirements-6.0.0.tgz"
1313
}
1414
}

Diff for: tests/poetry_individually/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@
99
"author": "",
1010
"license": "ISC",
1111
"dependencies": {
12-
"serverless-python-requirements": "file:serverless-python-requirements-5.3.1.tgz"
12+
"serverless-python-requirements": "file:serverless-python-requirements-6.0.0.tgz"
1313
}
1414
}

0 commit comments

Comments
 (0)