mirror of
				https://gitea.com/actions/setup-python.git
				synced 2025-11-04 07:47:09 +00:00 
			
		
		
		
	Compare commits
	
		
			5 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					24156c231c | ||
| 
						 | 
					212e83ff58 | ||
| 
						 | 
					0c28554988 | ||
| 
						 | 
					7010ec794f | ||
| 
						 | 
					306c473438 | 
							
								
								
									
										29
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										29
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							@@ -61,3 +61,32 @@ jobs:
 | 
			
		||||
 | 
			
		||||
    - name: Run simple code
 | 
			
		||||
      run: python -c 'import math; print(math.factorial(5))'
 | 
			
		||||
 | 
			
		||||
  setup-pre-release-version-from-manifest:
 | 
			
		||||
    name: Setup 3.9.0-beta.4 ${{ matrix.os }}
 | 
			
		||||
    runs-on: ${{ matrix.os }}
 | 
			
		||||
    strategy:
 | 
			
		||||
      fail-fast: false
 | 
			
		||||
      matrix:
 | 
			
		||||
        os: [macos-latest, windows-latest, ubuntu-16.04, ubuntu-18.04]
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
 | 
			
		||||
    - name: setup-python 3.9.0-beta.4
 | 
			
		||||
      uses: ./
 | 
			
		||||
      with:
 | 
			
		||||
        python-version: '3.9.0-beta.4'
 | 
			
		||||
 | 
			
		||||
    - name: Validate version
 | 
			
		||||
      run: |
 | 
			
		||||
        $pythonVersion = (python --version)
 | 
			
		||||
        if ("Python 3.9.0b4" -ne "$pythonVersion"){
 | 
			
		||||
          Write-Host "The current version is $pythonVersion; expected version is 3.9.0b4"
 | 
			
		||||
          exit 1
 | 
			
		||||
        }
 | 
			
		||||
        $pythonVersion
 | 
			
		||||
      shell: pwsh
 | 
			
		||||
 | 
			
		||||
    - name: Run simple code
 | 
			
		||||
      run: python -c 'import math; print(math.factorial(5))'
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										22
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								README.md
									
									
									
									
									
								
							@@ -16,6 +16,7 @@ This action sets up a Python environment for use in actions by:
 | 
			
		||||
- Ability to download, install and set up Python packages from `actions/python-versions` that do not come preinstalled on runners
 | 
			
		||||
  - Allows for pinning to a specific patch version of Python without the worry of it ever being removed or changed
 | 
			
		||||
- Automatic setup and download of Python packages if using a self-hosted runner
 | 
			
		||||
- Support for pre-release versions of Python
 | 
			
		||||
 | 
			
		||||
# Usage
 | 
			
		||||
 | 
			
		||||
@@ -81,6 +82,7 @@ jobs:
 | 
			
		||||
  build:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    strategy:
 | 
			
		||||
      matrix:
 | 
			
		||||
        # in this example, there is a newer version already installed, 3.7.7, so the older version will be downloaded
 | 
			
		||||
        python-version: [3.5, 3.6, 3.7.4, 3.8]
 | 
			
		||||
    steps:
 | 
			
		||||
@@ -92,6 +94,26 @@ jobs:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Download and set up a accurate pre-release version of Python:
 | 
			
		||||
```yaml
 | 
			
		||||
steps:
 | 
			
		||||
- uses: actions/checkout@v2
 | 
			
		||||
- uses: actions/setup-python@v2
 | 
			
		||||
  with:
 | 
			
		||||
    python-version: '3.9.0-beta.4'
 | 
			
		||||
- run: python my_script.py
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Download and set up the latest available version of Python (includes both pre-release and stable versions):
 | 
			
		||||
```yaml
 | 
			
		||||
steps:
 | 
			
		||||
- uses: actions/checkout@v2
 | 
			
		||||
- uses: actions/setup-python@v2
 | 
			
		||||
  with:
 | 
			
		||||
    python-version: '3.9.0-alpha - 3.9.0' # SemVer's version range syntax
 | 
			
		||||
- run: python my_script.py
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
# Getting started with Python + Actions
 | 
			
		||||
 | 
			
		||||
Check out our detailed guide on using [Python with GitHub Actions](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/using-python-with-github-actions).
 | 
			
		||||
 
 | 
			
		||||
