Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion packages/artifact/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ Interact programmatically with [Actions Artifacts](https://docs.github.com/en/ac

This is the core library that powers the [`@actions/upload-artifact`](https://github.com/actions/upload-artifact) and [`@actions/download-artifact`](https://github.com/actions/download-artifact) actions.


- [`@actions/artifact`](#actionsartifact)
- [v2 - What's New](#v2---whats-new)
- [Improvements](#improvements)
Expand Down
96 changes: 48 additions & 48 deletions packages/artifact/RELEASES.md
Original file line number Diff line number Diff line change
@@ -1,144 +1,144 @@
# @actions/artifact Releases

### 5.0.3
## 5.0.3

- Bump `@actions/http-client` to `3.0.2`

### 5.0.1
## 5.0.1

- Fix Node.js 24 punycode deprecation warning by updating `@azure/storage-blob` from `^12.15.0` to `^12.29.1` [#2211](https://github.com/actions/toolkit/pull/2211)
- Removed direct `@azure/core-http` dependency (now uses `@azure/core-rest-pipeline` via storage-blob)

### 5.0.0
## 5.0.0

- Dependency updates for Node.js 24 runtime support
- Update `@actions/core` to v2
- Update `@actions/http-client` to v3

### 4.0.0
## 4.0.0

- Add support for Node 24 [#2110](https://github.com/actions/toolkit/pull/2110)
- Fix: artifact pagination bugs and configurable artifact count limits [#2165](https://github.com/actions/toolkit/pull/2165)
- Fix: reject the promise on timeout [#2124](https://github.com/actions/toolkit/pull/2124)
- Update dependency versions

### 2.3.3
## 2.3.3

- Dependency updates [#2049](https://github.com/actions/toolkit/pull/2049)

### 2.3.2
## 2.3.2

- Added masking for Shared Access Signature (SAS) artifact URLs [#1982](https://github.com/actions/toolkit/pull/1982)
- Change hash to digest for consistent terminology across runner logs [#1991](https://github.com/actions/toolkit/pull/1991)
- Change hash to digest for consistent terminology across runner logs [#1991](https://github.com/actions/toolkit/pull/1991)

### 2.3.1
## 2.3.1

- Fix comment typo on expectedHash. [#1986](https://github.com/actions/toolkit/pull/1986)

### 2.3.0
## 2.3.0

- Allow ArtifactClient to perform digest comparisons, if supplied. [#1975](https://github.com/actions/toolkit/pull/1975)

### 2.2.2
## 2.2.2

- Default concurrency to 5 for uploading artifacts [#1962](https://github.com/actions/toolkit/pull/1962)

### 2.2.1
## 2.2.1

- Add `ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY` and `ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS` environment variables [#1928](https://github.com/actions/toolkit/pull/1928)

### 2.2.0
## 2.2.0

- Return artifact digest on upload [#1896](https://github.com/actions/toolkit/pull/1896)

### 2.1.11
## 2.1.11

- Fixed a bug with relative symlinks resolution [#1844](https://github.com/actions/toolkit/pull/1844)
- Use native `crypto` [#1815](https://github.com/actions/toolkit/pull/1815)

### 2.1.10
## 2.1.10

- Fixed a regression with symlinks not being automatically resolved [#1830](https://github.com/actions/toolkit/pull/1830)
- Fixed a regression with chunk timeout [#1786](https://github.com/actions/toolkit/pull/1786)

### 2.1.9
## 2.1.9

- Fixed artifact upload chunk timeout logic [#1774](https://github.com/actions/toolkit/pull/1774)
- Use lazy stream to prevent issues with open file limits [#1771](https://github.com/actions/toolkit/pull/1771)

### 2.1.8
## 2.1.8

- Allows `*.localhost` domains for hostname checks for local development.

### 2.1.7
## 2.1.7

- Update unzip-stream dependency and reverted to using `unzip.Extract()`

### 2.1.6
## 2.1.6

- Will retry on invalid request responses.

### 2.1.5
## 2.1.5

- Bumped `archiver` dependency to 7.0.1

### 2.1.4
## 2.1.4

- Adds info-level logging for zip extraction

### 2.1.3
## 2.1.3

- Fixes a bug in the extract logic updated in 2.1.2

### 2.1.2
## 2.1.2

- Updated the stream extract functionality to use `unzip.Parse()` instead of `unzip.Extract()` for greater control of unzipping artifacts

### 2.1.1
## 2.1.1

- Updated `isGhes` check to include `.ghe.com` and `.ghe.localhost` as accepted hosts

### 2.1.0
## 2.1.0

- Added `ArtifactClient#deleteArtifact` to delete artifacts by name [#1626](https://github.com/actions/toolkit/pull/1626)
- Update error messaging to be more useful [#1628](https://github.com/actions/toolkit/pull/1628)

### 2.0.1
## 2.0.1

- Patch to fix transient request timeouts https://github.com/actions/download-artifact/issues/249
- Patch to fix transient request timeouts <https://github.com/actions/download-artifact/issues/249>

### 2.0.0
## 2.0.0

- Major release. Supports new Artifact backend for improved speed, reliability and behavior.
- Numerous API changes, [some breaking](./README.md#breaking-changes).

- [Blog post with more info](https://github.blog/2024-02-12-get-started-with-v4-of-github-actions-artifacts/)

### 1.1.1
## 1.1.1

- Fixed a bug in Node16 where if an HTTP download finished too quickly (<1ms, e.g. when it's mocked) we attempt to delete a temp file that has not been created yet [#1278](https://github.com/actions/toolkit/pull/1278/commits/b9de68a590daf37c6747e38d3cb4f1dd2cfb791c)

### 1.1.0
## 1.1.0

- Add `x-actions-results-crc64` and `x-actions-results-md5` checksum headers on upload [#1063](https://github.com/actions/toolkit/pull/1063)

### 1.0.2
## 1.0.2

- Update to v2.0.1 of `@actions/http-client` [#1087](https://github.com/actions/toolkit/pull/1087)

### 1.0.1
## 1.0.1

- Update to v2.0.0 of `@actions/http-client`

### 1.0.0
## 1.0.0

- Update `lockfileVersion` to `v2` in `package-lock.json` [#1009](https://github.com/actions/toolkit/pull/1009)

### 0.6.1
## 0.6.1

- Fix for failing 0 byte file uploads on Windows [#962](https://github.com/actions/toolkit/pull/962)

### 0.6.0
## 0.6.0

- Support upload from named pipes [#748](https://github.com/actions/toolkit/pull/748)
- Fixes to percentage values being greater than 100% when downloading all artifacts [#889](https://github.com/actions/toolkit/pull/889)
Expand All @@ -147,49 +147,49 @@
- Faster upload speeds for certain types of large files by exempting gzip compression [#956](https://github.com/actions/toolkit/pull/956)
- More detailed logging when dealing with chunked uploads [#957](https://github.com/actions/toolkit/pull/957)

### 0.5.2
## 0.5.2

- Add HTTP 500 as a retryable status code for artifact upload and download.

### 0.5.1
## 0.5.1

- Bump @actions/http-client to version 1.0.11 to fix proxy related issues during artifact upload and download

### 0.5.0
## 0.5.0

- Improved retry-ability for all http calls during artifact upload and download if an error is encountered

### 0.4.2
## 0.4.2

- Improved retry-ability when a partial artifact download is encountered

### 0.4.1
## 0.4.1

- Update to latest @actions/core version

### 0.4.0
## 0.4.0

- Add option to specify custom retentions on artifacts
-
### 0.3.5

## 0.3.5

- Retry in the event of a 413 response

### 0.3.3
## 0.3.3

- Increase chunk size during upload from 4MB to 8MB
- Improve user-agent strings during API calls to help internally diagnose issues

### 0.3.2
## 0.3.2

- Fix to ensure readstreams get correctly reset in the event of a retry

### 0.3.1
## 0.3.1

- Fix to ensure temporary gzip files get correctly deleted during artifact upload
- Remove spaces as a forbidden character during upload

### 0.3.0
## 0.3.0

- Fixes to gzip decompression when downloading artifacts
- Support handling 429 response codes
Expand All @@ -198,13 +198,13 @@
- Clearer error message if storage quota has been reached
- Improved logging and output during artifact download

### 0.2.0
## 0.2.0

- Fixes to TCP connections not closing
- GZip file compression to speed up downloads
- Improved logging and output
- Extra documentation

### 0.1.0
## 0.1.0

- Initial release
8 changes: 4 additions & 4 deletions packages/artifact/__tests__/artifact-http-client.test.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import * as http from 'http'
import * as net from 'net'
import {HttpClient} from '@actions/http-client'
import * as config from '../src/internal/shared/config'
import {internalArtifactTwirpClient} from '../src/internal/shared/artifact-twirp-client'
import {noopLogs} from './common'
import {NetworkError, UsageError} from '../src/internal/shared/errors'
import * as config from '../src/internal/shared/config.js'
import {internalArtifactTwirpClient} from '../src/internal/shared/artifact-twirp-client.js'
import {noopLogs} from './common.js'
import {NetworkError, UsageError} from '../src/internal/shared/errors.js'

jest.mock('@actions/http-client')

Expand Down
2 changes: 1 addition & 1 deletion packages/artifact/__tests__/config.test.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import * as config from '../src/internal/shared/config'
import * as config from '../src/internal/shared/config.js'
import os from 'os'

// Mock the `cpus()` function in the `os` module
Expand Down
10 changes: 5 additions & 5 deletions packages/artifact/__tests__/delete-artifacts.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ import type {RequestInterface} from '@octokit/types'
import {
deleteArtifactInternal,
deleteArtifactPublic
} from '../src/internal/delete/delete-artifact'
import * as config from '../src/internal/shared/config'
import {ArtifactServiceClientJSON, Timestamp} from '../src/generated'
import * as util from '../src/internal/shared/util'
import {noopLogs} from './common'
} from '../src/internal/delete/delete-artifact.js'
import * as config from '../src/internal/shared/config.js'
import {ArtifactServiceClientJSON, Timestamp} from '../src/generated/index.js'
import * as util from '../src/internal/shared/util.js'
import {noopLogs} from './common.js'

type MockedRequest = jest.MockedFunction<RequestInterface<object>>

Expand Down
12 changes: 6 additions & 6 deletions packages/artifact/__tests__/download-artifact.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ import {
downloadArtifactInternal,
downloadArtifactPublic,
streamExtractExternal
} from '../src/internal/download/download-artifact'
import {getUserAgentString} from '../src/internal/shared/user-agent'
import {noopLogs} from './common'
import * as config from '../src/internal/shared/config'
import {ArtifactServiceClientJSON} from '../src/generated'
import * as util from '../src/internal/shared/util'
} from '../src/internal/download/download-artifact.js'
import {getUserAgentString} from '../src/internal/shared/user-agent.js'
import {noopLogs} from './common.js'
import * as config from '../src/internal/shared/config.js'
import {ArtifactServiceClientJSON} from '../src/generated/index.js'
import * as util from '../src/internal/shared/util.js'

type MockedDownloadArtifact = jest.MockedFunction<
RestEndpointMethods['actions']['downloadArtifact']
Expand Down
12 changes: 6 additions & 6 deletions packages/artifact/__tests__/get-artifact.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@ import type {RequestInterface} from '@octokit/types'
import {
getArtifactInternal,
getArtifactPublic
} from '../src/internal/find/get-artifact'
import * as config from '../src/internal/shared/config'
import {ArtifactServiceClientJSON, Timestamp} from '../src/generated'
import * as util from '../src/internal/shared/util'
import {noopLogs} from './common'
} from '../src/internal/find/get-artifact.js'
import * as config from '../src/internal/shared/config.js'
import {ArtifactServiceClientJSON, Timestamp} from '../src/generated/index.js'
import * as util from '../src/internal/shared/util.js'
import {noopLogs} from './common.js'
import {
ArtifactNotFoundError,
InvalidResponseError
} from '../src/internal/shared/errors'
} from '../src/internal/shared/errors.js'

type MockedRequest = jest.MockedFunction<RequestInterface<object>>

Expand Down
12 changes: 6 additions & 6 deletions packages/artifact/__tests__/list-artifacts.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ import type {RestEndpointMethodTypes} from '@octokit/plugin-rest-endpoint-method
import {
listArtifactsInternal,
listArtifactsPublic
} from '../src/internal/find/list-artifacts'
import * as config from '../src/internal/shared/config'
import {ArtifactServiceClientJSON, Timestamp} from '../src/generated'
import * as util from '../src/internal/shared/util'
import {noopLogs} from './common'
import {Artifact} from '../src/internal/shared/interfaces'
} from '../src/internal/find/list-artifacts.js'
import * as config from '../src/internal/shared/config.js'
import {ArtifactServiceClientJSON, Timestamp} from '../src/generated/index.js'
import * as util from '../src/internal/shared/util.js'
import {noopLogs} from './common.js'
import {Artifact} from '../src/internal/shared/interfaces.js'
import {RequestInterface} from '@octokit/types'

type MockedRequest = jest.MockedFunction<RequestInterface<object>>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import {
validateArtifactName,
validateFilePath
} from '../src/internal/upload/path-and-artifact-name-validation'
} from '../src/internal/upload/path-and-artifact-name-validation.js'

import {noopLogs} from './common'
import {noopLogs} from './common.js'

describe('Path and artifact name validation', () => {
beforeAll(() => {
Expand Down
4 changes: 2 additions & 2 deletions packages/artifact/__tests__/retention.test.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import {Timestamp} from '../src/generated'
import * as retention from '../src/internal/upload/retention'
import {Timestamp} from '../src/generated/index.js'
import * as retention from '../src/internal/upload/retention.js'

describe('retention', () => {
beforeEach(() => {
Expand Down
Loading
Loading