mirror of
https://github.com/actions/upload-artifact.git
synced 2024-11-27 06:29:03 +00:00
add additional integration test for merge all behavior
This commit is contained in:
parent
90b0f8eed8
commit
53ef6987b3
49
.github/workflows/test.yml
vendored
49
.github/workflows/test.yml
vendored
@ -181,11 +181,45 @@ jobs:
|
|||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
# Merge Artifact-A-* from previous jobs
|
# Merge all artifacts from previous jobs
|
||||||
- name: Merge
|
- name: Merge all artifacts in run
|
||||||
uses: ./merge/
|
uses: ./merge/
|
||||||
|
with:
|
||||||
|
# our matrix produces artifacts with the same file, this prevents "stomping" on each other, also makes it
|
||||||
|
# easier to identify each of the merged artifacts
|
||||||
|
separate-directories: true
|
||||||
|
- name: 'Download merged artifacts'
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: Merged-Artifacts
|
name: Merged-Artifacts
|
||||||
|
path: all-merged-artifacts
|
||||||
|
- name: 'Check merged artifact has directories for each artifact'
|
||||||
|
run: |
|
||||||
|
$artifacts = @(
|
||||||
|
"Artifact-A-ubuntu-latest",
|
||||||
|
"Artifact-A-macos-latest",
|
||||||
|
"Artifact-A-windows-latest",
|
||||||
|
"Artifact-Wildcard-ubuntu-latest",
|
||||||
|
"Artifact-Wildcard-macos-latest",
|
||||||
|
"Artifact-Wildcard-windows-latest",
|
||||||
|
"Multi-Path-Artifact-ubuntu-latest",
|
||||||
|
"Multi-Path-Artifact-macos-latest",
|
||||||
|
"Multi-Path-Artifact-windows-latest"
|
||||||
|
)
|
||||||
|
|
||||||
|
foreach ($artifact in $artifacts) {
|
||||||
|
$path = "all-merged-artifacts/$artifact"
|
||||||
|
if (!(Test-Path $path)) {
|
||||||
|
Write-Error "$path does not exist."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
shell: pwsh
|
||||||
|
|
||||||
|
# Merge Artifact-A-* from previous jobs
|
||||||
|
- name: Merge all Artifact-A
|
||||||
|
uses: ./merge/
|
||||||
|
with:
|
||||||
|
name: Merged-Artifact-As
|
||||||
pattern: 'Artifact-A-*'
|
pattern: 'Artifact-A-*'
|
||||||
separate-directories: true
|
separate-directories: true
|
||||||
|
|
||||||
@ -193,15 +227,15 @@ jobs:
|
|||||||
- name: 'Download merged artifacts'
|
- name: 'Download merged artifacts'
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: Merged-Artifacts
|
name: Merged-Artifact-As
|
||||||
path: merged-artifacts
|
path: merged-artifact-a
|
||||||
|
|
||||||
- name: 'Verify merged artifacts'
|
- name: 'Verify merged artifacts'
|
||||||
run: |
|
run: |
|
||||||
$files = @(
|
$files = @(
|
||||||
"merged-artifacts/Artifact-A-ubuntu-latest/file1.txt",
|
"merged-artifact-a/Artifact-A-ubuntu-latest/file1.txt",
|
||||||
"merged-artifacts/Artifact-A-macos-latest/file1.txt",
|
"merged-artifact-a/Artifact-A-macos-latest/file1.txt",
|
||||||
"merged-artifacts/Artifact-A-windows-latest/file1.txt"
|
"merged-artifact-a/Artifact-A-windows-latest/file1.txt"
|
||||||
)
|
)
|
||||||
|
|
||||||
foreach ($file in $files) {
|
foreach ($file in $files) {
|
||||||
@ -214,3 +248,4 @@ jobs:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
|
|
||||||
|
@ -41,6 +41,8 @@ The release of upload-artifact@v4 and download-artifact@v4 are major changes to
|
|||||||
|
|
||||||
For more information, see the [`@actions/artifact`](https://github.com/actions/toolkit/tree/main/packages/artifact) documentation.
|
For more information, see the [`@actions/artifact`](https://github.com/actions/toolkit/tree/main/packages/artifact) documentation.
|
||||||
|
|
||||||
|
There is also a new sub-action, `actions/upload-artifact/merge`. For more info, check out that action's [README](./merge/README.md).
|
||||||
|
|
||||||
### Improvements
|
### Improvements
|
||||||
|
|
||||||
1. Uploads are significantly faster, upwards of 90% improvement in worst case scenarios.
|
1. Uploads are significantly faster, upwards of 90% improvement in worst case scenarios.
|
||||||
|
Loading…
Reference in New Issue
Block a user