@@ -1,13 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
    "version": "1.2.3",
 | 
			
		||||
    "stable": true,
 | 
			
		||||
    "release_url": "https://github.com/actions/sometool/releases/tag/1.2.3-20200402.6",
 | 
			
		||||
    "files": [
 | 
			
		||||
      {
 | 
			
		||||
        "filename": "sometool-1.2.3-linux-x64.tar.gz",
 | 
			
		||||
        "arch": "x64",
 | 
			
		||||
        "platform": "linux",
 | 
			
		||||
        "download_url": "https://github.com/actions/sometool/releases/tag/1.2.3-20200402.6/sometool-1.2.3-linux-x64.tar.gz"
 | 
			
		||||
      }      
 | 
			
		||||
    ]
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										52
									
								
								__tests__/data/versions-manifest.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								__tests__/data/versions-manifest.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,52 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
      "version": "1.2.3",
 | 
			
		||||
      "stable": true,
 | 
			
		||||
      "release_url": "https://github.com/actions/sometool/releases/tag/1.2.3-20200402.6",
 | 
			
		||||
      "files": [
 | 
			
		||||
        {
 | 
			
		||||
          "filename": "sometool-1.2.3-linux-x64.tar.gz",
 | 
			
		||||
          "arch": "x64",
 | 
			
		||||
          "platform": "linux",
 | 
			
		||||
          "download_url": "https://github.com/actions/sometool/releases/tag/1.2.3-20200402.6/sometool-1.2.3-linux-x64.tar.gz"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "filename": "sometool-1.2.3-darwin-x64.tar.gz",
 | 
			
		||||
          "arch": "x64",
 | 
			
		||||
          "platform": "darwin",
 | 
			
		||||
          "download_url": "https://github.com/actions/sometool/releases/tag/1.2.3-20200402.6/sometool-1.2.3-darwin-x64.tar.gz"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "filename": "sometool-1.2.3-win32-x64.tar.gz",
 | 
			
		||||
          "arch": "x64",
 | 
			
		||||
          "platform": "win32",
 | 
			
		||||
          "download_url": "https://github.com/actions/sometool/releases/tag/1.2.3-20200402.6/sometool-1.2.3-win32-x64.tar.gz"
 | 
			
		||||
        }
 | 
			
		||||
      ]
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "version": "1.2.3-beta.2",
 | 
			
		||||
      "stable": false,
 | 
			
		||||
      "release_url": "https://github.com/actions/sometool/releases/tag/1.2.3-beta.2-20200402.5",
 | 
			
		||||
      "files": [
 | 
			
		||||
        {
 | 
			
		||||
          "filename": "sometool-1.2.3-linux-x64.tar.gz",
 | 
			
		||||
          "arch": "x64",
 | 
			
		||||
          "platform": "linux",
 | 
			
		||||
          "download_url": "https://github.com/actions/sometool/releases/tag/1.2.3-beta.2-20200402.5/sometool-1.2.3-linux-x64.tar.gz"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "filename": "sometool-1.2.3-darwin-x64.tar.gz",
 | 
			
		||||
          "arch": "x64",
 | 
			
		||||
          "platform": "darwin",
 | 
			
		||||
          "download_url": "https://github.com/actions/sometool/releases/tag/1.2.3-20200402.5/sometool-1.2.3-darwin-x64.tar.gz"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "filename": "sometool-1.2.3-win32-x64.tar.gz",
 | 
			
		||||
          "arch": "x64",
 | 
			
		||||
          "platform": "win32",
 | 
			
		||||
          "download_url": "https://github.com/actions/sometool/releases/tag/1.2.3-20200402.5/sometool-1.2.3-win32-x64.tar.gz"
 | 
			
		||||
        }
 | 
			
		||||
      ]
 | 
			
		||||
    }
 | 
			
		||||
]
 | 
			
		||||
@@ -22,7 +22,7 @@ import * as tc from '@actions/tool-cache';
 | 
			
		||||
import * as finder from '../src/find-python';
 | 
			
		||||
import * as installer from '../src/install-python';
 | 
			
		||||
 | 
			
		||||
const pythonRelease = require('./data/python-release.json');
 | 
			
		||||
const manifestData = require('./data/versions-manifest.json');
 | 
			
		||||
 | 
			
		||||
