mirror of
https://gitea.com/actions/setup-deno.git
synced 2025-12-10 10:26:45 +00:00
feat: add built-in caching via inputs (#89)
This commit is contained in:
committed by
GitHub
parent
a1496dd8d9
commit
fd6b0ad149
35
.github/workflows/test.yml
vendored
35
.github/workflows/test.yml
vendored
@@ -80,6 +80,41 @@ jobs:
|
||||
- name: Check binary exists
|
||||
run: deno_foo -V
|
||||
|
||||
test-setup-cache:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest, windows-latest, macos-latest]
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Deno
|
||||
uses: ./
|
||||
with:
|
||||
cache: true
|
||||
cache-hash: ${{ hashFiles('**/deno.lock') }}
|
||||
|
||||
- name: Download dependencies for cache
|
||||
run: deno install --global --no-config npm:cowsay@1.6.0
|
||||
|
||||
test-cache:
|
||||
needs: test-setup-cache
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest, windows-latest, macos-latest]
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Deno
|
||||
uses: ./
|
||||
with:
|
||||
cache: true
|
||||
cache-hash: ${{ hashFiles('**/deno.lock') }}
|
||||
|
||||
- name: Run with cached dependencies
|
||||
run: deno run --cached-only --no-config -RE npm:cowsay@1.6.0 "It works!"
|
||||
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
20
README.md
20
README.md
@@ -141,3 +141,23 @@ number.
|
||||
|
||||
- run: echo "Deno version is ${{ steps.deno.outputs.deno-version }}"
|
||||
```
|
||||
|
||||
### Caching dependencies downloaded by Deno automatically
|
||||
|
||||
Dependencies installed by Deno can be cached automatically, which is similar to
|
||||
the [`cache` option in `setup-node`](https://github.com/actions/setup-node).
|
||||
|
||||
To enable the cache, use `cache: true`. It's recommended to also add the
|
||||
`cache-hash` property, to scope caches based on lockfile changes.
|
||||
|
||||
```yaml
|
||||
- uses: denoland/setup-deno@v2
|
||||
with:
|
||||
cache: true
|
||||
cache-hash: ${{ hashFiles('**/deno.lock') }}
|
||||
```
|
||||
|
||||
> [!WARNING]
|
||||
> If an environment variable `DENO_DIR` is set for steps that run/download
|
||||
> dependencies, then `DENO_DIR` must also be set for the `denoland/setup-deno`
|
||||
> action, for the caching to work as intended.
|
||||
|
||||
@@ -13,7 +13,14 @@ inputs:
|
||||
deno-binary-name:
|
||||
description: The name to use for the binary.
|
||||
default: "deno"
|
||||
cache:
|
||||
description: Cache downloaded modules & packages automatically in GitHub Actions cache.
|
||||
default: "false"
|
||||
cache-hash:
|
||||
description: A hash used as part of the cache key. Use e.g. `$\{{ hashFiles('**/deno.lock') }}` to cache based on the lockfile contents.
|
||||
outputs:
|
||||
cache-hit:
|
||||
description: A boolean indicating whether the cache was hit.
|
||||
deno-version:
|
||||
description: "The Deno version that was installed."
|
||||
release-channel:
|
||||
@@ -21,3 +28,5 @@ outputs:
|
||||
runs:
|
||||
using: "node20"
|
||||
main: "dist/main.mjs"
|
||||
post: "dist/post.mjs"
|
||||
post-if: always()
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
"build": "deno run -A scripts/build.ts"
|
||||
},
|
||||
"imports": {
|
||||
"@actions/cache": "npm:@actions/cache@^4.0.3",
|
||||
"@actions/core": "npm:@actions/core@^1.11.1",
|
||||
"@actions/tool-cache": "npm:@actions/tool-cache@^2.0.2",
|
||||
"@types/node": "npm:@types/node@^22.15.0",
|
||||
|
||||
414
deno.lock
generated
414
deno.lock
generated
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"version": "5",
|
||||
"specifiers": {
|
||||
"npm:@actions/cache@^4.0.3": "4.0.3",
|
||||
"npm:@actions/core@^1.11.1": "1.11.1",
|
||||
"npm:@actions/tool-cache@^2.0.2": "2.0.2",
|
||||
"npm:@types/node@*": "22.15.15",
|
||||
@@ -11,6 +12,21 @@
|
||||
"npm:undici@^7.8.0": "7.9.0"
|
||||
},
|
||||
"npm": {
|
||||
"@actions/cache@4.0.3": {
|
||||
"integrity": "sha512-SvrqFtYJ7I48A/uXNkoJrnukx5weQv1fGquhs3+4nkByZThBH109KTIqj5x/cGV7JGNvb8dLPVywUOqX1fjiXg==",
|
||||
"dependencies": [
|
||||
"@actions/core",
|
||||
"@actions/exec",
|
||||
"@actions/glob",
|
||||
"@actions/http-client",
|
||||
"@actions/io",
|
||||
"@azure/abort-controller@1.1.0",
|
||||
"@azure/ms-rest-js",
|
||||
"@azure/storage-blob",
|
||||
"@protobuf-ts/plugin",
|
||||
"semver@6.3.1"
|
||||
]
|
||||
},
|
||||
"@actions/core@1.11.1": {
|
||||
"integrity": "sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A==",
|
||||
"dependencies": [
|
||||
@@ -24,6 +40,13 @@
|
||||
"@actions/io"
|
||||
]
|
||||
},
|
||||
"@actions/glob@0.1.2": {
|
||||
"integrity": "sha512-SclLR7Ia5sEqjkJTPs7Sd86maMDw43p769YxBOxvPvEWuPEhpAnBsQfENOpXjFYMmhCqd127bmf+YdvJqVqR4A==",
|
||||
"dependencies": [
|
||||
"@actions/core",
|
||||
"minimatch"
|
||||
]
|
||||
},
|
||||
"@actions/http-client@2.2.3": {
|
||||
"integrity": "sha512-mx8hyJi/hjFvbPokCg4uRd4ZX78t+YyRPtnKWwIl+RzNaVuFpQHfmlGVfsKEJN8LwTCvL+DfVgAM04XaHkm6bA==",
|
||||
"dependencies": [
|
||||
@@ -44,6 +67,132 @@
|
||||
"semver@6.3.1"
|
||||
]
|
||||
},
|
||||
"@azure/abort-controller@1.1.0": {
|
||||
"integrity": "sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==",
|
||||
"dependencies": [
|
||||
"tslib@2.8.1"
|
||||
]
|
||||
},
|
||||
"@azure/abort-controller@2.1.2": {
|
||||
"integrity": "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==",
|
||||
"dependencies": [
|
||||
"tslib@2.8.1"
|
||||
]
|
||||
},
|
||||
"@azure/core-auth@1.9.0": {
|
||||
"integrity": "sha512-FPwHpZywuyasDSLMqJ6fhbOK3TqUdviZNF8OqRGA4W5Ewib2lEEZ+pBsYcBa88B2NGO/SEnYPGhyBqNlE8ilSw==",
|
||||
"dependencies": [
|
||||
"@azure/abort-controller@2.1.2",
|
||||
"@azure/core-util",
|
||||
"tslib@2.8.1"
|
||||
]
|
||||
},
|
||||
"@azure/core-client@1.9.4": {
|
||||
"integrity": "sha512-f7IxTD15Qdux30s2qFARH+JxgwxWLG2Rlr4oSkPGuLWm+1p5y1+C04XGLA0vmX6EtqfutmjvpNmAfgwVIS5hpw==",
|
||||
"dependencies": [
|
||||
"@azure/abort-controller@2.1.2",
|
||||
"@azure/core-auth",
|
||||
"@azure/core-rest-pipeline",
|
||||
"@azure/core-tracing",
|
||||
"@azure/core-util",
|
||||
"@azure/logger",
|
||||
"tslib@2.8.1"
|
||||
]
|
||||
},
|
||||
"@azure/core-http-compat@2.3.0": {
|
||||
"integrity": "sha512-qLQujmUypBBG0gxHd0j6/Jdmul6ttl24c8WGiLXIk7IHXdBlfoBqW27hyz3Xn6xbfdyVSarl1Ttbk0AwnZBYCw==",
|
||||
"dependencies": [
|
||||
"@azure/abort-controller@2.1.2",
|
||||
"@azure/core-client",
|
||||
"@azure/core-rest-pipeline"
|
||||
]
|
||||
},
|
||||
"@azure/core-lro@2.7.2": {
|
||||
"integrity": "sha512-0YIpccoX8m/k00O7mDDMdJpbr6mf1yWo2dfmxt5A8XVZVVMz2SSKaEbMCeJRvgQ0IaSlqhjT47p4hVIRRy90xw==",
|
||||
"dependencies": [
|
||||
"@azure/abort-controller@2.1.2",
|
||||
"@azure/core-util",
|
||||
"@azure/logger",
|
||||
"tslib@2.8.1"
|
||||
]
|
||||
},
|
||||
"@azure/core-paging@1.6.2": {
|
||||
"integrity": "sha512-YKWi9YuCU04B55h25cnOYZHxXYtEvQEbKST5vqRga7hWY9ydd3FZHdeQF8pyh+acWZvppw13M/LMGx0LABUVMA==",
|
||||
"dependencies": [
|
||||
"tslib@2.8.1"
|
||||
]
|
||||
},
|
||||
"@azure/core-rest-pipeline@1.20.0": {
|
||||
"integrity": "sha512-ASoP8uqZBS3H/8N8at/XwFr6vYrRP3syTK0EUjDXQy0Y1/AUS+QeIRThKmTNJO2RggvBBxaXDPM7YoIwDGeA0g==",
|
||||
"dependencies": [
|
||||
"@azure/abort-controller@2.1.2",
|
||||
"@azure/core-auth",
|
||||
"@azure/core-tracing",
|
||||
"@azure/core-util",
|
||||
"@azure/logger",
|
||||
"@typespec/ts-http-runtime",
|
||||
"tslib@2.8.1"
|
||||
]
|
||||
},
|
||||
"@azure/core-tracing@1.2.0": {
|
||||
"integrity": "sha512-UKTiEJPkWcESPYJz3X5uKRYyOcJD+4nYph+KpfdPRnQJVrZfk0KJgdnaAWKfhsBBtAf/D58Az4AvCJEmWgIBAg==",
|
||||
"dependencies": [
|
||||
"tslib@2.8.1"
|
||||
]
|
||||
},
|
||||
"@azure/core-util@1.12.0": {
|
||||
"integrity": "sha512-13IyjTQgABPARvG90+N2dXpC+hwp466XCdQXPCRlbWHgd3SJd5Q1VvaBGv6k1BIa4MQm6hAF1UBU1m8QUxV8sQ==",
|
||||
"dependencies": [
|
||||
"@azure/abort-controller@2.1.2",
|
||||
"@typespec/ts-http-runtime",
|
||||
"tslib@2.8.1"
|
||||
]
|
||||
},
|
||||
"@azure/core-xml@1.4.5": {
|
||||
"integrity": "sha512-gT4H8mTaSXRz7eGTuQyq1aIJnJqeXzpOe9Ay7Z3FrCouer14CbV3VzjnJrNrQfbBpGBLO9oy8BmrY75A0p53cA==",
|
||||
"dependencies": [
|
||||
"fast-xml-parser",
|
||||
"tslib@2.8.1"
|
||||
]
|
||||
},
|
||||
"@azure/logger@1.2.0": {
|
||||
"integrity": "sha512-0hKEzLhpw+ZTAfNJyRrn6s+V0nDWzXk9OjBr2TiGIu0OfMr5s2V4FpKLTAK3Ca5r5OKLbf4hkOGDPyiRjie/jA==",
|
||||
"dependencies": [
|
||||
"@typespec/ts-http-runtime",
|
||||
"tslib@2.8.1"
|
||||
]
|
||||
},
|
||||
"@azure/ms-rest-js@2.7.0": {
|
||||
"integrity": "sha512-ngbzWbqF+NmztDOpLBVDxYM+XLcUj7nKhxGbSU9WtIsXfRB//cf2ZbAG5HkOrhU9/wd/ORRB6lM/d69RKVjiyA==",
|
||||
"dependencies": [
|
||||
"@azure/core-auth",
|
||||
"abort-controller",
|
||||
"form-data",
|
||||
"node-fetch",
|
||||
"tslib@1.14.1",
|
||||
"tunnel",
|
||||
"uuid",
|
||||
"xml2js"
|
||||
]
|
||||
},
|
||||
"@azure/storage-blob@12.27.0": {
|
||||
"integrity": "sha512-IQjj9RIzAKatmNca3D6bT0qJ+Pkox1WZGOg2esJF2YLHb45pQKOwGPIAV+w3rfgkj7zV3RMxpn/c6iftzSOZJQ==",
|
||||
"dependencies": [
|
||||
"@azure/abort-controller@2.1.2",
|
||||
"@azure/core-auth",
|
||||
"@azure/core-client",
|
||||
"@azure/core-http-compat",
|
||||
"@azure/core-lro",
|
||||
"@azure/core-paging",
|
||||
"@azure/core-rest-pipeline",
|
||||
"@azure/core-tracing",
|
||||
"@azure/core-util",
|
||||
"@azure/core-xml",
|
||||
"@azure/logger",
|
||||
"events",
|
||||
"tslib@2.8.1"
|
||||
]
|
||||
},
|
||||
"@babel/generator@7.27.1": {
|
||||
"integrity": "sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w==",
|
||||
"dependencies": [
|
||||
@@ -78,19 +227,19 @@
|
||||
"integrity": "sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g==",
|
||||
"dependencies": [
|
||||
"@emnapi/wasi-threads",
|
||||
"tslib"
|
||||
"tslib@2.8.1"
|
||||
]
|
||||
},
|
||||
"@emnapi/runtime@1.4.3": {
|
||||
"integrity": "sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==",
|
||||
"dependencies": [
|
||||
"tslib"
|
||||
"tslib@2.8.1"
|
||||
]
|
||||
},
|
||||
"@emnapi/wasi-threads@1.0.2": {
|
||||
"integrity": "sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==",
|
||||
"dependencies": [
|
||||
"tslib"
|
||||
"tslib@2.8.1"
|
||||
]
|
||||
},
|
||||
"@fastify/busboy@2.1.1": {
|
||||
@@ -250,6 +399,37 @@
|
||||
"os": ["win32"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@protobuf-ts/plugin-framework@2.10.0": {
|
||||
"integrity": "sha512-EuW9irbt+w7Ml1CaAxK6xyl7pSuWVbNy0rsChxJEthMrAVTN5EPdJ3whNWvsRBa+HwRImEl8KHNnRoq/vGOHbg==",
|
||||
"dependencies": [
|
||||
"@protobuf-ts/runtime",
|
||||
"typescript"
|
||||
]
|
||||
},
|
||||
"@protobuf-ts/plugin@2.10.0": {
|
||||
"integrity": "sha512-iMX4C4TVfMNRLn2msK0cVg5jmizjtu5FYiy8EK5Lg6EgyR9TVHeK2rzmufWKYM2Pcg1jSwC0cFcXHQnCoeFxUg==",
|
||||
"dependencies": [
|
||||
"@protobuf-ts/plugin-framework",
|
||||
"@protobuf-ts/protoc",
|
||||
"@protobuf-ts/runtime",
|
||||
"@protobuf-ts/runtime-rpc",
|
||||
"typescript"
|
||||
],
|
||||
"bin": true
|
||||
},
|
||||
"@protobuf-ts/protoc@2.10.0": {
|
||||
"integrity": "sha512-S4BtGBh22+uL5E6qLVxV0QNY6tiLVB8QL7RIkvo+KYknipZfSNwubdKy5CPkrwVXzJn4s3cx7bKx1w6BxkBIPg==",
|
||||
"bin": true
|
||||
},
|
||||
"@protobuf-ts/runtime-rpc@2.10.0": {
|
||||
"integrity": "sha512-8CS/XPv3+pMK4v8UKhtCdvbS4h9l7aqlteKdRt0/UbIKZ8n0qHj6hX8cBhz2ngvohxCOS0N08zPr9aCLBNhW3Q==",
|
||||
"dependencies": [
|
||||
"@protobuf-ts/runtime"
|
||||
]
|
||||
},
|
||||
"@protobuf-ts/runtime@2.10.0": {
|
||||
"integrity": "sha512-ypYwGg9Pn3W/2lZ7/HW60hONGuSdzphvOY8Dq7LeNttymDe0y3LaTUUMRpuGqOT6FfrWEMnfQbyqU8AAreo8wA=="
|
||||
},
|
||||
"@quansync/fs@0.1.3": {
|
||||
"integrity": "sha512-G0OnZbMWEs5LhDyqy2UL17vGhSVHkQIfVojMtEWVenvj0V5S84VBgy86kJIuNsGDp2p7sTKlpSIpBUWdC35OKg==",
|
||||
"dependencies": [
|
||||
@@ -321,7 +501,7 @@
|
||||
"@tybys/wasm-util@0.9.0": {
|
||||
"integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==",
|
||||
"dependencies": [
|
||||
"tslib"
|
||||
"tslib@2.8.1"
|
||||
]
|
||||
},
|
||||
"@types/node@22.15.15": {
|
||||
@@ -339,16 +519,33 @@
|
||||
"@types/semver@7.7.0": {
|
||||
"integrity": "sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA=="
|
||||
},
|
||||
"@typespec/ts-http-runtime@0.2.2": {
|
||||
"integrity": "sha512-Gz/Sm64+Sq/vklJu1tt9t+4R2lvnud8NbTD/ZfpZtMiUX7YeVpCA8j6NSW8ptwcoLL+NmYANwqP8DV0q/bwl2w==",
|
||||
"dependencies": [
|
||||
"http-proxy-agent",
|
||||
"https-proxy-agent",
|
||||
"tslib@2.8.1"
|
||||
]
|
||||
},
|
||||
"@valibot/to-json-schema@1.0.0_valibot@1.0.0": {
|
||||
"integrity": "sha512-/9crJgPptVsGCL6X+JPDQyaJwkalSZ/52WuF8DiRUxJgcmpNdzYRfZ+gqMEP8W3CTVfuMWPqqvIgfwJ97f9Etw==",
|
||||
"dependencies": [
|
||||
"valibot"
|
||||
]
|
||||
},
|
||||
"abort-controller@3.0.0": {
|
||||
"integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
|
||||
"dependencies": [
|
||||
"event-target-shim"
|
||||
]
|
||||
},
|
||||
"acorn@8.14.1": {
|
||||
"integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==",
|
||||
"bin": true
|
||||
},
|
||||
"agent-base@7.1.3": {
|
||||
"integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw=="
|
||||
},
|
||||
"ansis@3.17.0": {
|
||||
"integrity": "sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg=="
|
||||
},
|
||||
@@ -359,15 +556,44 @@
|
||||
"pathe"
|
||||
]
|
||||
},
|
||||
"asynckit@0.4.0": {
|
||||
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
|
||||
},
|
||||
"balanced-match@1.0.2": {
|
||||
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
|
||||
},
|
||||
"brace-expansion@1.1.11": {
|
||||
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||
"dependencies": [
|
||||
"balanced-match",
|
||||
"concat-map"
|
||||
]
|
||||
},
|
||||
"cac@6.7.14": {
|
||||
"integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ=="
|
||||
},
|
||||
"call-bind-apply-helpers@1.0.2": {
|
||||
"integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
|
||||
"dependencies": [
|
||||
"es-errors",
|
||||
"function-bind"
|
||||
]
|
||||
},
|
||||
"chokidar@4.0.3": {
|
||||
"integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
|
||||
"dependencies": [
|
||||
"readdirp"
|
||||
]
|
||||
},
|
||||
"combined-stream@1.0.8": {
|
||||
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
||||
"dependencies": [
|
||||
"delayed-stream"
|
||||
]
|
||||
},
|
||||
"concat-map@0.0.1": {
|
||||
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
|
||||
},
|
||||
"consola@3.4.2": {
|
||||
"integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA=="
|
||||
},
|
||||
@@ -380,6 +606,9 @@
|
||||
"defu@6.1.4": {
|
||||
"integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg=="
|
||||
},
|
||||
"delayed-stream@1.0.0": {
|
||||
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
|
||||
},
|
||||
"detect-libc@2.0.4": {
|
||||
"integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA=="
|
||||
},
|
||||
@@ -393,9 +622,51 @@
|
||||
"pathe"
|
||||
]
|
||||
},
|
||||
"dunder-proto@1.0.1": {
|
||||
"integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
|
||||
"dependencies": [
|
||||
"call-bind-apply-helpers",
|
||||
"es-errors",
|
||||
"gopd"
|
||||
]
|
||||
},
|
||||
"empathic@1.1.0": {
|
||||
"integrity": "sha512-rsPft6CK3eHtrlp9Y5ALBb+hfK+DWnA4WFebbazxjWyx8vSm3rZeoM3z9irsjcqO3PYRzlfv27XIB4tz2DV7RA=="
|
||||
},
|
||||
"es-define-property@1.0.1": {
|
||||
"integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="
|
||||
},
|
||||
"es-errors@1.3.0": {
|
||||
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="
|
||||
},
|
||||
"es-object-atoms@1.1.1": {
|
||||
"integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
|
||||
"dependencies": [
|
||||
"es-errors"
|
||||
]
|
||||
},
|
||||
"es-set-tostringtag@2.1.0": {
|
||||
"integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
|
||||
"dependencies": [
|
||||
"es-errors",
|
||||
"get-intrinsic",
|
||||
"has-tostringtag",
|
||||
"hasown"
|
||||
]
|
||||
},
|
||||
"event-target-shim@5.0.1": {
|
||||
"integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ=="
|
||||
},
|
||||
"events@3.3.0": {
|
||||
"integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q=="
|
||||
},
|
||||
"fast-xml-parser@5.2.3": {
|
||||
"integrity": "sha512-OdCYfRqfpuLUFonTNjvd30rCBZUneHpSQkCqfaeWQ9qrKcl6XlWeDBNVwGb+INAIxRshuN2jF+BE0L6gbBO2mw==",
|
||||
"dependencies": [
|
||||
"strnum"
|
||||
],
|
||||
"bin": true
|
||||
},
|
||||
"fdir@6.4.4_picomatch@4.0.2": {
|
||||
"integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==",
|
||||
"dependencies": [
|
||||
@@ -405,15 +676,82 @@
|
||||
"picomatch"
|
||||
]
|
||||
},
|
||||
"form-data@2.5.3": {
|
||||
"integrity": "sha512-XHIrMD0NpDrNM/Ckf7XJiBbLl57KEhT3+i3yY+eWm+cqYZJQTZrKo8Y8AWKnuV5GT4scfuUGt9LzNoIx3dU1nQ==",
|
||||
"dependencies": [
|
||||
"asynckit",
|
||||
"combined-stream",
|
||||
"es-set-tostringtag",
|
||||
"mime-types",
|
||||
"safe-buffer"
|
||||
]
|
||||
},
|
||||
"function-bind@1.1.2": {
|
||||
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="
|
||||
},
|
||||
"get-intrinsic@1.3.0": {
|
||||
"integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
|
||||
"dependencies": [
|
||||
"call-bind-apply-helpers",
|
||||
"es-define-property",
|
||||
"es-errors",
|
||||
"es-object-atoms",
|
||||
"function-bind",
|
||||
"get-proto",
|
||||
"gopd",
|
||||
"has-symbols",
|
||||
"hasown",
|
||||
"math-intrinsics"
|
||||
]
|
||||
},
|
||||
"get-proto@1.0.1": {
|
||||
"integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
|
||||
"dependencies": [
|
||||
"dunder-proto",
|
||||
"es-object-atoms"
|
||||
]
|
||||
},
|
||||
"get-tsconfig@4.10.0": {
|
||||
"integrity": "sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==",
|
||||
"dependencies": [
|
||||
"resolve-pkg-maps"
|
||||
]
|
||||
},
|
||||
"gopd@1.2.0": {
|
||||
"integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="
|
||||
},
|
||||
"has-symbols@1.1.0": {
|
||||
"integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="
|
||||
},
|
||||
"has-tostringtag@1.0.2": {
|
||||
"integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
|
||||
"dependencies": [
|
||||
"has-symbols"
|
||||
]
|
||||
},
|
||||
"hasown@2.0.2": {
|
||||
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
|
||||
"dependencies": [
|
||||
"function-bind"
|
||||
]
|
||||
},
|
||||
"hookable@5.5.3": {
|
||||
"integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ=="
|
||||
},
|
||||
"http-proxy-agent@7.0.2": {
|
||||
"integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
|
||||
"dependencies": [
|
||||
"agent-base",
|
||||
"debug"
|
||||
]
|
||||
},
|
||||
"https-proxy-agent@7.0.6": {
|
||||
"integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
|
||||
"dependencies": [
|
||||
"agent-base",
|
||||
"debug"
|
||||
]
|
||||
},
|
||||
"jiti@2.4.2": {
|
||||
"integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==",
|
||||
"bin": true
|
||||
@@ -496,9 +834,33 @@
|
||||
"@jridgewell/sourcemap-codec"
|
||||
]
|
||||
},
|
||||
"math-intrinsics@1.1.0": {
|
||||
"integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="
|
||||
},
|
||||
"mime-db@1.52.0": {
|
||||
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
|
||||
},
|
||||
"mime-types@2.1.35": {
|
||||
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
||||
"dependencies": [
|
||||
"mime-db"
|
||||
]
|
||||
},
|
||||
"minimatch@3.1.2": {
|
||||
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
|
||||
"dependencies": [
|
||||
"brace-expansion"
|
||||
]
|
||||
},
|
||||
"ms@2.1.3": {
|
||||
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
|
||||
},
|
||||
"node-fetch@2.7.0": {
|
||||
"integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
|
||||
"dependencies": [
|
||||
"whatwg-url"
|
||||
]
|
||||
},
|
||||
"oxc-resolver@9.0.2": {
|
||||
"integrity": "sha512-w838ygc1p7rF+7+h5vR9A+Y9Fc4imy6C3xPthCMkdFUgFvUWkmABeNB8RBDQ6+afk44Q60/UMMQ+gfDUW99fBA==",
|
||||
"optionalDependencies": [
|
||||
@@ -585,6 +947,12 @@
|
||||
],
|
||||
"bin": true
|
||||
},
|
||||
"safe-buffer@5.2.1": {
|
||||
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
|
||||
},
|
||||
"sax@1.4.1": {
|
||||
"integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg=="
|
||||
},
|
||||
"semver@6.3.1": {
|
||||
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
|
||||
"bin": true
|
||||
@@ -593,6 +961,9 @@
|
||||
"integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==",
|
||||
"bin": true
|
||||
},
|
||||
"strnum@2.1.0": {
|
||||
"integrity": "sha512-w0S//9BqZZGw0L0Y8uLSelFGnDJgTyyNQLmSlPnVz43zPAiqu3w4t8J8sDqqANOGeZIZ/9jWuPguYcEnsoHv4A=="
|
||||
},
|
||||
"tinyexec@1.0.1": {
|
||||
"integrity": "sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw=="
|
||||
},
|
||||
@@ -603,6 +974,9 @@
|
||||
"picomatch"
|
||||
]
|
||||
},
|
||||
"tr46@0.0.3": {
|
||||
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
|
||||
},
|
||||
"tsdown@0.10.1_rolldown@1.0.0-beta.8-commit.852c603__valibot@1.0.0": {
|
||||
"integrity": "sha512-NT1XSUDweBpgpiZb3Upfy3DBwAbn8W0aXo3Ecp4kHozTLewWa0UkWUP6nRTvSj2c0NcD/BLLuf0HthqMpbEdkA==",
|
||||
"dependencies": [
|
||||
@@ -624,12 +998,19 @@
|
||||
],
|
||||
"bin": true
|
||||
},
|
||||
"tslib@1.14.1": {
|
||||
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
|
||||
},
|
||||
"tslib@2.8.1": {
|
||||
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="
|
||||
},
|
||||
"tunnel@0.0.6": {
|
||||
"integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg=="
|
||||
},
|
||||
"typescript@3.9.10": {
|
||||
"integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==",
|
||||
"bin": true
|
||||
},
|
||||
"unconfig@7.3.2": {
|
||||
"integrity": "sha512-nqG5NNL2wFVGZ0NA/aCFw0oJ2pxSf1lwg4Z5ill8wd7K4KX/rQbHlwbh+bjctXL5Ly1xtzHenHGOK0b+lG6JVg==",
|
||||
"dependencies": [
|
||||
@@ -667,15 +1048,40 @@
|
||||
"webpack-virtual-modules"
|
||||
]
|
||||
},
|
||||
"uuid@8.3.2": {
|
||||
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
|
||||
"bin": true
|
||||
},
|
||||
"valibot@1.0.0": {
|
||||
"integrity": "sha512-1Hc0ihzWxBar6NGeZv7fPLY0QuxFMyxwYR2sF1Blu7Wq7EnremwY2W02tit2ij2VJT8HcSkHAQqmFfl77f73Yw=="
|
||||
},
|
||||
"webidl-conversions@3.0.1": {
|
||||
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
|
||||
},
|
||||
"webpack-virtual-modules@0.6.2": {
|
||||
"integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ=="
|
||||
},
|
||||
"whatwg-url@5.0.0": {
|
||||
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
|
||||
"dependencies": [
|
||||
"tr46",
|
||||
"webidl-conversions"
|
||||
]
|
||||
},
|
||||
"xml2js@0.5.0": {
|
||||
"integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==",
|
||||
"dependencies": [
|
||||
"sax",
|
||||
"xmlbuilder"
|
||||
]
|
||||
},
|
||||
"xmlbuilder@11.0.1": {
|
||||
"integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA=="
|
||||
}
|
||||
},
|
||||
"workspace": {
|
||||
"dependencies": [
|
||||
"npm:@actions/cache@^4.0.3",
|
||||
"npm:@actions/core@^1.11.1",
|
||||
"npm:@actions/tool-cache@^2.0.2",
|
||||
"npm:@types/node@^22.15.0",
|
||||
|
||||
4
dist/cache-ByPW8-iO.mjs
vendored
Normal file
4
dist/cache-ByPW8-iO.mjs
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
import "./semver-DmxAwBYV.mjs";
|
||||
import { restoreCache, saveCache } from "./cache-DzONlZ-I.mjs";
|
||||
|
||||
export { restoreCache };
|
||||
43177
dist/cache-DzONlZ-I.mjs
vendored
Normal file
43177
dist/cache-DzONlZ-I.mjs
vendored
Normal file
File diff suppressed because it is too large
Load Diff
20931
dist/main.mjs
vendored
20931
dist/main.mjs
vendored
File diff suppressed because one or more lines are too long
16
dist/post.mjs
vendored
Normal file
16
dist/post.mjs
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
import { import_core } from "./semver-DmxAwBYV.mjs";
|
||||
import { saveCache } from "./cache-DzONlZ-I.mjs";
|
||||
import process from "node:process";
|
||||
|
||||
//#region src/post.ts
|
||||
async function main() {
|
||||
try {
|
||||
await saveCache();
|
||||
} catch (err) {
|
||||
import_core.setFailed(err instanceof Error ? err : String(err));
|
||||
process.exit();
|
||||
}
|
||||
}
|
||||
main();
|
||||
|
||||
//#endregion
|
||||
17978
dist/semver-DmxAwBYV.mjs
vendored
Normal file
17978
dist/semver-DmxAwBYV.mjs
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -9,9 +9,16 @@ await new Deno.Command(Deno.execPath(), {
|
||||
stderr: "inherit",
|
||||
}).output();
|
||||
|
||||
try {
|
||||
Deno.removeSync(join(import.meta.dirname!, "../dist"), { recursive: true });
|
||||
} catch {
|
||||
// ignore
|
||||
}
|
||||
|
||||
await build({
|
||||
entry: {
|
||||
main: "src/main.ts",
|
||||
post: "src/post.ts",
|
||||
},
|
||||
target: "node20.19",
|
||||
platform: "node",
|
||||
|
||||
81
src/cache.ts
Normal file
81
src/cache.ts
Normal file
@@ -0,0 +1,81 @@
|
||||
import process from "node:process";
|
||||
import cache from "@actions/cache";
|
||||
import core from "@actions/core";
|
||||
|
||||
const state = {
|
||||
DENO_DIR: "DENO_DIR",
|
||||
CACHE_HIT: "CACHE_HIT",
|
||||
CACHE_SAVE: "CACHE_SAVE",
|
||||
} as const;
|
||||
|
||||
export async function saveCache() {
|
||||
if (!cache.isFeatureAvailable()) {
|
||||
core.warning("Caching is not available. Caching is skipped.");
|
||||
return;
|
||||
}
|
||||
|
||||
const denoDir = core.getState(state.DENO_DIR);
|
||||
const saveKey = core.getState(state.CACHE_SAVE);
|
||||
if (!denoDir || !saveKey) {
|
||||
core.info("Caching is not enabled. Caching is skipped.");
|
||||
return;
|
||||
} else if (core.getState(state.CACHE_HIT) === "true") {
|
||||
core.info(
|
||||
`Cache hit occurred on the primary key "${saveKey}", not saving cache.`,
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
await cache.saveCache([denoDir], saveKey);
|
||||
core.info(`Cache saved with key: "${saveKey}".`);
|
||||
}
|
||||
|
||||
export async function restoreCache(cacheHash: string) {
|
||||
try {
|
||||
const denoDir = await resolveDenoDir();
|
||||
core.saveState(state.DENO_DIR, denoDir);
|
||||
|
||||
const { GITHUB_JOB, RUNNER_OS, RUNNER_ARCH } = process.env;
|
||||
const restoreKey = `deno-cache-${RUNNER_OS}-${RUNNER_ARCH}`;
|
||||
// CI jobs often download different dependencies, so include Job ID in the cache key.
|
||||
const primaryKey = `${restoreKey}-${GITHUB_JOB}-${cacheHash}`;
|
||||
core.saveState(state.CACHE_SAVE, primaryKey);
|
||||
|
||||
const loadedCacheKey = await cache.restoreCache([denoDir], primaryKey, [
|
||||
restoreKey,
|
||||
]);
|
||||
const cacheHit = primaryKey === loadedCacheKey;
|
||||
core.setOutput("cache-hit", cacheHit);
|
||||
core.saveState(state.CACHE_HIT, cacheHit);
|
||||
|
||||
const message = loadedCacheKey
|
||||
? `Cache key used: "${loadedCacheKey}".`
|
||||
: `No cache found for restore key: "${restoreKey}".`;
|
||||
core.info(message);
|
||||
} catch (err) {
|
||||
core.warning(
|
||||
new Error("Failed to restore cache. Continuing without cache.", {
|
||||
cause: err,
|
||||
}),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
async function resolveDenoDir(): Promise<string> {
|
||||
const { DENO_DIR } = process.env;
|
||||
if (DENO_DIR) return DENO_DIR;
|
||||
|
||||
// Retrieve the DENO_DIR from `deno info --json`
|
||||
const { exec } = await import("node:child_process");
|
||||
const output = await new Promise<string>((res, rej) => {
|
||||
exec("deno info --json", (err, stdout) => err ? rej(err) : res(stdout));
|
||||
});
|
||||
const info = JSON.parse(output);
|
||||
if (typeof info.denoDir !== "string") {
|
||||
throw new Error(
|
||||
"`deno info --json` output did not contain a denoDir property. " +
|
||||
"Maybe try updating this action or your Deno version if either are old.",
|
||||
);
|
||||
}
|
||||
return info.denoDir;
|
||||
}
|
||||
@@ -56,6 +56,11 @@ async function main() {
|
||||
core.setOutput("release-channel", version.kind);
|
||||
|
||||
core.info("Installation complete.");
|
||||
|
||||
if (core.getInput("cache") === "true") {
|
||||
const { restoreCache } = await import("./cache.ts");
|
||||
await restoreCache(core.getInput("cache-hash"));
|
||||
}
|
||||
} catch (err) {
|
||||
core.setFailed((err instanceof Error) ? err : String(err));
|
||||
process.exit();
|
||||
|
||||
14
src/post.ts
Normal file
14
src/post.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import process from "node:process";
|
||||
import core from "@actions/core";
|
||||
import { saveCache } from "./cache.ts";
|
||||
|
||||
async function main() {
|
||||
try {
|
||||
await saveCache();
|
||||
} catch (err) {
|
||||
core.setFailed((err instanceof Error) ? err : String(err));
|
||||
process.exit();
|
||||
}
|
||||
}
|
||||
|
||||
main();
|
||||
Reference in New Issue
Block a user