Compare commits
110 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c8177cca56 | ||
|
|
15d69f21b8 | ||
|
|
e13a77655f | ||
|
|
680ac6a4c1 | ||
|
|
b433d435c1 | ||
|
|
d6a8ec7cfb | ||
|
|
41dbe75153 | ||
|
|
dafd61109e | ||
|
|
581f023de0 | ||
|
|
56ea88f536 | ||
|
|
1970264699 | ||
|
|
e119b54661 | ||
|
|
efbaf97d0a | ||
|
|
a8ecef19ac | ||
|
|
bb222c3f18 | ||
|
|
aedfae77ea | ||
|
|
ad807e7d2c | ||
|
|
38fa3d98ee | ||
|
|
861c58f080 | ||
|
|
2ac4a0798e | ||
|
|
021b07a2b2 | ||
|
|
dc54f0353a | ||
|
|
fd65aac1a3 | ||
|
|
1dd1fede85 | ||
|
|
f453437052 | ||
|
|
813b6608e7 | ||
|
|
10843c9071 | ||
|
|
db6bf65bd9 | ||
|
|
d33ccd80be | ||
|
|
46aa274405 | ||
|
|
9e9ad0fe5f | ||
|
|
f23390933a | ||
|
|
c64a1a91b0 | ||
|
|
7e3a83aacd | ||
|
|
c157badb12 | ||
|
|
b47f0a89fb | ||
|
|
58311d5340 | ||
|
|
55034917ed | ||
|
|
114c7bf40c | ||
|
|
567dc865bb | ||
|
|
4f05196702 | ||
|
|
ca0d32e2b6 | ||
|
|
9e26d5f265 | ||
|
|
9e71412838 | ||
|
|
b75ff681db | ||
|
|
bbf97e5a63 | ||
|
|
c594f79a40 | ||
|
|
88dd43cc51 | ||
|
|
b9595b0dae | ||
|
|
d6ac7eb3e1 | ||
|
|
845ca860fc | ||
|
|
67605e7cb2 | ||
|
|
a96cc5f73c | ||
|
|
111a9ae78c | ||
|
|
51ce802077 | ||
|
|
6f1e8c47b9 | ||
|
|
0a28ecc62d | ||
|
|
257e3c93fb | ||
|
|
f1c2fee180 | ||
|
|
bc065e2169 | ||
|
|
f77feb6ec0 | ||
|
|
850e46eba6 | ||
|
|
fe198edd1a | ||
|
|
9c9aa7fd23 | ||
|
|
24eb15e5fa | ||
|
|
2f6e2f662c | ||
|
|
a4da3200ee | ||
|
|
959ba21b72 | ||
|
|
5f06df1e0f | ||
|
|
0d8f2cf62b | ||
|
|
03f7f56b30 | ||
|
|
79c4acf033 | ||
|
|
a173299cf0 | ||
|
|
b0f769600b | ||
|
|
fd96c6ef49 | ||
|
|
506c0905f4 | ||
|
|
f509c0eeeb | ||
|
|
354b2b75c4 | ||
|
|
75fdf09203 | ||
|
|
2f58e22e3c | ||
|
|
2e789925e4 | ||
|
|
5b215c413b | ||
|
|
20eb4f1c8b | ||
|
|
21e27c8c67 | ||
|
|
da8a00bfab | ||
|
|
59bc1e6fcf | ||
|
|
9b4ef64d32 | ||
|
|
e51a646160 | ||
|
|
da71add69c | ||
|
|
b52930e590 | ||
|
|
3572ca5db9 | ||
|
|
b8a361a25a | ||
|
|
eb0ccb73d5 | ||
|
|
2a56d34ea0 | ||
|
|
075da4be87 | ||
|
|
b660f29789 | ||
|
|
f73bbb0929 | ||
|
|
caa5d3f915 | ||
|
|
6c67ee1261 | ||
|
|
502885cc75 | ||
|
|
d3929ece8e | ||
|
|
9355729f4a | ||
|
|
7f4f2f921c | ||
|
|
bcdf57190d | ||
|
|
fa913560e6 | ||
|
|
90fc296fbc | ||
|
|
f851596ef0 | ||
|
|
319d6f9a6d | ||
|
|
882ea8f750 | ||
|
|
7e3d12a4c4 |
7
.github/FUNDING.yml
vendored
7
.github/FUNDING.yml
vendored
@@ -1,7 +0,0 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
open_collective: setup-php
|
||||
tidelift: "npm/setup-php"
|
||||
community_bridge: setup-php
|
||||
patreon: shivammathur
|
||||
custom: https://www.paypal.me/shivammathur
|
||||
4
.github/codeql/codeql-configuration.yml
vendored
Normal file
4
.github/codeql/codeql-configuration.yml
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
name : CodeQL Configuration
|
||||
|
||||
paths:
|
||||
- './src'
|
||||
25
.github/workflows/codeql.yml
vendored
Normal file
25
.github/workflows/codeql.yml
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
name: CodeQL Workflow
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: '0 15 * * 6'
|
||||
jobs:
|
||||
codeql:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 2
|
||||
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v2
|
||||
with:
|
||||
config-file: ./.github/codeql/codeql-configuration.yml
|
||||
languages: javascript
|
||||
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v2
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v2
|
||||
@@ -1,4 +1,4 @@
|
||||
name: Libs workflow
|
||||
name: Git release workflow
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
@@ -10,14 +10,14 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ubuntu-20.04, ubuntu-18.04, ubuntu-16.04]
|
||||
os: [ubuntu-22.04, ubuntu-20.04]
|
||||
steps:
|
||||
- name: Update lists
|
||||
run: |
|
||||
. /etc/lsb-release
|
||||
dpkg -l | awk '($1 == "ii") && ($2 ~ /^lib|lib$/) { print $2 }' | sed 's/:amd64//' > /tmp/"$DISTRIB_CODENAME"-libs
|
||||
. /etc/os-release
|
||||
dpkg -l | awk '($1 == "ii") && ($2 ~ /^lib|lib$/) { print $2 }' | sed 's/:amd64//' > /tmp/"$VERSION_CODENAME"-libs
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: lists
|
||||
path: |
|
||||
@@ -29,15 +29,21 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
ref: develop
|
||||
fetch-depth: 0
|
||||
- name: Download lists
|
||||
uses: actions/download-artifact@v2
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: lists
|
||||
path: src/lists
|
||||
- name: Add brew to PATH
|
||||
run: echo "/home/linuxbrew/.linuxbrew/bin" >> $GITHUB_PATH
|
||||
- name: Update darwin extensions list
|
||||
run: |
|
||||
brew tap shivammathur/extensions
|
||||
find "$(brew --repository shivammathur/extensions)"/.github/deps -mindepth 1 -type d -name "*" -exec basename {} \; | sort > src/lists/darwin-extensions
|
||||
- name: Update tags and branches
|
||||
run: |
|
||||
push_ref() {
|
||||
61
.github/workflows/node-release.yml
vendored
Normal file
61
.github/workflows/node-release.yml
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
name: Node release workflow
|
||||
on:
|
||||
release:
|
||||
types: [created]
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
skip:
|
||||
description: Skip release to repository
|
||||
required: false
|
||||
tag:
|
||||
description: Tag name
|
||||
required: true
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
steps:
|
||||
- name: Checkout release
|
||||
if: github.event_name != 'workflow_dispatch'
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Checkout tag
|
||||
uses: actions/checkout@v3
|
||||
if: github.event_name == 'workflow_dispatch'
|
||||
with:
|
||||
ref: ${{ github.event.inputs.tag }}
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: '16.x'
|
||||
registry-url: https://registry.npmjs.org
|
||||
|
||||
- name: Install dependencies and add lib
|
||||
run: |
|
||||
npm install
|
||||
npm run build
|
||||
sed -i -e '/lib\//d' .gitignore
|
||||
|
||||
- name: Publish to NPM
|
||||
if: "!contains(github.event.inputs.skip, 'skip-npm')"
|
||||
run: npm publish --access public
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
|
||||
- name: Change to GitHub Packages registry
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
registry-url: https://npm.pkg.github.com
|
||||
scope: '@shivammathur'
|
||||
|
||||
- name: Patch package.json
|
||||
run: |
|
||||
sed -i 's#"name": "#"name": "@shivammathur/#' package.json
|
||||
- name: Publish to GitHub Packages
|
||||
if: "!contains(github.event.inputs.skip, 'skip-github-packages')"
|
||||
run: npm publish
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
41
.github/workflows/node-test.yml
vendored
Normal file
41
.github/workflows/node-test.yml
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
name: Node test workflow
|
||||
on: [push, pull_request]
|
||||
jobs:
|
||||
run:
|
||||
name: Run
|
||||
runs-on: ${{ matrix.operating-system }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
operating-system: [ubuntu-latest, windows-latest, macos-latest]
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 2
|
||||
|
||||
- name: Setup Node.js 16.x
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 16.x
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm install
|
||||
|
||||
- name: Prettier Format Check
|
||||
run: npm run format-check
|
||||
|
||||
- name: ESLint Check
|
||||
run: npm run lint
|
||||
|
||||
- name: Run npm audit
|
||||
run: npm audit
|
||||
|
||||
- name: Send Coverage
|
||||
uses: codecov/codecov-action@v3
|
||||
with:
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
files: coverage/lcov.info
|
||||
name: github-actions-codecov-${{ matrix.operating-system }}
|
||||
fail_ci_if_error: false
|
||||
verbose: true
|
||||
31
.github/workflows/workflow.yml
vendored
31
.github/workflows/workflow.yml
vendored
@@ -1,31 +0,0 @@
|
||||
name: Main workflow
|
||||
on: [push, pull_request]
|
||||
jobs:
|
||||
run:
|
||||
name: Run
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Setup Node.js 12.x
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 12.x
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm install
|
||||
|
||||
- name: Prettier Format Check
|
||||
run: npm run format-check
|
||||
|
||||
- name: ESLint Check
|
||||
run: npm run lint
|
||||
|
||||
- name: Run tests
|
||||
run: npm test
|
||||
|
||||
- name: Send Coverage
|
||||
continue-on-error: true
|
||||
timeout-minutes: 1
|
||||
run: curl -s https://codecov.io/bash | bash -s -- -t ${{secrets.CODECOV_TOKEN}} -f coverage/clover.xml -n github-actions-codecov-${{ matrix.operating-system }}-php${{ matrix.php-versions }}
|
||||
2
LICENSE
2
LICENSE
@@ -1,7 +1,7 @@
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2020 shivammathur and contributors
|
||||
Copyright (c) 2020-2023 shivammathur and 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
|
||||
|
||||
48
README.md
48
README.md
@@ -4,7 +4,7 @@
|
||||
<a href="https://github.com/shivammathur/cache-extensions" title="Cache PHP extensions in GitHub Actions"><img alt="GitHub Actions status" src="https://github.com/shivammathur/cache-extensions/workflows/Main%20workflow/badge.svg"></a>
|
||||
<a href="https://codecov.io/gh/shivammathur/cache-extensions" title="Code coverage"><img alt="Codecov Code Coverage" src="https://codecov.io/gh/shivammathur/cache-extensions/branch/master/graph/badge.svg"></a>
|
||||
<a href="https://github.com/shivammathur/cache-extensions/blob/master/LICENSE" title="license"><img alt="LICENSE" src="https://img.shields.io/badge/license-MIT-428f7e.svg?logo=open%20source%20initiative&logoColor=white&labelColor=555555"></a>
|
||||
<a href="#tada-php-support" title="PHP Versions Supported"><img alt="PHP Versions Supported" src="https://img.shields.io/badge/php-5.3%20to%208.1-777bb3.svg?logo=php&logoColor=white&labelColor=555555"></a>
|
||||
<a href="#tada-php-support" title="PHP Versions Supported"><img alt="PHP Versions Supported" src="https://img.shields.io/badge/php-5.3%20to%208.3-777bb3.svg?logo=php&logoColor=white&labelColor=555555"></a>
|
||||
</p>
|
||||
|
||||
Cache PHP extensions in [GitHub Actions](https://github.com/features/actions "GitHub Actions"). This action has to be used along with [shivammathur/setup-php](https://github.com/shivammathur/setup-php "Setup PHP") and [actions/cache](https://github.com/actions/cache "Cache in GitHub Actions") GitHub Actions. It configures the environment required to cache PHP extensions. Refer to [Usage](#memo-usage "How to use this") section for details and example workflow.
|
||||
@@ -33,21 +33,23 @@ Cache PHP extensions in [GitHub Actions](https://github.com/features/actions "Gi
|
||||
|7.0|`Stable`|`End of life`|
|
||||
|7.1|`Stable`|`End of life`|
|
||||
|7.2|`Stable`|`End of life`|
|
||||
|7.3|`Stable`|`Security fixes only`|
|
||||
|7.4|`Stable`|`Active`|
|
||||
|7.3|`Stable`|`End of life`|
|
||||
|7.4|`Stable`|`Security fixes only`|
|
||||
|8.0|`Stable`|`Active`|
|
||||
|8.1|`Nightly`|`In development`|
|
||||
|8.1|`Stable`|`Active`|
|
||||
|8.2|`Stable`|`Active`|
|
||||
|8.3|`Nightly`|`In development`|
|
||||
|
||||
## :cloud: OS/Platform Support
|
||||
|
||||
| Virtual environment | YAML workflow label |
|
||||
|--- |--- |
|
||||
|Windows Server 2019|`windows-latest` or `windows-2019`|
|
||||
|----------------------|------------------------------------|
|
||||
| Ubuntu 22.04 | `ubuntu-22.04` |
|
||||
| Ubuntu 20.04 | `ubuntu-latest` or `ubuntu-20.04` |
|
||||
|Ubuntu 18.04|`ubuntu-18.04`|
|
||||
|Ubuntu 16.04|`ubuntu-16.04`|
|
||||
|macOS Catalina 10.15|`macos-latest` or `macOS-10.15`|
|
||||
|macOS Big Sur 11.x|`macOS-11.0`|
|
||||
| Windows Server 2022 | `windows-2022` |
|
||||
| Windows Server 2019 | `windows-latest` or `windows-2019` |
|
||||
| macOS Big Sur 12.x | `macOS-12` |
|
||||
| macOS Big Sur 11.x | `macos-latest` or `macOS-11` |
|
||||
|
||||
## :memo: Usage
|
||||
|
||||
@@ -57,15 +59,18 @@ Use this GitHub Action when the extensions you are adding in [setup-php](https:/
|
||||
|
||||
#### `php-version` (required)
|
||||
|
||||
- Specify the PHP version you want to set-up.
|
||||
- Accepts a `string`. For example `'7.4'`.
|
||||
- Specify the PHP version you want to set up.
|
||||
- Accepts a `string`. For example `'8.2'`.
|
||||
- Accepts `latest` to set up the latest stable PHP version.
|
||||
- Accepts `nightly` to set up a nightly build from the master branch of PHP.
|
||||
- Accepts the format `d.x`, where `d` is the major version. For example `5.x`, `7.x` and `8.x`.
|
||||
- See [PHP support](#tada-php-support) for supported PHP versions.
|
||||
|
||||
#### `extensions` (required)
|
||||
|
||||
- Specify the extensions you want to set up.
|
||||
- Accepts a `string` in csv-format. For example `mbstring, xdebug, :opcache`.
|
||||
- Extensions prefixed with `:` are ignored.
|
||||
- Extensions prefixed with `:` are ignored in output cache key.
|
||||
|
||||
#### `key` (required)
|
||||
|
||||
@@ -86,14 +91,14 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
operating-system: [ubuntu-latest, windows-latest, macos-latest]
|
||||
php-versions: ['7.2', '7.3', '7.4']
|
||||
php-versions: ['7.4', '8.0', '8.1', '8.2']
|
||||
name: PHP ${{ matrix.php-versions }} Test on ${{ matrix.operating-system }}
|
||||
env:
|
||||
extensions: intl, pcov
|
||||
key: cache-v1 # can be any string, change to clear the extension cache.
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Setup cache environment
|
||||
id: extcache
|
||||
@@ -104,7 +109,7 @@ jobs:
|
||||
key: ${{ env.key }}
|
||||
|
||||
- name: Cache extensions
|
||||
uses: actions/cache@v2
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ${{ steps.extcache.outputs.dir }}
|
||||
key: ${{ steps.extcache.outputs.key }}
|
||||
@@ -119,11 +124,11 @@ jobs:
|
||||
|
||||
### Thread Safe Setup
|
||||
|
||||
If you set up both `TS` and `NTS` PHP versions on `Windows` in your workflow, please add `${{ env.phpts }}` to `key` and `restore-keys` inputs in `actions/cache` step in the above workflow to avoid a conflicting cache.
|
||||
If you set up both `TS` and `NTS` PHP versions on `Ubuntu` or `Windows` in your workflow, please add `${{ env.phpts }}` to `key` and `restore-keys` inputs in `actions/cache` step in the above workflow to avoid a conflicting cache.
|
||||
|
||||
```yaml
|
||||
- name: Cache extensions
|
||||
uses: actions/cache@v2
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ${{ steps.extcache.outputs.dir }}
|
||||
key: ${{ steps.extcache.outputs.key }}-${{ env.phpts }}
|
||||
@@ -132,7 +137,7 @@ If you set up both `TS` and `NTS` PHP versions on `Windows` in your workflow, pl
|
||||
|
||||
## :scroll: License
|
||||
|
||||
The scripts and documentation in this project are under the [MIT License](LICENSE "License for shivammathur/cache-extensions"). This project has multiple [dependencies](https://github.com/shivammathur/cache-extensions/network/dependencies "Dependencies for this PHP Action"). Their licenses can be found in their respective repositories.
|
||||
The code and documentation in this project are under the [MIT License](LICENSE "License for shivammathur/cache-extensions"). This project has multiple [dependencies](https://github.com/shivammathur/cache-extensions/network/dependencies "Dependencies for this PHP Action"). Their licenses can be found in their respective repositories.
|
||||
|
||||
## :+1: Contributions
|
||||
|
||||
@@ -143,9 +148,8 @@ Contributions are welcome! See [Contributor's Guide](.github/CONTRIBUTING.md "sh
|
||||
If this action helped you.
|
||||
|
||||
- Please star the project and share it. If you blog, please share your experience of using this action.
|
||||
- Please consider supporting our work by sponsoring using [Open Collective](https://opencollective.com/setup-php), [Paypal](https://www.paypal.me/shivammathur "Shivam Mathur PayPal") or [Patreon](https://www.patreon.com/shivammathur "Shivam Mathur Patreon").
|
||||
- If you use this action at your company, please [reach out](mailto:contact@setup-php.com) to sponsor the project.
|
||||
- Please support our work by sponsoring using [GitHub sponsors](https://github.com/sponsors/shivammathur).
|
||||
|
||||
## :package: Dependencies
|
||||
|
||||
- [Node.js dependencies](https://github.com/shivammathur/setup-php/network/dependencies "Node.js dependencies")
|
||||
- [Node.js dependencies](https://github.com/shivammathur/cache-extensions/network/dependencies "Node.js dependencies")
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import path from 'path';
|
||||
import * as path from 'path';
|
||||
import * as spu from 'setup-php/lib/utils';
|
||||
import * as cache from '../src/cache';
|
||||
import * as utils from '../src/utils';
|
||||
|
||||
@@ -7,7 +8,7 @@ import * as utils from '../src/utils';
|
||||
*/
|
||||
jest.mock('../src/cache', () => ({
|
||||
run: jest.fn().mockImplementation(async (): Promise<string> => {
|
||||
const version: string = await utils.parseVersion(
|
||||
const version: string = await spu.parseVersion(
|
||||
process.env['php-version'] || ''
|
||||
);
|
||||
const extensions = await utils.filterExtensions(
|
||||
|
||||
@@ -2,12 +2,6 @@ import * as fs from 'fs';
|
||||
import * as path from 'path';
|
||||
import * as utils from '../src/utils';
|
||||
|
||||
jest.mock('@actions/core', () => ({
|
||||
getInput: jest.fn().mockImplementation(key => {
|
||||
return ['cache-extensions'].indexOf(key) !== -1 ? key : '';
|
||||
})
|
||||
}));
|
||||
|
||||
async function cleanup(path: string): Promise<void> {
|
||||
fs.unlink(path, error => {
|
||||
if (error) {
|
||||
@@ -17,24 +11,6 @@ async function cleanup(path: string): Promise<void> {
|
||||
}
|
||||
|
||||
describe('Utils tests', () => {
|
||||
it('checking readEnv', async () => {
|
||||
process.env['test'] = 'setup-php';
|
||||
expect(await utils.readEnv('test')).toBe('setup-php');
|
||||
expect(await utils.readEnv('undefined')).toBe('');
|
||||
});
|
||||
|
||||
it('checking getInput', async () => {
|
||||
process.env['test'] = 'setup-php';
|
||||
expect(await utils.getInput('test', false)).toBe('setup-php');
|
||||
expect(await utils.getInput('cache-extensions', false)).toBe(
|
||||
'cache-extensions'
|
||||
);
|
||||
expect(await utils.getInput('DoesNotExist', false)).toBe('');
|
||||
await expect(async () => {
|
||||
await utils.getInput('DoesNotExist', true);
|
||||
}).rejects.toThrow('Input required and not supplied: DoesNotExist');
|
||||
});
|
||||
|
||||
it('checking getOutput', async () => {
|
||||
const temp_dir: string = process.env['RUNNER_TEMP'] || '';
|
||||
const file_path: string = path.join(temp_dir, 'test');
|
||||
@@ -43,14 +19,15 @@ describe('Utils tests', () => {
|
||||
await cleanup(file_path);
|
||||
});
|
||||
|
||||
it('checking parseVersion', async () => {
|
||||
expect(await utils.parseVersion('7')).toBe('7.0');
|
||||
expect(await utils.parseVersion('7.4')).toBe('7.4');
|
||||
expect(await utils.parseVersion('latest')).toBe('7.4');
|
||||
});
|
||||
|
||||
it('checking filterExtensions', async () => {
|
||||
expect(await utils.filterExtensions('a,:b,c')).toBe('"a,c"');
|
||||
expect(await utils.filterExtensions('a, :b, c')).toBe('"a, c"');
|
||||
});
|
||||
|
||||
it('checking scriptCall', async () => {
|
||||
const script: string = path.join(__dirname, '../src/scripts/cache.sh');
|
||||
expect(await utils.scriptCall('test a b')).toBe(
|
||||
['bash', script, 'test', 'a', 'b'].join(' ')
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -15,5 +15,5 @@ inputs:
|
||||
description: 'Key to version the cache hash.'
|
||||
required: true
|
||||
runs:
|
||||
using: 'node12'
|
||||
using: 'node16'
|
||||
main: 'dist/index.js'
|
||||
|
||||
26664
dist/index.js
vendored
26664
dist/index.js
vendored
File diff suppressed because one or more lines are too long
10402
package-lock.json
generated
10402
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
64
package.json
64
package.json
@@ -1,14 +1,24 @@
|
||||
{
|
||||
"name": "cache-extensions",
|
||||
"version": "1.6.0",
|
||||
"version": "1.9.0",
|
||||
"private": false,
|
||||
"description": "Cache PHP extensions in GitHub Actions",
|
||||
"main": "lib/cache.js",
|
||||
"types": "lib/cache.d.ts",
|
||||
"directories": {
|
||||
"lib": "lib",
|
||||
"test": "__tests__",
|
||||
"src": "src"
|
||||
},
|
||||
"files": [
|
||||
"lib",
|
||||
"src"
|
||||
],
|
||||
"scripts": {
|
||||
"build": "tsc",
|
||||
"lint": "eslint **/*.ts --cache",
|
||||
"format": "prettier --write **/*.ts && git add .",
|
||||
"format-check": "prettier --check **/*.ts",
|
||||
"lint": "eslint **/src/*.ts --cache --fix",
|
||||
"format": "prettier --write **/src/*.ts && git add .",
|
||||
"format-check": "prettier --check **/src/*.ts",
|
||||
"release": "ncc build -o dist && git add -f dist/",
|
||||
"test": "jest"
|
||||
},
|
||||
@@ -25,32 +35,32 @@
|
||||
"author": "shivammathur",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@actions/cache": "^1.0.7",
|
||||
"@actions/core": "^1.4.0",
|
||||
"@actions/exec": "^1.1.0"
|
||||
"@actions/cache": "^3.0.4",
|
||||
"@actions/core": "^1.10.0",
|
||||
"@actions/exec": "^1.1.1",
|
||||
"setup-php": "2.21.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/jest": "^26.0.23",
|
||||
"@types/node": "^15.14.0",
|
||||
"@typescript-eslint/eslint-plugin": "^4.28.1",
|
||||
"@typescript-eslint/parser": "^4.28.1",
|
||||
"@vercel/ncc": "^0.28.6",
|
||||
"eslint": "^7.29.0",
|
||||
"eslint-config-prettier": "^8.3.0",
|
||||
"eslint-plugin-import": "^2.23.4",
|
||||
"eslint-plugin-jest": "^24.3.6",
|
||||
"eslint-plugin-prettier": "^3.4.0",
|
||||
"husky": "^4.3.8",
|
||||
"jest": "^27.0.6",
|
||||
"jest-circus": "^27.0.6",
|
||||
"prettier": "^2.3.2",
|
||||
"ts-jest": "^27.0.3",
|
||||
"typescript": "^4.3.5"
|
||||
"@types/jest": "^29.1.2",
|
||||
"@types/node": "^18.8.4",
|
||||
"@typescript-eslint/eslint-plugin": "^5.40.0",
|
||||
"@typescript-eslint/parser": "^5.40.0",
|
||||
"@vercel/ncc": "^0.34.0",
|
||||
"eslint": "^8.25.0",
|
||||
"eslint-config-prettier": "^8.5.0",
|
||||
"eslint-plugin-import": "^2.26.0",
|
||||
"eslint-plugin-jest": "^27.1.1",
|
||||
"eslint-plugin-prettier": "^4.2.1",
|
||||
"jest": "^29.1.2",
|
||||
"jest-circus": "^29.1.2",
|
||||
"prettier": "^2.7.1",
|
||||
"ts-jest": "^29.0.3",
|
||||
"typescript": "^4.8.4"
|
||||
},
|
||||
"husky": {
|
||||
"skipCI": true,
|
||||
"hooks": {
|
||||
"bugs": {
|
||||
"url": "https://github.com/shivammathur/cache-extensions/issues"
|
||||
},
|
||||
"simple-git-hooks": {
|
||||
"pre-commit": "npm run format && npm run lint && npm run test && npm run build && npm run release"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
26
src/cache.ts
26
src/cache.ts
@@ -1,6 +1,8 @@
|
||||
import {exec} from '@actions/exec';
|
||||
import * as cache from '@actions/cache';
|
||||
import * as core from '@actions/core';
|
||||
import * as spu from 'setup-php/lib/utils';
|
||||
import * as fs from 'fs';
|
||||
import * as path from 'path';
|
||||
import * as utils from './utils';
|
||||
|
||||
@@ -17,7 +19,7 @@ export async function handleDependencies(
|
||||
if (!/^5.[3-5]$/.test(version) && /linux|darwin/.test(process.platform)) {
|
||||
const cache_key: string = (await utils.getOutput('key')) + '-deps';
|
||||
const cache_dir: string = path.join(
|
||||
await utils.readEnv('RUNNER_TOOL_CACHE'),
|
||||
await spu.readEnv('RUNNER_TOOL_CACHE'),
|
||||
'deps'
|
||||
);
|
||||
const cache_hit: string | undefined = await cache.restoreCache(
|
||||
@@ -26,8 +28,12 @@ export async function handleDependencies(
|
||||
[cache_key]
|
||||
);
|
||||
await exec(await utils.scriptCall('dependencies', extensions, version));
|
||||
if (!cache_hit) {
|
||||
if (!cache_hit && fs.existsSync(cache_dir)) {
|
||||
try {
|
||||
await cache.saveCache([cache_dir], cache_key);
|
||||
} catch {
|
||||
await cache.saveCache([cache_dir], cache_key + '-take-2');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -37,17 +43,17 @@ export async function handleDependencies(
|
||||
*/
|
||||
export async function run(): Promise<void> {
|
||||
try {
|
||||
const version: string = await utils.parseVersion(
|
||||
await utils.getInput('php-version', true)
|
||||
const version: string = await spu.parseVersion(
|
||||
await spu.getInput('php-version', true)
|
||||
);
|
||||
const extensions: string = await utils.filterExtensions(
|
||||
await utils.getInput('extensions', true)
|
||||
await spu.getInput('extensions', true)
|
||||
);
|
||||
const key: string = await utils.getInput('key', true);
|
||||
const key: string = await spu.getInput('key', true);
|
||||
await exec(await utils.scriptCall('data', extensions, version, key));
|
||||
await handleDependencies(extensions, version);
|
||||
} catch (error) {
|
||||
core.setFailed(error.message);
|
||||
core.setFailed((error as Error).message);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,5 +61,11 @@ export async function run(): Promise<void> {
|
||||
(async () => {
|
||||
await run();
|
||||
})().catch(error => {
|
||||
if (error.name === cache.ValidationError.name) {
|
||||
core.setFailed(error.message);
|
||||
} else if (error.name === cache.ReserveCacheError.name) {
|
||||
core.info(error.message);
|
||||
} else {
|
||||
core.warning(error.message);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -31,7 +31,6 @@ libatspi2.0-0
|
||||
libattr1
|
||||
libaudit-common
|
||||
libaudit1
|
||||
libauthen-sasl-perl
|
||||
libavahi-client3
|
||||
libavahi-common-data
|
||||
libavahi-common3
|
||||
@@ -81,7 +80,6 @@ libcryptsetup12
|
||||
libcups2
|
||||
libcurl3-gnutls
|
||||
libcurl4
|
||||
libdata-dump-perl
|
||||
libdatrie1
|
||||
libdb5.3
|
||||
libdbus-1-3
|
||||
@@ -133,11 +131,6 @@ libfdisk1
|
||||
libffi-dev
|
||||
libffi6
|
||||
libfftw3-double3
|
||||
libfile-basedir-perl
|
||||
libfile-desktopentry-perl
|
||||
libfile-listing-perl
|
||||
libfile-mimeinfo-perl
|
||||
libfont-afm-perl
|
||||
libfontconfig1
|
||||
libfontconfig1-dev
|
||||
libfontenc1
|
||||
@@ -145,6 +138,7 @@ libfreetype6
|
||||
libfreetype6-dev
|
||||
libfribidi0
|
||||
libfuse2
|
||||
libfuse3-3
|
||||
libgbm-dev
|
||||
libgbm1
|
||||
libgc1c2
|
||||
@@ -215,17 +209,11 @@ libhcrypto4-heimdal
|
||||
libheimbase1-heimdal
|
||||
libheimntlm0-heimdal
|
||||
libhogweed4
|
||||
libhtml-form-perl
|
||||
libhtml-format-perl
|
||||
libhtml-parser-perl
|
||||
libhtml-tagset-perl
|
||||
libhtml-template-perl
|
||||
libhtml-tree-perl
|
||||
libhttp-cookies-perl
|
||||
libhttp-daemon-perl
|
||||
libhttp-date-perl
|
||||
libhttp-message-perl
|
||||
libhttp-negotiate-perl
|
||||
libhunspell-1.6-0
|
||||
libhx509-5-heimdal
|
||||
libice-dev
|
||||
@@ -241,10 +229,8 @@ libidn2-0
|
||||
libilmbase-dev
|
||||
libilmbase12
|
||||
libio-html-perl
|
||||
libio-socket-ssl-perl
|
||||
libip4tc0
|
||||
libip6tc0
|
||||
libipc-system-simple-perl
|
||||
libiptc0
|
||||
libirs160
|
||||
libisc-export169
|
||||
@@ -298,17 +284,15 @@ liblqr-1-0-dev
|
||||
liblsan0
|
||||
libltdl-dev
|
||||
libltdl7
|
||||
liblttng-ust-ctl4
|
||||
liblttng-ust0
|
||||
liblua5.2-0
|
||||
liblvm2app2.2
|
||||
liblvm2cmd2.02
|
||||
liblwp-mediatypes-perl
|
||||
liblwp-protocol-https-perl
|
||||
liblwres160
|
||||
liblxc-common
|
||||
liblxc1
|
||||
liblz4-1
|
||||
liblz4-dev
|
||||
liblzma-dev
|
||||
liblzma5
|
||||
liblzo2-2
|
||||
@@ -325,7 +309,6 @@ libmagickwand-6-headers
|
||||
libmagickwand-6.q16-3
|
||||
libmagickwand-6.q16-dev
|
||||
libmagickwand-dev
|
||||
libmailtools-perl
|
||||
libmcrypt4
|
||||
libmediainfo0v5
|
||||
libmemcached11
|
||||
@@ -486,10 +469,6 @@ libmysqlclient20
|
||||
libncurses5
|
||||
libncurses5-dev
|
||||
libncursesw5
|
||||
libnet-dbus-perl
|
||||
libnet-http-perl
|
||||
libnet-smtp-ssl-perl
|
||||
libnet-ssleay-perl
|
||||
libnet1
|
||||
libnetfilter-conntrack3
|
||||
libnetplan0
|
||||
@@ -543,7 +522,7 @@ libpcre2-16-0
|
||||
libpcre2-32-0
|
||||
libpcre2-8-0
|
||||
libpcre2-dev
|
||||
libpcre2-posix2
|
||||
libpcre2-posix3
|
||||
libpcre3
|
||||
libpcre3-dev
|
||||
libpcre32-3
|
||||
@@ -619,6 +598,7 @@ libslang2
|
||||
libsm-dev
|
||||
libsm6
|
||||
libsmartcols1
|
||||
libsnappy1v5
|
||||
libsnmp-base
|
||||
libsnmp30
|
||||
libsodium23
|
||||
@@ -651,7 +631,6 @@ libtext-wrapi18n-perl
|
||||
libthai-data
|
||||
libthai0
|
||||
libtidy5deb1
|
||||
libtie-ixhash-perl
|
||||
libtiff-dev
|
||||
libtiff5
|
||||
libtiff5-dev
|
||||
@@ -663,7 +642,6 @@ libtinyxml2-6
|
||||
libtk8.6
|
||||
libtommath1
|
||||
libtool
|
||||
libtry-tiny-perl
|
||||
libtsan0
|
||||
libtypes-serialiser-perl
|
||||
libu2f-udev
|
||||
@@ -673,7 +651,6 @@ libucl1
|
||||
libudev1
|
||||
libunistring2
|
||||
libunwind8
|
||||
liburcu6
|
||||
liburi-perl
|
||||
libusb-1.0-0
|
||||
libutempter0
|
||||
@@ -693,14 +670,11 @@ libwind0-heimdal
|
||||
libwmf-dev
|
||||
libwmf0.2-7
|
||||
libwrap0
|
||||
libwww-perl
|
||||
libwww-robotrules-perl
|
||||
libwxbase3.0-0v5
|
||||
libwxgtk3.0-0v5
|
||||
libx11-6
|
||||
libx11-data
|
||||
libx11-dev
|
||||
libx11-protocol-perl
|
||||
libx11-xcb1
|
||||
libxau-dev
|
||||
libxau6
|
||||
@@ -711,7 +685,6 @@ libxcb-glx0
|
||||
libxcb-present0
|
||||
libxcb-render0
|
||||
libxcb-render0-dev
|
||||
libxcb-shape0
|
||||
libxcb-shm0
|
||||
libxcb-shm0-dev
|
||||
libxcb-sync1
|
||||
@@ -735,11 +708,8 @@ libxkbfile-dev
|
||||
libxkbfile1
|
||||
libxml-libxml-perl
|
||||
libxml-namespacesupport-perl
|
||||
libxml-parser-perl
|
||||
libxml-sax-base-perl
|
||||
libxml-sax-perl
|
||||
libxml-twig-perl
|
||||
libxml-xpathengine-perl
|
||||
libxml2
|
||||
libxml2-dev
|
||||
libxmlrpc-epi0
|
||||
@@ -758,11 +728,10 @@ libxt-dev
|
||||
libxt6
|
||||
libxtables12
|
||||
libxtst6
|
||||
libxv1
|
||||
libxxf86dga1
|
||||
libxxf86vm1
|
||||
libyajl2
|
||||
libyaml-0-2
|
||||
libyaml-dev
|
||||
libzen0v5
|
||||
libzip4
|
||||
libzmq5
|
||||
|
||||
1
src/lists/darwin-deps
Normal file
1
src/lists/darwin-deps
Normal file
@@ -0,0 +1 @@
|
||||
geos=geos
|
||||
@@ -1,12 +1,34 @@
|
||||
amqp
|
||||
couchbase
|
||||
event
|
||||
expect
|
||||
gearman
|
||||
gnupg
|
||||
grpc
|
||||
imagick
|
||||
imap
|
||||
lua
|
||||
mcrypt
|
||||
memcached
|
||||
mongodb
|
||||
newrelic
|
||||
pdo_sqlsrv
|
||||
pecl_http
|
||||
phalcon3
|
||||
phalcon4
|
||||
phalcon5
|
||||
psr
|
||||
rdkafka
|
||||
redis
|
||||
snmp
|
||||
sqlsrv
|
||||
ssh2
|
||||
swoole
|
||||
uuid
|
||||
v8js
|
||||
vips
|
||||
xdebug
|
||||
xdebug2
|
||||
xlswriter
|
||||
yaml
|
||||
zmq
|
||||
@@ -21,6 +21,7 @@ libasound2
|
||||
libasound2-data
|
||||
libaspell15
|
||||
libassuan0
|
||||
libatasmart4
|
||||
libatk-bridge2.0-0
|
||||
libatk1.0-0
|
||||
libatk1.0-data
|
||||
@@ -30,7 +31,6 @@ libatspi2.0-0
|
||||
libattr1
|
||||
libaudit-common
|
||||
libaudit1
|
||||
libauthen-sasl-perl
|
||||
libavahi-client3
|
||||
libavahi-common-data
|
||||
libavahi-common3
|
||||
@@ -39,6 +39,14 @@ libblas-dev
|
||||
libblas3
|
||||
libblkid-dev
|
||||
libblkid1
|
||||
libblockdev-crypto2
|
||||
libblockdev-fs2
|
||||
libblockdev-loop2
|
||||
libblockdev-part-err2
|
||||
libblockdev-part2
|
||||
libblockdev-swap2
|
||||
libblockdev-utils2
|
||||
libblockdev2
|
||||
libboost-context1.71.0
|
||||
libboost-filesystem1.71.0
|
||||
libboost-program-options1.71.0
|
||||
@@ -94,7 +102,6 @@ libctf0
|
||||
libcups2
|
||||
libcurl3-gnutls
|
||||
libcurl4
|
||||
libdata-dump-perl
|
||||
libdatrie1
|
||||
libdb5.3
|
||||
libdbus-1-3
|
||||
@@ -145,12 +152,7 @@ libffi-dev
|
||||
libffi7
|
||||
libfftw3-double3
|
||||
libfido2-1
|
||||
libfile-basedir-perl
|
||||
libfile-desktopentry-perl
|
||||
libfile-listing-perl
|
||||
libfile-mimeinfo-perl
|
||||
libfl2
|
||||
libfont-afm-perl
|
||||
libfontconfig1
|
||||
libfontconfig1-dev
|
||||
libfontenc1
|
||||
@@ -162,6 +164,7 @@ libfuse2
|
||||
libfuse3-3
|
||||
libfwupd2
|
||||
libfwupdplugin1
|
||||
libfwupdplugin5
|
||||
libgbm-dev
|
||||
libgbm1
|
||||
libgc1c2
|
||||
@@ -222,17 +225,11 @@ libhcrypto4-heimdal
|
||||
libheimbase1-heimdal
|
||||
libheimntlm0-heimdal
|
||||
libhogweed5
|
||||
libhtml-form-perl
|
||||
libhtml-format-perl
|
||||
libhtml-parser-perl
|
||||
libhtml-tagset-perl
|
||||
libhtml-template-perl
|
||||
libhtml-tree-perl
|
||||
libhttp-cookies-perl
|
||||
libhttp-daemon-perl
|
||||
libhttp-date-perl
|
||||
libhttp-message-perl
|
||||
libhttp-negotiate-perl
|
||||
libhunspell-1.7-0
|
||||
libhx509-5-heimdal
|
||||
libice-dev
|
||||
@@ -244,11 +241,8 @@ libidn2-0
|
||||
libilmbase-dev
|
||||
libilmbase24
|
||||
libio-html-perl
|
||||
libio-socket-ssl-perl
|
||||
libio-stringy-perl
|
||||
libip4tc2
|
||||
libip6tc2
|
||||
libipc-system-simple-perl
|
||||
libisc-export1105
|
||||
libisl22
|
||||
libisns0
|
||||
@@ -258,6 +252,7 @@ libitm1
|
||||
libjansson4
|
||||
libjbig-dev
|
||||
libjbig0
|
||||
libjcat1
|
||||
libjemalloc2
|
||||
libjpeg-dev
|
||||
libjpeg-turbo8
|
||||
@@ -293,7 +288,6 @@ liblldb-12
|
||||
libllvm10
|
||||
libllvm11
|
||||
libllvm12
|
||||
libllvm9
|
||||
liblmdb0
|
||||
liblocale-gettext-perl
|
||||
liblqr-1-0
|
||||
@@ -301,13 +295,11 @@ liblqr-1-0-dev
|
||||
liblsan0
|
||||
libltdl-dev
|
||||
libltdl7
|
||||
liblttng-ust-ctl4
|
||||
liblttng-ust0
|
||||
liblua5.2-0
|
||||
liblvm2cmd2.03
|
||||
liblwp-mediatypes-perl
|
||||
liblwp-protocol-https-perl
|
||||
liblz4-1
|
||||
liblz4-dev
|
||||
liblzma-dev
|
||||
liblzma5
|
||||
liblzo2-2
|
||||
@@ -324,12 +316,14 @@ libmagickwand-6-headers
|
||||
libmagickwand-6.q16-6
|
||||
libmagickwand-6.q16-dev
|
||||
libmagickwand-dev
|
||||
libmailtools-perl
|
||||
libmaxminddb0
|
||||
libmbim-glib4
|
||||
libmbim-proxy
|
||||
libmcrypt4
|
||||
libmecab2
|
||||
libmediainfo0v5
|
||||
libmemcached11
|
||||
libmm-glib0
|
||||
libmms0
|
||||
libmnl0
|
||||
libmono-2.0-1
|
||||
@@ -487,12 +481,7 @@ libmysqlclient21
|
||||
libncurses-dev
|
||||
libncurses5
|
||||
libncurses6
|
||||
libncursesw5
|
||||
libncursesw6
|
||||
libnet-dbus-perl
|
||||
libnet-http-perl
|
||||
libnet-smtp-ssl-perl
|
||||
libnet-ssleay-perl
|
||||
libnet1
|
||||
libnetfilter-conntrack3
|
||||
libnetplan0
|
||||
@@ -536,6 +525,7 @@ libpangocairo-1.0-0
|
||||
libpangoft2-1.0-0
|
||||
libpaper-utils
|
||||
libpaper1
|
||||
libparted-fs-resize0
|
||||
libparted2
|
||||
libpcap0.8
|
||||
libpci3
|
||||
@@ -546,6 +536,7 @@ libpcre2-32-0
|
||||
libpcre2-8-0
|
||||
libpcre2-dev
|
||||
libpcre2-posix2
|
||||
libpcre2-posix3
|
||||
libpcre3
|
||||
libpcre3-dev
|
||||
libpcre32-3
|
||||
@@ -580,6 +571,8 @@ libpython3.8-dev
|
||||
libpython3.8-minimal
|
||||
libpython3.8-stdlib
|
||||
libqdbm14
|
||||
libqmi-glib5
|
||||
libqmi-proxy
|
||||
libquadmath0
|
||||
librabbitmq4
|
||||
libre2-5
|
||||
@@ -621,6 +614,7 @@ libsm-dev
|
||||
libsm6
|
||||
libsmartcols1
|
||||
libsmbios-c2
|
||||
libsnappy1v5
|
||||
libsnmp-base
|
||||
libsnmp35
|
||||
libsodium23
|
||||
@@ -653,7 +647,6 @@ libtext-wrapi18n-perl
|
||||
libthai-data
|
||||
libthai0
|
||||
libtidy5deb1
|
||||
libtie-ixhash-perl
|
||||
libtiff-dev
|
||||
libtiff5
|
||||
libtiffxx5
|
||||
@@ -665,7 +658,6 @@ libtinyxml2-6a
|
||||
libtk8.6
|
||||
libtommath1
|
||||
libtool
|
||||
libtry-tiny-perl
|
||||
libtsan0
|
||||
libtss2-esys0
|
||||
libtypes-serialiser-perl
|
||||
@@ -674,6 +666,7 @@ libubsan1
|
||||
libuchardet0
|
||||
libucl1
|
||||
libudev1
|
||||
libudisks2-0
|
||||
libunistring2
|
||||
libunwind8
|
||||
liburcu6
|
||||
@@ -683,6 +676,7 @@ libutempter0
|
||||
libutf8proc2
|
||||
libuuid1
|
||||
libuv1
|
||||
libvolume-key1
|
||||
libvorbis0a
|
||||
libvorbisfile3
|
||||
libvpx6
|
||||
@@ -698,14 +692,11 @@ libwind0-heimdal
|
||||
libwmf-dev
|
||||
libwmf0.2-7
|
||||
libwrap0
|
||||
libwww-perl
|
||||
libwww-robotrules-perl
|
||||
libwxbase3.0-0v5
|
||||
libwxgtk3.0-gtk3-0v5
|
||||
libx11-6
|
||||
libx11-data
|
||||
libx11-dev
|
||||
libx11-protocol-perl
|
||||
libx11-xcb1
|
||||
libxau-dev
|
||||
libxau6
|
||||
@@ -716,7 +707,6 @@ libxcb-glx0
|
||||
libxcb-present0
|
||||
libxcb-render0
|
||||
libxcb-render0-dev
|
||||
libxcb-shape0
|
||||
libxcb-shm0
|
||||
libxcb-shm0-dev
|
||||
libxcb-sync1
|
||||
@@ -741,14 +731,12 @@ libxkbfile-dev
|
||||
libxkbfile1
|
||||
libxml-libxml-perl
|
||||
libxml-namespacesupport-perl
|
||||
libxml-parser-perl
|
||||
libxml-sax-base-perl
|
||||
libxml-sax-perl
|
||||
libxml-twig-perl
|
||||
libxml-xpathengine-perl
|
||||
libxml2
|
||||
libxml2-dev
|
||||
libxmlb1
|
||||
libxmlb2
|
||||
libxmlrpc-epi0
|
||||
libxmlsec1
|
||||
libxmlsec1-openssl
|
||||
@@ -765,11 +753,10 @@ libxt-dev
|
||||
libxt6
|
||||
libxtables12
|
||||
libxtst6
|
||||
libxv1
|
||||
libxxf86dga1
|
||||
libxxf86vm1
|
||||
libyajl2
|
||||
libyaml-0-2
|
||||
libyaml-dev
|
||||
libz3-4
|
||||
libz3-dev
|
||||
libzen0v5
|
||||
|
||||
@@ -1,27 +1,27 @@
|
||||
lib32gcc1
|
||||
lib32gcc-s1
|
||||
lib32stdc++6
|
||||
lib32z1
|
||||
libaccountsservice0
|
||||
libacl1
|
||||
libaio1
|
||||
libapparmor-perl
|
||||
libaom3
|
||||
libapparmor1
|
||||
libappstream4
|
||||
libapr1
|
||||
libaprutil1
|
||||
libaprutil1-dbd-sqlite3
|
||||
libaprutil1-ldap
|
||||
libapt-inst2.0
|
||||
libapt-pkg5.0
|
||||
libapt-pkg6.0
|
||||
libarchive13
|
||||
libargon2-1
|
||||
libasan2
|
||||
libaria2-0
|
||||
libasan5
|
||||
libasn1-8-heimdal
|
||||
libasan6
|
||||
libasan8
|
||||
libasound2
|
||||
libasound2-data
|
||||
libaspell15
|
||||
libasprintf0v5
|
||||
libassuan0
|
||||
libatasmart4
|
||||
libatk-bridge2.0-0
|
||||
libatk1.0-0
|
||||
libatk1.0-data
|
||||
@@ -31,27 +31,36 @@ libatspi2.0-0
|
||||
libattr1
|
||||
libaudit-common
|
||||
libaudit1
|
||||
libauthen-sasl-perl
|
||||
libavahi-client3
|
||||
libavahi-common-data
|
||||
libavahi-common3
|
||||
libbind9-140
|
||||
libbison-dev
|
||||
libblas-common
|
||||
libavahi-glib1
|
||||
libbinutils
|
||||
libblas-dev
|
||||
libblas3
|
||||
libblkid-dev
|
||||
libblkid1
|
||||
libboost-filesystem1.58.0
|
||||
libboost-system1.58.0
|
||||
libblockdev-crypto2
|
||||
libblockdev-fs2
|
||||
libblockdev-loop2
|
||||
libblockdev-part-err2
|
||||
libblockdev-part2
|
||||
libblockdev-swap2
|
||||
libblockdev-utils2
|
||||
libblockdev2
|
||||
libbpf0
|
||||
libbrotli-dev
|
||||
libbrotli1
|
||||
libbsd0
|
||||
libburn4
|
||||
libbz2-1.0
|
||||
libbz2-dev
|
||||
libc++-14-dev
|
||||
libc++-dev
|
||||
libc++-helpers
|
||||
libc++1
|
||||
libc++1-14
|
||||
libc++abi-14-dev
|
||||
libc++abi-dev
|
||||
libc++abi1
|
||||
libc++abi1-14
|
||||
libc-ares2
|
||||
libc-bin
|
||||
libc-client2007e
|
||||
@@ -67,200 +76,209 @@ libcanberra0
|
||||
libcap-ng0
|
||||
libcap2
|
||||
libcap2-bin
|
||||
libcapnp-0.5.3
|
||||
libcbor0.8
|
||||
libcc1-0
|
||||
libcdt5
|
||||
libcgi-fast-perl
|
||||
libcgi-pm-perl
|
||||
libcgraph6
|
||||
libcgroup1
|
||||
libcilkrts5
|
||||
libclang-common-9-dev
|
||||
libclang-cpp9
|
||||
libclang-common-12-dev
|
||||
libclang-common-13-dev
|
||||
libclang-common-14-dev
|
||||
libclang-cpp12
|
||||
libclang-cpp13
|
||||
libclang-cpp14
|
||||
libclang1-12
|
||||
libclang1-13
|
||||
libclang1-14
|
||||
libclone-perl
|
||||
libcolord2
|
||||
libcomerr2
|
||||
libcom-err2
|
||||
libcommon-sense-perl
|
||||
libcroco3
|
||||
libcryptsetup4
|
||||
libcrypt-dev
|
||||
libcrypt1
|
||||
libcryptsetup12
|
||||
libctf-nobfd0
|
||||
libctf0
|
||||
libcups2
|
||||
libcurl3
|
||||
libcurl3-gnutls
|
||||
libcurl4
|
||||
libdatrie1
|
||||
libdav1d5
|
||||
libdb5.3
|
||||
libdbus-1-3
|
||||
libdbus-glib-1-2
|
||||
libdbusmenu-glib4
|
||||
libdbusmenu-gtk3-4
|
||||
libdconf1
|
||||
libde265-0
|
||||
libdebconfclient0
|
||||
libdeflate-dev
|
||||
libdeflate0
|
||||
libdevmapper-event1.02.1
|
||||
libdevmapper1.02.1
|
||||
libdjvulibre-dev
|
||||
libdjvulibre-text
|
||||
libdjvulibre21
|
||||
libdns-export162
|
||||
libdns162
|
||||
libdns-export1110
|
||||
libdpkg-perl
|
||||
libdrm-amdgpu1
|
||||
libdrm-common
|
||||
libdrm-intel1
|
||||
libdrm-nouveau2
|
||||
libdrm-radeon1
|
||||
libdrm2
|
||||
libdumbnet1
|
||||
libdw1
|
||||
libeatmydata1
|
||||
libedit2
|
||||
libefivar0
|
||||
libegl1-mesa
|
||||
libefiboot1
|
||||
libefivar1
|
||||
libelf1
|
||||
libenchant1c2a
|
||||
libenchant-2-2
|
||||
libencode-locale-perl
|
||||
libepoxy0
|
||||
liberror-perl
|
||||
libestr0
|
||||
libevent-2.0-5
|
||||
libevent-core-2.0-5
|
||||
libevent-pthreads-2.0-5
|
||||
libevent-core-2.1-7
|
||||
libevent-pthreads-2.1-7
|
||||
libexif-dev
|
||||
libexif12
|
||||
libexpat1
|
||||
libexpat1-dev
|
||||
libext2fs2
|
||||
libfakeroot
|
||||
libfastjson4
|
||||
libfbclient2
|
||||
libfcgi-bin
|
||||
libfcgi-perl
|
||||
libfcgi0ldbl
|
||||
libfdisk1
|
||||
libffi-dev
|
||||
libffi6
|
||||
libffi8
|
||||
libfftw3-double3
|
||||
libfile-basedir-perl
|
||||
libfile-desktopentry-perl
|
||||
libfile-listing-perl
|
||||
libfile-mimeinfo-perl
|
||||
libfl-dev
|
||||
libfont-afm-perl
|
||||
libfido2-1
|
||||
libflashrom1
|
||||
libfontconfig-dev
|
||||
libfontconfig1
|
||||
libfontconfig1-dev
|
||||
libfontenc1
|
||||
libfreetype-dev
|
||||
libfreetype6
|
||||
libfreetype6-dev
|
||||
libfribidi0
|
||||
libfuse2
|
||||
libfsverity0
|
||||
libftdi1-2
|
||||
libfuse3-3
|
||||
libfwupd2
|
||||
libfwupdplugin5
|
||||
libgbm-dev
|
||||
libgbm1
|
||||
libgc1c2
|
||||
libgcc-5-dev
|
||||
libgc1
|
||||
libgcab-1.0-0
|
||||
libgcc-10-dev
|
||||
libgcc-11-dev
|
||||
libgcc-12-dev
|
||||
libgcc-9-dev
|
||||
libgcc1
|
||||
libgcc-s1
|
||||
libgconf-2-4
|
||||
libgcrypt20
|
||||
libgcrypt20-dev
|
||||
libgd3
|
||||
libgdbm3
|
||||
libgdbm-compat4
|
||||
libgdbm6
|
||||
libgdiplus
|
||||
libgdk-pixbuf2.0-0
|
||||
libgdk-pixbuf-2.0-0
|
||||
libgdk-pixbuf-2.0-dev
|
||||
libgdk-pixbuf2.0-bin
|
||||
libgdk-pixbuf2.0-common
|
||||
libgdk-pixbuf2.0-dev
|
||||
libgeoip1
|
||||
libgflags2v5
|
||||
libgfortran-5-dev
|
||||
libgfortran-10-dev
|
||||
libgfortran-11-dev
|
||||
libgfortran-12-dev
|
||||
libgfortran-9-dev
|
||||
libgfortran3
|
||||
libgfortran5
|
||||
libgif7
|
||||
libgirepository-1.0-1
|
||||
libgl1
|
||||
libgl1-mesa-dri
|
||||
libgl1-mesa-glx
|
||||
libglade2-0
|
||||
libglade2.0-cil
|
||||
libglapi-mesa
|
||||
libglib2.0-0
|
||||
libglib2.0-bin
|
||||
libglib2.0-cil
|
||||
libglib2.0-data
|
||||
libglib2.0-dev
|
||||
libglib2.0-dev-bin
|
||||
libglvnd0
|
||||
libglx-mesa0
|
||||
libglx0
|
||||
libgmp-dev
|
||||
libgmp10
|
||||
libgmpxx4ldbl
|
||||
libgnutls-openssl27
|
||||
libgnutls30
|
||||
libgomp1
|
||||
libgoogle-glog0v5
|
||||
libgpg-error-dev
|
||||
libgpg-error0
|
||||
libgpgme11
|
||||
libgpm2
|
||||
libgraphite2-3
|
||||
libgraphviz-dev
|
||||
libgsl-dev
|
||||
libgsl2
|
||||
libgsl27
|
||||
libgslcblas0
|
||||
libgssapi-krb5-2
|
||||
libgssapi3-heimdal
|
||||
libgstreamer1.0-0
|
||||
libgtk-3-0
|
||||
libgtk-3-bin
|
||||
libgtk-3-common
|
||||
libgtk2.0-0
|
||||
libgtk2.0-cil
|
||||
libgtk2.0-common
|
||||
libgvc6
|
||||
libgvc6-plugins-gtk
|
||||
libgvpr2
|
||||
libgudev-1.0-0
|
||||
libgusb2
|
||||
libharfbuzz0b
|
||||
libhavege1
|
||||
libhcrypto4-heimdal
|
||||
libheimbase1-heimdal
|
||||
libheimntlm0-heimdal
|
||||
libhogweed4
|
||||
libhtml-form-perl
|
||||
libhtml-format-perl
|
||||
libhavege2
|
||||
libheif1
|
||||
libhogweed6
|
||||
libhtml-parser-perl
|
||||
libhtml-tagset-perl
|
||||
libhtml-template-perl
|
||||
libhtml-tree-perl
|
||||
libhttp-cookies-perl
|
||||
libhttp-daemon-perl
|
||||
libhttp-date-perl
|
||||
libhttp-message-perl
|
||||
libhttp-negotiate-perl
|
||||
libhunspell-1.3-0
|
||||
libhx509-5-heimdal
|
||||
libhunspell-1.7-0
|
||||
libice-dev
|
||||
libice6
|
||||
libicu-dev
|
||||
libicu55
|
||||
libicu65
|
||||
libidn11
|
||||
libicu70
|
||||
libidn2-0
|
||||
libilmbase-dev
|
||||
libilmbase12
|
||||
libilmbase25
|
||||
libinih1
|
||||
libintl-perl
|
||||
libintl-xs-perl
|
||||
libio-html-perl
|
||||
libio-socket-ssl-perl
|
||||
libipc-system-simple-perl
|
||||
libisc-export160
|
||||
libisc160
|
||||
libisccc140
|
||||
libisccfg140
|
||||
libisl15
|
||||
libip4tc2
|
||||
libip6tc2
|
||||
libisc-export1105
|
||||
libisl23
|
||||
libisns0
|
||||
libisoburn1
|
||||
libisofs6
|
||||
libitm1
|
||||
libjasper-dev
|
||||
libjasper1
|
||||
libjansson4
|
||||
libjbig-dev
|
||||
libjbig0
|
||||
libjcat1
|
||||
libjpeg-dev
|
||||
libjpeg-turbo8
|
||||
libjpeg-turbo8-dev
|
||||
libjpeg8
|
||||
libjpeg8-dev
|
||||
libjq1
|
||||
libjs-jquery
|
||||
libjson-c2
|
||||
libjs-sphinxdoc
|
||||
libjs-underscore
|
||||
libjs-xmlextras
|
||||
libjson-c5
|
||||
libjson-glib-1.0-0
|
||||
libjson-glib-1.0-common
|
||||
libjson-perl
|
||||
libjson-xs-perl
|
||||
libjte1
|
||||
libjte2
|
||||
libk5crypto3
|
||||
libkeyutils1
|
||||
libklibc
|
||||
libkmod2
|
||||
libkrb5-26-heimdal
|
||||
libkrb5-3
|
||||
libkrb5support0
|
||||
libksba8
|
||||
@@ -268,11 +286,15 @@ liblapack-dev
|
||||
liblapack3
|
||||
liblcms2-2
|
||||
liblcms2-dev
|
||||
libldap-2.4-2
|
||||
libldb1
|
||||
liblldb-9
|
||||
libllvm6.0
|
||||
libllvm9
|
||||
libldap-2.5-0
|
||||
libldap-common
|
||||
liblldb-12
|
||||
liblldb-13
|
||||
liblldb-14
|
||||
libllvm12
|
||||
libllvm13
|
||||
libllvm14
|
||||
libllvm15
|
||||
liblmdb0
|
||||
liblocale-gettext-perl
|
||||
liblqr-1-0
|
||||
@@ -280,42 +302,39 @@ liblqr-1-0-dev
|
||||
liblsan0
|
||||
libltdl-dev
|
||||
libltdl7
|
||||
liblttng-ust-ctl2
|
||||
liblttng-ust0
|
||||
liblua5.1-0
|
||||
liblua5.2-0
|
||||
liblvm2app2.2
|
||||
liblvm2cmd2.02
|
||||
liblua5.3-0
|
||||
liblvm2cmd2.03
|
||||
liblwp-mediatypes-perl
|
||||
liblwp-protocol-https-perl
|
||||
liblwres141
|
||||
liblxc1
|
||||
liblz4-1
|
||||
liblz4-dev
|
||||
liblzma-dev
|
||||
liblzma5
|
||||
liblzo2-2
|
||||
libmagic-dev
|
||||
libmagic-mgc
|
||||
libmagic1
|
||||
libmagickcore-6-arch-config
|
||||
libmagickcore-6-headers
|
||||
libmagickcore-6.q16-2
|
||||
libmagickcore-6.q16-2-extra
|
||||
libmagickcore-6.q16-6
|
||||
libmagickcore-6.q16-6-extra
|
||||
libmagickcore-6.q16-dev
|
||||
libmagickcore-dev
|
||||
libmagickwand-6-headers
|
||||
libmagickwand-6.q16-2
|
||||
libmagickwand-6.q16-6
|
||||
libmagickwand-6.q16-dev
|
||||
libmagickwand-dev
|
||||
libmailtools-perl
|
||||
libmcrypt4
|
||||
libmaxminddb0
|
||||
libmbim-glib4
|
||||
libmbim-proxy
|
||||
libmd0
|
||||
libmecab2
|
||||
libmediainfo0v5
|
||||
libmemcached11
|
||||
libmirclient9
|
||||
libmircommon7
|
||||
libmircore1
|
||||
libmirprotobuf3
|
||||
libmm-glib0
|
||||
libmms0
|
||||
libmnl0
|
||||
libmodule-find-perl
|
||||
libmodule-scandeps-perl
|
||||
libmono-2.0-1
|
||||
libmono-2.0-dev
|
||||
libmono-accessibility4.0-cil
|
||||
@@ -460,44 +479,58 @@ libmono-xbuild-tasks4.0-cil
|
||||
libmonoboehm-2.0-1
|
||||
libmonosgen-2.0-1
|
||||
libmonosgen-2.0-dev
|
||||
libmount-dev
|
||||
libmount1
|
||||
libmpc3
|
||||
libmpdec2
|
||||
libmpfr4
|
||||
libmpx0
|
||||
libmpdec3
|
||||
libmpfr6
|
||||
libmspack0
|
||||
libmysqlclient-dev
|
||||
libmysqlclient20
|
||||
libncurses5
|
||||
libncurses5-dev
|
||||
libncursesw5
|
||||
libnet-dbus-perl
|
||||
libnet-http-perl
|
||||
libnet-smtp-ssl-perl
|
||||
libnet-ssleay-perl
|
||||
libmysqlclient21
|
||||
libncurses-dev
|
||||
libncurses6
|
||||
libncursesw6
|
||||
libnetfilter-conntrack3
|
||||
libnettle6
|
||||
libnetplan0
|
||||
libnettle8
|
||||
libnewt0.52
|
||||
libnfnetlink0
|
||||
libnih-dbus1
|
||||
libnih1
|
||||
libnftables1
|
||||
libnftnl11
|
||||
libnghttp2-14
|
||||
libnginx-mod-http-geoip2
|
||||
libnginx-mod-http-image-filter
|
||||
libnginx-mod-http-xslt-filter
|
||||
libnginx-mod-mail
|
||||
libnginx-mod-stream
|
||||
libnginx-mod-stream-geoip2
|
||||
libnl-3-200
|
||||
libnl-genl-3-200
|
||||
libnorm1
|
||||
libnotify4
|
||||
libnpth0
|
||||
libnsl-dev
|
||||
libnsl2
|
||||
libnspr4
|
||||
libnss-systemd
|
||||
libnss3
|
||||
libnss3-nssdb
|
||||
libntfs-3g89
|
||||
libnuma1
|
||||
libobjc-5-dev
|
||||
libobjc-11-dev
|
||||
libobjc4
|
||||
libodbc1
|
||||
libodbc2
|
||||
libodbccr2
|
||||
libodbcinst2
|
||||
libogg0
|
||||
libomp-9-dev
|
||||
libomp5-9
|
||||
libonig2
|
||||
libonig5
|
||||
libopenexr-dev
|
||||
libopenexr22
|
||||
libopenexr25
|
||||
libopeniscsiusr
|
||||
libopenjp2-7
|
||||
libopenjp2-7-dev
|
||||
libostree-1-1
|
||||
libp11-kit0
|
||||
libpackagekit-glib2-18
|
||||
libpam-cap
|
||||
libpam-modules
|
||||
libpam-modules-bin
|
||||
libpam-runtime
|
||||
@@ -508,105 +541,105 @@ libpangocairo-1.0-0
|
||||
libpangoft2-1.0-0
|
||||
libpaper-utils
|
||||
libpaper1
|
||||
libparted-fs-resize0
|
||||
libparted2
|
||||
libpathplan4
|
||||
libpcap0.8
|
||||
libpci3
|
||||
libpciaccess0
|
||||
libpcre16-3
|
||||
libpcre2-16-0
|
||||
libpcre2-32-0
|
||||
libpcre2-8-0
|
||||
libpcre2-dev
|
||||
libpcre2-posix2
|
||||
libpcre2-posix3
|
||||
libpcre3
|
||||
libpcre3-dev
|
||||
libpcre32-3
|
||||
libpcrecpp0v5
|
||||
libperl5.22
|
||||
libperl5.34
|
||||
libpfm4
|
||||
libpgm-5.2-0
|
||||
libpgm-5.3-0
|
||||
libpipeline1
|
||||
libpixman-1-0
|
||||
libpixman-1-dev
|
||||
libplymouth4
|
||||
libpng12-0
|
||||
libpng12-dev
|
||||
libplymouth5
|
||||
libpng-dev
|
||||
libpng16-16
|
||||
libpolkit-agent-1-0
|
||||
libpolkit-backend-1-0
|
||||
libpolkit-gobject-1-0
|
||||
libpopt0
|
||||
libpq-dev
|
||||
libpq5
|
||||
libprocps4
|
||||
libprotobuf-lite9v5
|
||||
libproc-processtable-perl
|
||||
libprocps8
|
||||
libprotobuf-lite23
|
||||
libproxy1v5
|
||||
libpsl5
|
||||
libpthread-stubs0-dev
|
||||
libpython-dev
|
||||
libpython-stdlib
|
||||
libpython2.7
|
||||
libpython2.7-dev
|
||||
libpython2.7-minimal
|
||||
libpython2.7-stdlib
|
||||
libpython3-dev
|
||||
libpython3-stdlib
|
||||
libpython3.5
|
||||
libpython3.5-dev
|
||||
libpython3.5-minimal
|
||||
libpython3.5-stdlib
|
||||
libpython3.10
|
||||
libpython3.10-dev
|
||||
libpython3.10-minimal
|
||||
libpython3.10-stdlib
|
||||
libqdbm14
|
||||
libqmi-glib5
|
||||
libqmi-proxy
|
||||
libquadmath0
|
||||
librabbitmq4
|
||||
libre2-1v5
|
||||
libre2-9
|
||||
libreadline-dev
|
||||
libreadline5
|
||||
libreadline6
|
||||
libreadline6-dev
|
||||
librecode0
|
||||
librest-0.7-0
|
||||
libroken18-heimdal
|
||||
librpm3
|
||||
librpmbuild3
|
||||
librpmio3
|
||||
librpmsign3
|
||||
libreadline8
|
||||
librpm9
|
||||
librpmbuild9
|
||||
librpmio9
|
||||
librpmsign9
|
||||
librsvg2-2
|
||||
librsvg2-common
|
||||
librsvg2-dev
|
||||
librtmp1
|
||||
libruby2.3
|
||||
libruby3.0
|
||||
libsasl2-2
|
||||
libsasl2-modules
|
||||
libsasl2-modules-db
|
||||
libsctp1
|
||||
libseccomp2
|
||||
libsecret-1-0
|
||||
libsecret-1-dev
|
||||
libsecret-common
|
||||
libselinux1
|
||||
libselinux1-dev
|
||||
libsemanage-common
|
||||
libsemanage1
|
||||
libsensors4
|
||||
libsepol1
|
||||
libsemanage2
|
||||
libsensors-config
|
||||
libsensors5
|
||||
libsepol-dev
|
||||
libsepol2
|
||||
libserf-1-1
|
||||
libsgutils2-2
|
||||
libsigsegv2
|
||||
libslang2
|
||||
libslirp0
|
||||
libsm-dev
|
||||
libsm6
|
||||
libsmartcols1
|
||||
libsmbios-c2
|
||||
libsnappy1v5
|
||||
libsnmp-base
|
||||
libsnmp30
|
||||
libsnmp40
|
||||
libsodium23
|
||||
libsoup-gnome2.4-1
|
||||
libsort-naturally-perl
|
||||
libsoup2.4-1
|
||||
libsoup2.4-common
|
||||
libsqlite3-0
|
||||
libsqlite3-dev
|
||||
libss2
|
||||
libssh-4
|
||||
libssh2-1
|
||||
libssl-dev
|
||||
libssl-doc
|
||||
libssl1.0.0
|
||||
libssl1.1
|
||||
libstdc++-5-dev
|
||||
libssl3
|
||||
libstdc++-10-dev
|
||||
libstdc++-11-dev
|
||||
libstdc++-12-dev
|
||||
libstdc++-9-dev
|
||||
libstdc++6
|
||||
libstemmer0d
|
||||
@@ -615,10 +648,9 @@ libsybdb5
|
||||
libsystemd0
|
||||
libtalloc2
|
||||
libtasn1-6
|
||||
libtbb2
|
||||
libtcl8.6
|
||||
libtcltk-ruby
|
||||
libtdb1
|
||||
libterm-readkey-perl
|
||||
libtevent0
|
||||
libtext-charwidth-perl
|
||||
libtext-iconv-perl
|
||||
@@ -627,52 +659,68 @@ libtext-wrapi18n-perl
|
||||
libthai-data
|
||||
libthai0
|
||||
libtidy5deb1
|
||||
libtie-ixhash-perl
|
||||
libtiff-dev
|
||||
libtiff5
|
||||
libtiff5-dev
|
||||
libtiffxx5
|
||||
libtimedate-perl
|
||||
libtinfo-dev
|
||||
libtinfo5
|
||||
libtinyxml2-2v5
|
||||
libtinfo6
|
||||
libtinyxml2-9
|
||||
libtirpc-common
|
||||
libtirpc-dev
|
||||
libtirpc3
|
||||
libtk8.6
|
||||
libtommath1
|
||||
libtool
|
||||
libtsan0
|
||||
libtsan2
|
||||
libtss2-esys-3.0.2-0
|
||||
libtss2-mu0
|
||||
libtss2-rc0
|
||||
libtss2-sys1
|
||||
libtss2-tcti-cmd0
|
||||
libtss2-tcti-device0
|
||||
libtss2-tcti-mssim0
|
||||
libtss2-tcti-swtpm0
|
||||
libtypes-serialiser-perl
|
||||
libubsan0
|
||||
libu2f-udev
|
||||
libubsan1
|
||||
libuchardet0
|
||||
libucl1
|
||||
libudev1
|
||||
libudisks2-0
|
||||
libunistring2
|
||||
libunwind-14
|
||||
libunwind-14-dev
|
||||
libunwind8
|
||||
liburcu4
|
||||
liburcu8
|
||||
liburi-perl
|
||||
libusb-0.1-4
|
||||
libusb-1.0-0
|
||||
libustr-1.0-1
|
||||
libutempter0
|
||||
libutf8proc2
|
||||
libuuid1
|
||||
libuv1
|
||||
libvolume-key1
|
||||
libvorbis0a
|
||||
libvorbisfile3
|
||||
libvpx3
|
||||
libvulkan1
|
||||
libwayland-client0
|
||||
libwayland-cursor0
|
||||
libwayland-egl1-mesa
|
||||
libwayland-egl1
|
||||
libwayland-server0
|
||||
libwbclient0
|
||||
libwind0-heimdal
|
||||
libwebp7
|
||||
libwebpdemux2
|
||||
libwebpmux3
|
||||
libwmf-0.2-7
|
||||
libwmf-dev
|
||||
libwmf0.2-7
|
||||
libwmflite-0.2-7
|
||||
libwrap0
|
||||
libwww-perl
|
||||
libwww-robotrules-perl
|
||||
libwxbase3.0-0v5
|
||||
libwxgtk3.0-0v5
|
||||
libx11-6
|
||||
libx11-data
|
||||
libx11-dev
|
||||
libx11-protocol-perl
|
||||
libx11-xcb1
|
||||
libx265-199
|
||||
libxau-dev
|
||||
libxau6
|
||||
libxaw7
|
||||
@@ -682,7 +730,6 @@ libxcb-glx0
|
||||
libxcb-present0
|
||||
libxcb-render0
|
||||
libxcb-render0-dev
|
||||
libxcb-shape0
|
||||
libxcb-shm0
|
||||
libxcb-shm0-dev
|
||||
libxcb-sync1
|
||||
@@ -694,12 +741,10 @@ libxcursor1
|
||||
libxdamage1
|
||||
libxdmcp-dev
|
||||
libxdmcp6
|
||||
libxdot4
|
||||
libxext-dev
|
||||
libxext6
|
||||
libxfixes3
|
||||
libxfont1
|
||||
libxft-dev
|
||||
libxfont2
|
||||
libxft2
|
||||
libxi6
|
||||
libxinerama1
|
||||
@@ -708,14 +753,11 @@ libxkbfile-dev
|
||||
libxkbfile1
|
||||
libxml-libxml-perl
|
||||
libxml-namespacesupport-perl
|
||||
libxml-parser-perl
|
||||
libxml-sax-base-perl
|
||||
libxml-sax-perl
|
||||
libxml-twig-perl
|
||||
libxml-xpathengine-perl
|
||||
libxml2
|
||||
libxml2-dev
|
||||
libxmlrpc-epi0
|
||||
libxmlb2
|
||||
libxmlsec1
|
||||
libxmlsec1-openssl
|
||||
libxmu6
|
||||
@@ -729,15 +771,20 @@ libxslt1.1
|
||||
libxss1
|
||||
libxt-dev
|
||||
libxt6
|
||||
libxtables11
|
||||
libxtables12
|
||||
libxtst6
|
||||
libxv1
|
||||
libxxf86dga1
|
||||
libxxf86vm1
|
||||
libxxhash0
|
||||
libyajl2
|
||||
libyaml-0-2
|
||||
libyaml-dev
|
||||
libz3-4
|
||||
libz3-dev
|
||||
libzen0v5
|
||||
libzip4
|
||||
libzmq5
|
||||
libzstd-dev
|
||||
libzstd1
|
||||
python3-launchpadlib
|
||||
python3-oauthlib
|
||||
python3-wadllib
|
||||
4
src/lists/linux-deps
Normal file
4
src/lists/linux-deps
Normal file
@@ -0,0 +1,4 @@
|
||||
geos=libgeos-dev
|
||||
pdo_firebird=firebird-dev
|
||||
oci8=libaio-dev
|
||||
pdo_oci=libaio-dev
|
||||
@@ -38,6 +38,7 @@ get_api_version() {
|
||||
7.3) echo "20180731" ;;
|
||||
7.4) echo "20190902" ;;
|
||||
8.0) echo "20200930" ;;
|
||||
8.1) echo "20210902" ;;
|
||||
*) get_api_version_from_repo ;;
|
||||
esac
|
||||
}
|
||||
@@ -68,7 +69,7 @@ extension_dir_darwin() {
|
||||
|
||||
extension_dir_linux() {
|
||||
api_version=$1
|
||||
if [[ "${version:?}" =~ ${old_versions:?}|${nightly_versions:?} ]]; then
|
||||
if [[ "${version:?}" =~ ${old_versions:?} ]]; then
|
||||
echo "/usr/local/php/$version/lib/php/extensions/no-debug-non-zts-$api_version"
|
||||
else
|
||||
echo "/usr/lib/php/$api_version"
|
||||
@@ -77,8 +78,7 @@ extension_dir_linux() {
|
||||
|
||||
data() {
|
||||
old_versions="5.[3-5]"
|
||||
nightly_versions="8.[1-9]"
|
||||
date='20210703'
|
||||
date='20220831'
|
||||
if [ "$os" = "Linux" ]; then
|
||||
. /etc/lsb-release
|
||||
os=$os-$DISTRIB_CODENAME
|
||||
@@ -89,18 +89,17 @@ data() {
|
||||
api_version=$(get_api_version)
|
||||
dir=$(extension_dir_darwin "$api_version")
|
||||
sudo mkdir -p "$dir/deps" && fix_ownership "$dir"
|
||||
date='20210707'
|
||||
else
|
||||
os="Windows"
|
||||
dir='C:\\tools\\php\\ext'
|
||||
[[ "$extensions" == *"imagick"* ]] && date='20210512'
|
||||
fi
|
||||
key="$os"-ext-"$version"-$(echo -n "$extensions-$key" | openssl dgst -sha256 | cut -d ' ' -f 2)
|
||||
key="$key-$date"
|
||||
job="${GITHUB_REPOSITORY}-${GITHUB_WORKFLOW}-${GITHUB_JOB}"
|
||||
key="$(echo -n "$extensions-$key-$job" | openssl dgst -sha256 | cut -d ' ' -f 2)"
|
||||
key="$os"-"$version"-"$key"-"$date"
|
||||
echo "$dir" > "${RUNNER_TEMP:?}"/dir
|
||||
echo "$key" > "${RUNNER_TEMP:?}"/key
|
||||
echo "::set-output name=dir::$dir"
|
||||
echo "::set-output name=key::$key"
|
||||
echo "dir=$dir" >> ${GITHUB_OUTPUT:?}
|
||||
echo "key=$key" >> ${GITHUB_OUTPUT:?}
|
||||
}
|
||||
|
||||
dependencies() {
|
||||
@@ -109,6 +108,7 @@ dependencies() {
|
||||
export cross="✗"
|
||||
export ext_config_directory="/tmp/extcache"
|
||||
export deps_cache_directory="${RUNNER_TOOL_CACHE}"/deps
|
||||
sudo mkdir -p "$deps_cache_directory"
|
||||
script_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)
|
||||
# shellcheck disable=SC1090
|
||||
. "$script_dir/$(echo "$os" | tr '[:upper:]' '[:lower:]').sh"
|
||||
|
||||
@@ -23,11 +23,27 @@ add_brew_tap() {
|
||||
fi
|
||||
}
|
||||
|
||||
get_dependencies() {
|
||||
extension=$1
|
||||
list_deps="$(grep "$extension" "${script_dir:?}"/../lists/darwin-deps | cut -d '=' -f 2)"
|
||||
formula_file="$tap_dir/$ext_tap/Formula/$extension@${version:?}.rb"
|
||||
if [ -e "$formula_file" ]; then
|
||||
formula_deps="$(grep "depends_on" "$formula_file" | cut -d '"' -f 2 | tr '\n' ' ')"
|
||||
formula_deps_from_macos="$(grep "uses_from_macos \"lib" "$formula_file" | cut -d '"' -f 2 | tr '\n' ' ')"
|
||||
fi
|
||||
deps=()
|
||||
[[ -n "${list_deps[*]}" ]] && deps+=("${list_deps[@]}")
|
||||
[[ -n "${formula_deps[*]}" ]] && deps+=("${formula_deps[@]}")
|
||||
[[ -n "${formula_deps_from_macos[*]}" ]] && deps+=("${formula_deps_from_macos[@]}")
|
||||
echo "${deps[@]}"
|
||||
}
|
||||
|
||||
filter_extensions() {
|
||||
extensions_array=("$@")
|
||||
filtered_extensions=()
|
||||
for ext in "${extensions_array[@]}"; do
|
||||
if grep -i -q -w "$ext" "${script_dir:?}"/../lists/darwin-extensions; then
|
||||
if grep -i -q -w "$ext" "${script_dir:?}"/../lists/darwin-extensions ||
|
||||
grep -q "$ext=" "${script_dir:?}"/../lists/darwin-deps; then
|
||||
filtered_extensions+=("$ext")
|
||||
fi
|
||||
done
|
||||
@@ -40,7 +56,7 @@ setup_extensions_helper() {
|
||||
extension_dir=$3
|
||||
cached_extension="${deps_cache_directory:?}/$dependency_extension.so"
|
||||
if ! [ -e "$cached_extension" ]; then
|
||||
brew install "$dependency_extension@${version:?}"
|
||||
brew install "$dependency_extension@$version"
|
||||
sudo find "$brew_cellar/$dependency_extension@${version:?}" -name "$dependency_extension.so" -exec cp {} "$cached_extension" \;
|
||||
else
|
||||
echo "Found $dependency_extension extension in cache"
|
||||
@@ -66,11 +82,9 @@ setup_extensions() {
|
||||
add_library_helper() {
|
||||
dep_name=$1
|
||||
cache_dir=$2
|
||||
sudo cp -R "$brew_cellar/$dep_name" "$cache_dir/"
|
||||
sudo chmod -R 777 "$cache_dir/$dep_name"
|
||||
echo "$dep_name" | sudo tee -a "$cache_dir"/list >/dev/null 2>&1
|
||||
(
|
||||
cd "$cache_dir" || exit 1
|
||||
cd "$brew_cellar" || exit 1
|
||||
if command -v gtar >/dev/null; then
|
||||
sudo gtar -I "zstd -T0" -cf "$cache_dir"/"$dep_name".tar.zst "$dep_name"
|
||||
else
|
||||
@@ -90,20 +104,24 @@ add_library() {
|
||||
to_wait+=($!)
|
||||
done
|
||||
wait "${to_wait[@]}"
|
||||
sudo rm -R -- "${cache_dir:?}"/*/
|
||||
}
|
||||
|
||||
restore_library_helper() {
|
||||
dep_name=$1
|
||||
cache_dir=$2
|
||||
if ! [ -d "$brew_cellar/$dep_name" ]; then
|
||||
if command -v gtar >/dev/null; then
|
||||
sudo gtar -I "zstd -d" -xf "$cache_dir"/"$dep_name".tar.zst -C "$brew_cellar"
|
||||
else
|
||||
sudo zstd -dq "$cache_dir"/"$dep_name".tar.zst && sudo tar -xf "$cache_dir"/"$dep_name".tar -C "$brew_cellar"
|
||||
fi
|
||||
fi
|
||||
if ! [ -d "$brew_prefix/opt/$dep_name" ]; then
|
||||
brew link --force --overwrite "$dep_name" 2>/dev/null || true
|
||||
fi
|
||||
if ! [ -d "$brew_prefix/opt/$dep_name" ]; then
|
||||
sudo ln -sf "$brew_cellar"/"$dep_name"/* "$brew_prefix"/opt/"$dep_name"
|
||||
fi
|
||||
}
|
||||
|
||||
restore_library() {
|
||||
@@ -121,7 +139,7 @@ setup_libraries() {
|
||||
shift 1
|
||||
libraries_array=("$@")
|
||||
ext_deps_dir="$deps_cache_directory/$extension"
|
||||
sudo cp -a "$tap_dir"/shivammathur/homebrew-extensions/.github/deps/"$extension"/*.rb "$tap_dir"/homebrew/homebrew-core/Formula/
|
||||
sudo cp -a "$tap_dir"/"$ext_tap"/.github/deps/"$extension"/*.rb "$tap_dir"/"$core_tap"/Formula/ 2>/dev/null || true
|
||||
sudo mkdir -p "$ext_deps_dir"
|
||||
echo "::group::Logs to set up libraries required for $extension"
|
||||
for lib in "${libraries_array[@]}"; do
|
||||
@@ -143,17 +161,17 @@ setup_dependencies() {
|
||||
IFS=' ' read -r -a extensions_array <<<"$(echo "$extensions" | sed -e "s/pdo[_-]//g" -Ee "s/^|,\s*/ /g")"
|
||||
IFS=' ' read -r -a extensions_array <<<"$(filter_extensions "${extensions_array[@]}")"
|
||||
if [[ -n "${extensions_array[*]// /}" ]]; then
|
||||
add_brew_tap "shivammathur/homebrew-php"
|
||||
add_brew_tap "shivammathur/homebrew-extensions"
|
||||
add_brew_tap "$php_tap"
|
||||
add_brew_tap "$ext_tap"
|
||||
for extension in "${extensions_array[@]}"; do
|
||||
IFS=' ' read -r -a dependency_array <<<"$(grep "depends_on" "$tap_dir/shivammathur/homebrew-extensions/Formula/$extension@$version.rb" | cut -d '"' -f 2 | tr '\n' ' ')"
|
||||
IFS=' ' read -r -a dependency_array <<<"$(get_dependencies "$extension")"
|
||||
IFS=' ' read -r -a extension_array <<<"$(echo "${dependency_array[@]}" | grep -Eo "[a-z]*@" | sed 's/@//' | tr '\n' ' ')"
|
||||
IFS=' ' read -r -a libraries_array <<<"${dependency_array[@]//shivammathur*/}"
|
||||
if [[ -n "${libraries_array[*]// /}" ]]; then
|
||||
step_log "Setup libraries for $extension"
|
||||
setup_libraries "$extension" "${libraries_array[@]}"
|
||||
fi
|
||||
if [[ -n "${extension_array[*]// /}" ]]; then
|
||||
if [[ -n "${extension_array[*]// /}" ]] && [ "${skip_dependency_extensions:=}" != "true" ]; then
|
||||
step_log "Setup extensions for $extension"
|
||||
setup_extensions "$extension" "$extension_dir" "${extension_array[@]}"
|
||||
fi
|
||||
@@ -169,3 +187,6 @@ export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
|
||||
brew_prefix="$(brew --prefix)"
|
||||
brew_cellar="$brew_prefix/Cellar"
|
||||
tap_dir="$(brew --repository)"/Library/Taps
|
||||
core_tap=homebrew/homebrew-core
|
||||
php_tap=shivammathur/homebrew-php
|
||||
ext_tap=shivammathur/homebrew-extensions
|
||||
|
||||
@@ -6,9 +6,9 @@ link_apt_fast() {
|
||||
|
||||
fetch_package() {
|
||||
if ! [ -e /tmp/Packages ]; then
|
||||
. /etc/lsb-release
|
||||
deb_build_arch=$(dpkg-architecture -q DEB_BUILD_ARCH)
|
||||
curl -o /tmp/Packages.gz -sL "http://ppa.launchpad.net/ondrej/php/ubuntu/dists/$DISTRIB_CODENAME/main/binary-$deb_build_arch/Packages.gz"
|
||||
. /etc/os-release
|
||||
arch=$(dpkg --print-architecture)
|
||||
curl -o /tmp/Packages.gz -sL "http://ppa.launchpad.net/ondrej/php/ubuntu/dists/$VERSION_CODENAME/main/binary-$arch/Packages.gz"
|
||||
gzip -df /tmp/Packages.gz
|
||||
fi
|
||||
}
|
||||
@@ -16,7 +16,12 @@ fetch_package() {
|
||||
get_dependencies() {
|
||||
package=$1
|
||||
prefix=$2
|
||||
sed -e '/Package:\s'"$package$"'/,/^\s*$/!d' /tmp/Packages | grep -Eo "^Depends.*" | tr ',' '\n' | awk -v ORS='' '/^\s'"$prefix"'/{print$0}' | sed -e 's/([^()]*)//g' | sort | uniq | xargs echo -n
|
||||
list_deps="$(grep "${package#*-}" "${script_dir:?}"/../lists/linux-deps | cut -d '=' -f 2 | grep -Eo "$prefix.*")"
|
||||
package_deps="$(sed -e '/Package:\s'"$package$"'/,/^\s*$/!d' /tmp/Packages | grep -Eo "^Depends.*" | tr ',' '\n' | awk -v ORS='' '/^\s'"$prefix"'/{print$0}' | sed -e 's/([^()]*)//g' | sort | uniq | xargs echo -n)"
|
||||
deps=()
|
||||
[[ -n "${list_deps[*]}" ]] && deps+=("${list_deps[@]}")
|
||||
[[ -n "${package_deps[*]}" ]] && deps+=("${package_deps[@]}")
|
||||
echo "${deps[@]}"
|
||||
}
|
||||
|
||||
get_package_link() {
|
||||
@@ -58,7 +63,7 @@ setup_extensions() {
|
||||
filter_libraries() {
|
||||
libraries="$(echo "$1" | xargs -n1 | sort | uniq | xargs)"
|
||||
for library in $libraries; do
|
||||
if grep -i -q -w "$library" "${script_dir:?}"/../lists/"$DISTRIB_CODENAME"-libs; then
|
||||
if grep -i -q -w "$library" "${script_dir:?}"/../lists/"$VERSION_CODENAME"-libs; then
|
||||
libraries=${libraries//$library/}
|
||||
fi
|
||||
done
|
||||
@@ -88,20 +93,26 @@ setup_dependencies() {
|
||||
extension_dir=$2
|
||||
[[ -z "${extensions// }" ]] && return
|
||||
IFS=' ' read -r -a extensions_array <<<"$(echo "$extensions" | sed -e "s/pdo[_-]//g" -Ee "s/^|,\s*/ php$version-/g")"
|
||||
. /etc/lsb-release
|
||||
. /etc/os-release
|
||||
sudo rm -rf "${ext_config_directory:?}" || true
|
||||
libraries=""
|
||||
extension_packages=""
|
||||
for extension_package in "${extensions_array[@]}"; do
|
||||
[[ ! "$extension_package" =~ php[0-9]+\.[0-9]+-[a-zA-Z0-9]+$ ]] && continue
|
||||
fetch_package
|
||||
libraries="$libraries $(get_dependencies "$extension_package" "lib")"
|
||||
extension_packages="$extension_packages $(get_dependencies "$extension_package" "php$version-")"
|
||||
IFS=' ' read -r -a dependency_extension_packages_array <<<"$(get_dependencies "$extension_package" "php$version-")"
|
||||
extension_packages="$extension_packages ${dependency_extension_packages_array[*]}"
|
||||
extension_packages="${extension_packages//php$version-common/}"
|
||||
for dependency_extension in "${dependency_extension_packages_array[@]}"; do
|
||||
mkdir -p "$ext_config_directory/${extension_package#*-}"
|
||||
add_config "${extension_package#*-}" "$dependency_extension"
|
||||
done
|
||||
done
|
||||
if [[ -n "${libraries// /}" ]]; then
|
||||
setup_libraries "$libraries"
|
||||
fi
|
||||
if [[ -n "${extension_packages// /}" ]]; then
|
||||
if [[ -n "${extension_packages// /}" ]] && [ "${skip_dependency_extensions:=}" != "true" ]; then
|
||||
setup_extensions "$extension_dir" "${extension_packages//php$version-/}"
|
||||
fi
|
||||
}
|
||||
|
||||
62
src/utils.ts
62
src/utils.ts
@@ -1,75 +1,17 @@
|
||||
import * as fs from 'fs';
|
||||
import * as path from 'path';
|
||||
import * as core from '@actions/core';
|
||||
|
||||
/**
|
||||
* Function to read environment variable and return a string value.
|
||||
*
|
||||
* @param property
|
||||
*/
|
||||
export async function readEnv(property: string): Promise<string> {
|
||||
const value = process.env[property];
|
||||
switch (value) {
|
||||
case undefined:
|
||||
return '';
|
||||
default:
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to get inputs from both with and env annotations.
|
||||
*
|
||||
* @param name
|
||||
* @param mandatory
|
||||
*/
|
||||
export async function getInput(
|
||||
name: string,
|
||||
mandatory: boolean
|
||||
): Promise<string> {
|
||||
const input = core.getInput(name);
|
||||
const env_input = await readEnv(name);
|
||||
switch (true) {
|
||||
case input != '':
|
||||
return input;
|
||||
case input == '' && env_input != '':
|
||||
return env_input;
|
||||
case input == '' && env_input == '' && mandatory:
|
||||
throw new Error(`Input required and not supplied: ${name}`);
|
||||
default:
|
||||
return '';
|
||||
}
|
||||
}
|
||||
import * as spu from 'setup-php/lib/utils';
|
||||
|
||||
/**
|
||||
* Function to get outputs
|
||||
*/
|
||||
export async function getOutput(output: string): Promise<string> {
|
||||
return fs.readFileSync(
|
||||
path.join(await readEnv('RUNNER_TEMP'), output),
|
||||
path.join(await spu.readEnv('RUNNER_TEMP'), output),
|
||||
'utf8'
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to parse PHP version.
|
||||
*
|
||||
* @param version
|
||||
*/
|
||||
export async function parseVersion(version: string): Promise<string> {
|
||||
switch (version) {
|
||||
case 'latest':
|
||||
return '7.4';
|
||||
default:
|
||||
switch (true) {
|
||||
case version.length > 1:
|
||||
return version.slice(0, 3);
|
||||
default:
|
||||
return version + '.0';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to filter extensions
|
||||
*
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"declaration": true,
|
||||
"esModuleInterop": true,
|
||||
"lib": [
|
||||
"ESNext"
|
||||
|
||||
Reference in New Issue
Block a user