Skip to content

Commit

Permalink
add workflow to test merging
Browse files Browse the repository at this point in the history
  • Loading branch information
robherley committed Jan 23, 2024
1 parent 199a58f commit 90b0f8e
Showing 1 changed file with 51 additions and 5 deletions.
56 changes: 51 additions & 5 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -141,12 +141,16 @@ jobs:
}
shell: pwsh

- name: 'Alter file 1 content'
run: |
echo "This file has changed" > path/to/dir-1/file1.txt
# Replace the contents of Artifact #1
- name: 'Overwrite artifact #1 again'
- name: 'Overwrite artifact #1'
uses: ./
with:
name: 'Artifact-A-${{ matrix.runs-on }}'
path: path/to/dir-2/file2.txt
path: path/to/dir-1/file1.txt
overwrite: true

# Download replaced Artifact #1 and verify the correctness of the content
Expand All @@ -158,13 +162,55 @@ jobs:

- name: 'Verify Artifact #1 again'
run: |
$file = "overwrite/some/new/path/file2.txt"
$file = "overwrite/some/new/path/file1.txt"
if(!(Test-Path -path $file))
{
Write-Error "Expected file does not exist"
}
if(!((Get-Content $file) -ceq "Hello world from file #2"))
if(!((Get-Content $file) -ceq "This file has changed"))
{
Write-Error "File contents of downloaded artifacts are incorrect"
Write-Error "File contents of downloaded artifact are incorrect"
}
shell: pwsh
merge:
name: Merge
needs: build
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4

# Merge Artifact-A-* from previous jobs
- name: Merge
uses: ./merge/
with:
name: Merged-Artifacts
pattern: 'Artifact-A-*'
separate-directories: true

# Download merged artifacts and verify the correctness of the content
- name: 'Download merged artifacts'
uses: actions/download-artifact@v4
with:
name: Merged-Artifacts
path: merged-artifacts

- name: 'Verify merged artifacts'
run: |
$files = @(
"merged-artifacts/Artifact-A-ubuntu-latest/file1.txt",
"merged-artifacts/Artifact-A-macos-latest/file1.txt",
"merged-artifacts/Artifact-A-windows-latest/file1.txt"
)
foreach ($file in $files) {
if (!(Test-Path $file)) {
Write-Error "$file does not exist."
}
if (!((Get-Content $file) -ceq "This file has changed")) {
Write-Error "$file has incorrect content."
}
}
shell: pwsh

0 comments on commit 90b0f8e

Please sign in to comment.