describe('Finder tests', () => {
 | 
			
		||||
  afterEach(() => {
 | 
			
		||||
@@ -38,12 +38,9 @@ describe('Finder tests', () => {
 | 
			
		||||
    await finder.findPythonVersion('3.x', 'x64');
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Finds Python if it is not installed, but exists in the manifest', async () => {
 | 
			
		||||
    const findSpy: jest.SpyInstance = jest.spyOn(
 | 
			
		||||
      installer,
 | 
			
		||||
      'findReleaseFromManifest'
 | 
			
		||||
    );
 | 
			
		||||
    findSpy.mockImplementation(() => <tc.IToolRelease>pythonRelease);
 | 
			
		||||
  it('Finds stable Python version if it is not installed, but exists in the manifest', async () => {
 | 
			
		||||
    const findSpy: jest.SpyInstance = jest.spyOn(tc, 'getManifestFromRepo');
 | 
			
		||||
    findSpy.mockImplementation(() => <tc.IToolRelease[]>manifestData);
 | 
			
		||||
 | 
			
		||||
    const installSpy: jest.SpyInstance = jest.spyOn(
 | 
			
		||||
      installer,
 | 
			
		||||
@@ -58,6 +55,28 @@ describe('Finder tests', () => {
 | 
			
		||||
    await finder.findPythonVersion('1.2.3', 'x64');
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Finds pre-release Python version in the manifest', async () => {
 | 
			
		||||
    const findSpy: jest.SpyInstance = jest.spyOn(tc, 'getManifestFromRepo');
 | 
			
		||||
    findSpy.mockImplementation(() => <tc.IToolRelease[]>manifestData);
 | 
			
		||||
 | 
			
		||||
    const installSpy: jest.SpyInstance = jest.spyOn(
 | 
			
		||||
      installer,
 | 
			
		||||
      'installCpythonFromRelease'
 | 
			
		||||
    );
 | 
			
		||||
    installSpy.mockImplementation(async () => {
 | 
			
		||||
      const pythonDir: string = path.join(
 | 
			
		||||
        toolDir,
 | 
			
		||||
        'Python',
 | 
			
		||||
        '1.2.3-beta.2',
 | 
			
		||||
        'x64'
 | 
			
		||||
      );
 | 
			
		||||
      await io.mkdirP(pythonDir);
 | 
			
		||||
      fs.writeFileSync(`${pythonDir}.complete`, 'hello');
 | 
			
		||||
    });
 | 
			
		||||
    // This will throw if it doesn't find it in the manifest (because no such version exists)
 | 
			
		||||
    await finder.findPythonVersion('1.2.3-beta.2', 'x64');
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Errors if Python is not installed', async () => {
 | 
			
		||||
    // This will throw if it doesn't find it in the cache and in the manifest (because no such version exists)
 | 
			
		||||
    let thrown = false;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										8746
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8746
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										164
									
								
								dist/licenses.txt
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										164
									
								
								dist/licenses.txt
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,164 @@
 | 
			
		||||
@actions/core
 | 
			
		||||
MIT
 | 
			
		||||
Copyright 2019 GitHub
 | 
			
		||||
 | 
			
		||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and 
 | 
			
		||||
associated documentation files (the "Software"), to deal in the Software without restriction, 
 | 
			
		||||
including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, 
 | 
			
		||||
and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, 
 | 
			
		||||
subject to the following conditions:
 | 
			
		||||
 | 
			
		||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 | 
			
		||||
 | 
			
		||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT 
 | 
			
		||||
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 
 | 
			
		||||
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 
 | 
			
		||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 
 | 
			
		||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | 
			
		||||
 | 
			
		||||
@actions/exec
 | 
			
		||||
MIT
 | 
			
		||||
Copyright 2019 GitHub
 | 
			
		||||
 | 
			
		||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and 
 | 
			
		||||
associated documentation files (the "Software"), to deal in the Software without restriction, 
 | 
			
		||||
including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, 
 | 
			
		||||
and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, 
 | 
			
		||||
subject to the following conditions:
 | 
			
		||||
 | 
			
		||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 | 
			
		||||
 | 
			
		||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT 
 | 
			
		||||
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 
 | 
			
		||||
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 
 | 
			
		||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 
 | 
			
		||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | 
			
		||||
 | 
			
		||||
@actions/http-client
 | 
			
		||||
MIT
 | 
			
		||||
Actions Http Client for Node.js
 | 
			
		||||
 | 
			
		||||
Copyright (c) GitHub, Inc.
 | 
			
		||||
 | 
			
		||||
All rights reserved.
 | 
			
		||||
 | 
			
		||||
MIT License
 | 
			
		||||
 | 
			
		||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
 | 
			
		||||
associated documentation files (the "Software"), to deal in the Software without restriction,
 | 
			
		||||
including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
 | 
			
		||||
subject to the following conditions:
 | 
			
		||||
 | 
			
		||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 | 
			
		||||
 | 
			
		||||
THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 | 
			
		||||
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
 | 
			
		||||
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 | 
			
		||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 | 
			
		||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@actions/io
 | 
			
		||||
MIT
 | 
			
		||||
Copyright 2019 GitHub
 | 
			
		||||
 | 
			
		||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and 
 | 
			
		||||
associated documentation files (the "Software"), to deal in the Software without restriction, 
 | 
			
		||||
including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, 
 | 
			
		||||
and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, 
 | 
			
		||||
subject to the following conditions:
 | 
			
		||||
 | 
			
		||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 | 
			
		||||
 | 
			
		||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT 
 | 
			
		||||
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 
 | 
			
		||||
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 
 | 
			
		||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 
 | 
			
		||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | 
			
		||||
 | 
			
		||||
@actions/tool-cache
 | 
			
		||||
MIT
 | 
			
		||||
Copyright 2019 GitHub
 | 
			
		||||
 | 
			
		||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and 
 | 
			
		||||
associated documentation files (the "Software"), to deal in the Software without restriction, 
 | 
			
		||||
including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, 
 | 
			
		||||
and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, 
 | 
			
		||||
subject to the following conditions:
 | 
			
		||||
 | 
			
		||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 | 
			
		||||
 | 
			
		||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT 
 | 
			
		||||
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 
 | 
			
		||||
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 
 | 
			
		||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 
 | 
			
		||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | 
			
		||||
 | 
			
		||||
semver
 | 
			
		||||
ISC
 | 
			
		||||
The ISC License
 | 
			
		||||
 | 
			
		||||
Copyright (c) Isaac Z. Schlueter and Contributors
 | 
			
		||||
 | 
			
		||||
Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
purpose with or without fee is hereby granted, provided that the above
 | 
			
		||||
copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 | 
			
		||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
 | 
			
		||||
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
tunnel
 | 
			
		||||
MIT
 | 
			
		||||
The MIT License (MIT)
 | 
			
		||||
 | 
			
		||||
Copyright (c) 2012 Koichi Kobayashi
 | 
			
		||||
 | 
			
		||||
Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
			
		||||
of this software and associated documentation files (the "Software"), to deal
 | 
			
		||||
in the Software without restriction, including without limitation the rights
 | 
			
		||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 | 
			
		||||
copies of the Software, and to permit persons to whom the Software is
 | 
			
		||||
furnished to do so, subject to the following conditions:
 | 
			
		||||
 | 
			
		||||
The above copyright notice and this permission notice shall be included in
 | 
			
		||||
all copies or substantial portions of the Software.
 | 
			
		||||
 | 
			
		||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 | 
			
		||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | 
			
		||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 | 
			
		||||
THE SOFTWARE.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
uuid
 | 
			
		||||
MIT
 | 
			
		||||
The MIT License (MIT)
 | 
			
		||||
 | 
			
		||||
Copyright (c) 2010-2016 Robert Kieffer and other contributors
 | 
			
		||||
 | 
			
		||||
Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
			
		||||
of this software and associated documentation files (the "Software"), to deal
 | 
			
		||||
in the Software without restriction, including without limitation the rights
 | 
			
		||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 | 
			
		||||
copies of the Software, and to permit persons to whom the Software is
 | 
			
		||||
furnished to do so, subject to the following conditions:
 | 
			
		||||
 | 
			
		||||
The above copyright notice and this permission notice shall be included in all
 | 
			
		||||
copies or substantial portions of the Software.
 | 
			
		||||
 | 
			
		||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 | 
			
		||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | 
			
		||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 | 
			
		||||
SOFTWARE.
 | 
			
		||||
							
								
								
									
										6
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										6
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@@ -3030,9 +3030,9 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "lodash": {
 | 
			
		||||
      "version": "4.17.15",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
 | 
			
		||||
      "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
 | 
			
		||||
      "version": "4.17.19",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
 | 
			
		||||
      "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
 | 
			
		||||
      "dev": true
 | 
			
		||||
    },
 | 
			
		||||
    "lodash.memoize": {
 | 
			
		||||
 
 | 
			
		||||
@@ -26,7 +26,7 @@ export async function findReleaseFromManifest(
 | 
			
		||||
  );
 | 
			
		||||
  return await tc.findFromManifest(
 | 
			
		||||
    semanticVersionSpec,
 | 
			
		||||
    true,
 | 
			
		||||
    false,
 | 
			
		||||
    manifest,
 | 
			
		||||
    architecture
 | 
			
		||||
  );
 | 
			
		||||
@@ -58,13 +58,12 @@ export async function installCpythonFromRelease(release: tc.IToolRelease) {
 | 
			
		||||
 | 
			
		||||
  core.info(`Download from "${downloadUrl}"`);
 | 
			
		||||
  const pythonPath = await tc.downloadTool(downloadUrl, undefined, AUTH);
 | 
			
		||||
  const fileName = path.basename(pythonPath, '.zip');
 | 
			
		||||
  core.info('Extract downloaded archive');
 | 
			
		||||
  let pythonExtractedFolder;
 | 
			
		||||
  if (IS_WINDOWS) {
 | 
			
		||||
    pythonExtractedFolder = await tc.extractZip(pythonPath, `./${fileName}`);
 | 
			
		||||
    pythonExtractedFolder = await tc.extractZip(pythonPath);
 | 
			
		||||
  } else {
 | 
			
		||||
    pythonExtractedFolder = await tc.extractTar(pythonPath, `./${fileName}`);
 | 
			
		||||
    pythonExtractedFolder = await tc.extractTar(pythonPath);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  core.info('Execute installation script');
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user