Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
867bba2a6b | ||
|
|
471b053ce1 | ||
|
|
0d59ab325a | ||
|
|
38cbf00a3a | ||
|
|
65c405260d | ||
|
|
985108560d | ||
|
|
0d8ecc924d | ||
|
|
75274a8f39 | ||
|
|
f77a7e9888 | ||
|
|
bed0e56780 | ||
|
|
91ba4ec18c | ||
|
|
87458809df | ||
|
|
8b8de53667 | ||
|
|
330a01c490 | ||
|
|
03f2824452 | ||
|
|
905a1ecb59 | ||
|
|
2d9f9cdfa9 | ||
|
|
d2e7727e56 | ||
|
|
9687587dec | ||
|
|
bdfe531d8f | ||
|
|
98d3bf521e | ||
|
|
48ddad3e02 | ||
|
|
2848b2cda0 | ||
|
|
9b511775fd | ||
|
|
cd231ca1ed | ||
|
|
6c33d18d0a | ||
|
|
de65e23aa2 | ||
|
|
8747d8cd76 | ||
|
|
6027e3dd17 | ||
|
|
d7079ed267 | ||
|
|
ea165f8d65 | ||
|
|
08396203c1 | ||
|
|
99ec7df36b | ||
|
|
4cec3d8aa0 | ||
|
|
e9fad966cc | ||
|
|
b26fd06e9d | ||
|
|
65c4c4a1dd | ||
|
|
0207619228 | ||
|
|
1ecca81102 | ||
|
|
97422693d3 | ||
|
|
6f51ac03b9 | ||
|
|
c40c16d999 | ||
|
|
735efb4a0a | ||
|
|
184d73b71b | ||
|
|
b4a0a984a0 | ||
|
|
b4b15b8c7c | ||
|
|
92b01ebffa | ||
|
|
84480863f2 | ||
|
|
b1d4642b69 | ||
|
|
d50e66084c | ||
|
|
aabe6f8050 | ||
|
|
604373da63 | ||
|
|
0150148bdf | ||
|
|
a009b25faa | ||
|
|
9f6f6f402e | ||
|
|
3eadd8b791 | ||
|
|
aeba9f7961 | ||
|
|
b18b1d32f3 | ||
|
|
d7c12077c4 | ||
|
|
50769540e7 | ||
|
|
d52396ac5d | ||
|
|
710f362075 | ||
|
|
3b315f26f6 | ||
|
|
3be2180eb7 | ||
|
|
453e8d0a40 | ||
|
|
0a398c1480 | ||
|
|
a0c40cf602 | ||
|
|
acb59e4776 | ||
|
|
cb6558bb10 | ||
|
|
834a144ee9 | ||
|
|
134dcf33c0 | ||
|
|
73a0b9c954 | ||
|
|
89ef406dd8 | ||
|
|
23d796df36 | ||
|
|
e445c64bc2 | ||
|
|
0b2256b8c0 | ||
|
|
488dcefb9b | ||
|
|
04c51f5766 | ||
|
|
32a9e276a8 | ||
|
|
a954e16c38 | ||
|
|
a1d85e775a | ||
|
|
552bf3722c | ||
|
|
79616d2ded | ||
|
|
65462800fd | ||
|
|
c004fb4bf6 | ||
|
|
90aba496fc | ||
|
|
b06cde36fc | ||
|
|
1746f4ab65 | ||
|
|
31685d04a0 | ||
|
|
18bf333cd2 | ||
|
|
dac413befa | ||
|
|
bb3b4a3cdb | ||
|
|
3e3da837d2 | ||
|
|
e35774f165 | ||
|
|
e63ea677fb | ||
|
|
ef09cdac3e | ||
|
|
00e36f94d8 | ||
|
|
4c0ff1c489 | ||
|
|
5d5d22a312 | ||
|
|
f1e993d966 | ||
|
|
4881bfd3f2 | ||
|
|
a30777e265 | ||
|
|
3a8048248f | ||
|
|
9d63e3f2f8 | ||
|
|
dfa1ab292d | ||
|
|
d00351bf69 | ||
|
|
707f5a7b71 | ||
|
|
26f96dfa69 | ||
|
|
530ed2c9b8 | ||
|
|
53ef6987b3 | ||
|
|
90b0f8eed8 | ||
|
|
199a58f54f | ||
|
|
3f353f9d9e | ||
|
|
997fffa355 | ||
|
|
52899c8c02 | ||
|
|
da58a3f7b2 | ||
|
|
1f64adb853 | ||
|
|
8d531b15a6 | ||
|
|
694cdabd8b | ||
|
|
05d4fe6702 | ||
|
|
40b3052821 | ||
|
|
49552fcb82 | ||
|
|
79615904cc | ||
|
|
11ff42c7b1 | ||
|
|
1eb3cb2b3e | ||
|
|
8688a86492 | ||
|
|
73d8b66ede | ||
|
|
c320f57948 | ||
|
|
cf8714cfea | ||
|
|
7f16e37e88 | ||
|
|
353073034f | ||
|
|
6c139afa6f | ||
|
|
c7d193f32e | ||
|
|
13131bb095 | ||
|
|
4a6c273b98 | ||
|
|
f391bb91a3 | ||
|
|
9653d03c4b | ||
|
|
875b630764 | ||
|
|
ecb21463e9 | ||
|
|
5e7604f84a | ||
|
|
d6437d0758 | ||
|
|
1b56155703 | ||
|
|
6a5077f99b | ||
|
|
2a6c27a029 | ||
|
|
9a179cdb8d | ||
|
|
eba2a242da | ||
|
|
500e175644 | ||
|
|
83b889d09d | ||
|
|
eeb333dcd2 | ||
|
|
fa39c94ed2 | ||
|
|
59ef34ab24 | ||
|
|
20bcd3b8cb | ||
|
|
aa5cae10db | ||
|
|
f87a4089c5 | ||
|
|
50ad273a1a | ||
|
|
0ff37d0dc6 | ||
|
|
0597a567d0 | ||
|
|
0f573694ad | ||
|
|
99700c1456 |
@@ -10,9 +10,11 @@ on:
|
|||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
paths-ignore:
|
||||||
- main
|
- '**.md'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
@@ -20,33 +22,32 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Node 16
|
- name: Setup Node 20
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 16.x
|
node-version: 20.x
|
||||||
cache: 'npm'
|
cache: 'npm'
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: npm ci
|
run: npm ci
|
||||||
|
|
||||||
- name: Move the committed index.js file
|
- name: Rebuild the dist/ directory
|
||||||
run: mv dist/index.js /tmp
|
|
||||||
|
|
||||||
- name: Rebuild with tsc
|
|
||||||
run: npm run build
|
|
||||||
|
|
||||||
- name: Rebuild the index.js file
|
|
||||||
run: npm run release
|
run: npm run release
|
||||||
|
|
||||||
- name: Compare the expected and actual index.js files
|
- name: Compare the expected and actual dist/ directories
|
||||||
run: git diff --ignore-all-space dist/index.js /tmp/index.js
|
run: |
|
||||||
|
if [ "$(git diff --ignore-space-at-eol dist/ | wc -l)" -gt "0" ]; then
|
||||||
|
echo "Detected uncommitted changes after build. See status below:"
|
||||||
|
git diff
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
id: diff
|
id: diff
|
||||||
|
|
||||||
# If index.js was different than expected, upload the expected version as an artifact
|
# If index.js was different than expected, upload the expected version as an artifact
|
||||||
- uses: actions/upload-artifact@v3
|
- uses: actions/upload-artifact@v4
|
||||||
if: ${{ failure() && steps.diff.conclusion == 'failure' }}
|
if: ${{ failure() && steps.diff.conclusion == 'failure' }}
|
||||||
with:
|
with:
|
||||||
name: index.js
|
name: dist
|
||||||
path: dist/index.js
|
path: dist/
|
||||||
|
|||||||
@@ -17,11 +17,11 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
# Initializes the CodeQL tools for scanning.
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
uses: github/codeql-action/init@v2
|
uses: github/codeql-action/init@v3
|
||||||
# Override language selection by uncommenting this and choosing your languages
|
# Override language selection by uncommenting this and choosing your languages
|
||||||
# with:
|
# with:
|
||||||
# languages: go, javascript, csharp, python, cpp, java
|
# languages: go, javascript, csharp, python, cpp, java
|
||||||
@@ -29,7 +29,7 @@ jobs:
|
|||||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||||
# If this step fails, then you should remove it and run the build manually (see below)
|
# If this step fails, then you should remove it and run the build manually (see below)
|
||||||
- name: Autobuild
|
- name: Autobuild
|
||||||
uses: github/codeql-action/autobuild@v2
|
uses: github/codeql-action/autobuild@v3
|
||||||
|
|
||||||
# ℹ️ Command-line programs to run using the OS shell.
|
# ℹ️ Command-line programs to run using the OS shell.
|
||||||
# 📚 https://git.io/JvXDl
|
# 📚 https://git.io/JvXDl
|
||||||
@@ -43,4 +43,4 @@ jobs:
|
|||||||
# make release
|
# make release
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
- name: Perform CodeQL Analysis
|
||||||
uses: github/codeql-action/analyze@v2
|
uses: github/codeql-action/analyze@v3
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
name: Check licenses
|
name: Check licenses
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v4
|
||||||
- run: npm ci
|
- run: npm ci
|
||||||
- name: Install licensed
|
- name: Install licensed
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
name: 'Publish Immutable Action Version'
|
||||||
|
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types: [published]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
publish:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
id-token: write
|
||||||
|
packages: write
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checking out
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Publish
|
||||||
|
id: publish
|
||||||
|
uses: actions/publish-immutable-action@0.0.3
|
||||||
@@ -22,7 +22,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Update the ${{ env.TAG_NAME }} tag
|
- name: Update the ${{ env.TAG_NAME }} tag
|
||||||
id: update-major-tag
|
id: update-major-tag
|
||||||
uses: actions/publish-action@v0.2.1
|
uses: actions/publish-action@v0.3.0
|
||||||
with:
|
with:
|
||||||
source-tag: ${{ env.TAG_NAME }}
|
source-tag: ${{ env.TAG_NAME }}
|
||||||
slack-webhook: ${{ secrets.SLACK_WEBHOOK }}
|
slack-webhook: ${{ secrets.SLACK_WEBHOOK }}
|
||||||
|
|||||||
+168
-45
@@ -1,4 +1,5 @@
|
|||||||
name: Test
|
name: Test
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
@@ -10,7 +11,6 @@ on:
|
|||||||
- '**.md'
|
- '**.md'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
build:
|
build:
|
||||||
name: Build
|
name: Build
|
||||||
|
|
||||||
@@ -23,12 +23,12 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Node 16
|
- name: Setup Node 20
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 16.x
|
node-version: 20.x
|
||||||
cache: 'npm'
|
cache: 'npm'
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
@@ -46,51 +46,57 @@ jobs:
|
|||||||
- name: Test
|
- name: Test
|
||||||
run: npm run test
|
run: npm run test
|
||||||
|
|
||||||
# Test end-to-end by uploading two artifacts and then downloading them
|
# Test end-to-end by uploading a few artifacts and then downloading them
|
||||||
- name: Create artifact files
|
- name: Create artifact files
|
||||||
run: |
|
run: |
|
||||||
mkdir -p path/to/dir-1
|
mkdir -p path/to/dir-1
|
||||||
mkdir -p path/to/dir-2
|
mkdir -p path/to/dir-2
|
||||||
mkdir -p path/to/dir-3
|
mkdir -p path/to/dir-3
|
||||||
|
mkdir -p symlink/
|
||||||
echo "Lorem ipsum dolor sit amet" > path/to/dir-1/file1.txt
|
echo "Lorem ipsum dolor sit amet" > path/to/dir-1/file1.txt
|
||||||
echo "Hello world from file #2" > path/to/dir-2/file2.txt
|
echo "Hello world from file #2" > path/to/dir-2/file2.txt
|
||||||
echo "This is a going to be a test for a large enough file that should get compressed with GZip. The @actions/artifact package uses GZip to upload files. This text should have a compression ratio greater than 100% so it should get uploaded using GZip" > path/to/dir-3/gzip.txt
|
echo "Hello from a symlinked file" > symlink/original.txt
|
||||||
|
ln -s $(pwd)/symlink/original.txt symlink/abs.txt
|
||||||
|
ln -s original.txt symlink/rel.txt
|
||||||
|
shell: bash
|
||||||
|
|
||||||
# Upload a single file artifact
|
# Upload a single file artifact
|
||||||
- name: 'Upload artifact #1'
|
- name: 'Upload artifact #1'
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
name: 'Artifact-A'
|
name: 'Artifact-A-${{ matrix.runs-on }}'
|
||||||
path: path/to/dir-1/file1.txt
|
path: path/to/dir-1/file1.txt
|
||||||
|
|
||||||
# Upload using a wildcard pattern, name should default to 'artifact' if not provided
|
# Upload using a wildcard pattern
|
||||||
- name: 'Upload artifact #2'
|
- name: 'Upload artifact #2'
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
|
name: 'Artifact-Wildcard-${{ matrix.runs-on }}'
|
||||||
path: path/**/dir*/
|
path: path/**/dir*/
|
||||||
|
|
||||||
# Upload a directory that contains a file that will be uploaded with GZip
|
# Upload a multi-path artifact
|
||||||
- name: 'Upload artifact #3'
|
- name: 'Upload artifact #3'
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
name: 'GZip-Artifact'
|
name: 'Multi-Path-Artifact-${{ matrix.runs-on }}'
|
||||||
path: path/to/dir-3/
|
|
||||||
|
|
||||||
# Upload a directory that contains a file that will be uploaded with GZip
|
|
||||||
- name: 'Upload artifact #4'
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
name: 'Multi-Path-Artifact'
|
|
||||||
path: |
|
path: |
|
||||||
path/to/dir-1/*
|
path/to/dir-1/*
|
||||||
path/to/dir-[23]/*
|
path/to/dir-[23]/*
|
||||||
!path/to/dir-3/*.txt
|
!path/to/dir-3/*.txt
|
||||||
|
|
||||||
|
- name: 'Upload symlinked artifact'
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
name: 'Symlinked-Artifact-${{ matrix.runs-on }}'
|
||||||
|
path: |
|
||||||
|
symlink/abs.txt
|
||||||
|
symlink/rel.txt
|
||||||
|
|
||||||
# Download Artifact #1 and verify the correctness of the content
|
# Download Artifact #1 and verify the correctness of the content
|
||||||
- name: 'Download artifact #1'
|
- name: 'Download artifact #1'
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: 'Artifact-A'
|
name: 'Artifact-A-${{ matrix.runs-on }}'
|
||||||
path: some/new/path
|
path: some/new/path
|
||||||
|
|
||||||
- name: 'Verify Artifact #1'
|
- name: 'Verify Artifact #1'
|
||||||
@@ -108,9 +114,9 @@ jobs:
|
|||||||
|
|
||||||
# Download Artifact #2 and verify the correctness of the content
|
# Download Artifact #2 and verify the correctness of the content
|
||||||
- name: 'Download artifact #2'
|
- name: 'Download artifact #2'
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: 'artifact'
|
name: 'Artifact-Wildcard-${{ matrix.runs-on }}'
|
||||||
path: some/other/path
|
path: some/other/path
|
||||||
|
|
||||||
- name: 'Verify Artifact #2'
|
- name: 'Verify Artifact #2'
|
||||||
@@ -127,31 +133,11 @@ jobs:
|
|||||||
}
|
}
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
|
|
||||||
# Download Artifact #3 and verify the correctness of the content
|
# Download Artifact #4 and verify the correctness of the content
|
||||||
- name: 'Download artifact #3'
|
|
||||||
uses: actions/download-artifact@v3
|
|
||||||
with:
|
|
||||||
name: 'GZip-Artifact'
|
|
||||||
path: gzip/artifact/path
|
|
||||||
|
|
||||||
# Because a directory was used as input during the upload the parent directories, path/to/dir-3/, should not be included in the uploaded artifact
|
|
||||||
- name: 'Verify Artifact #3'
|
|
||||||
run: |
|
|
||||||
$gzipFile = "gzip/artifact/path/gzip.txt"
|
|
||||||
if(!(Test-Path -path $gzipFile))
|
|
||||||
{
|
|
||||||
Write-Error "Expected file do not exist"
|
|
||||||
}
|
|
||||||
if(!((Get-Content $gzipFile) -ceq "This is a going to be a test for a large enough file that should get compressed with GZip. The @actions/artifact package uses GZip to upload files. This text should have a compression ratio greater than 100% so it should get uploaded using GZip"))
|
|
||||||
{
|
|
||||||
Write-Error "File contents of downloaded artifact is incorrect"
|
|
||||||
}
|
|
||||||
shell: pwsh
|
|
||||||
|
|
||||||
- name: 'Download artifact #4'
|
- name: 'Download artifact #4'
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: 'Multi-Path-Artifact'
|
name: 'Multi-Path-Artifact-${{ matrix.runs-on }}'
|
||||||
path: multi/artifact
|
path: multi/artifact
|
||||||
|
|
||||||
- name: 'Verify Artifact #4'
|
- name: 'Verify Artifact #4'
|
||||||
@@ -167,3 +153,140 @@ jobs:
|
|||||||
Write-Error "File contents of downloaded artifacts are incorrect"
|
Write-Error "File contents of downloaded artifacts are incorrect"
|
||||||
}
|
}
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
|
|
||||||
|
- name: 'Download symlinked artifact'
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: 'Symlinked-Artifact-${{ matrix.runs-on }}'
|
||||||
|
path: from/symlink
|
||||||
|
|
||||||
|
- name: 'Verify symlinked artifact'
|
||||||
|
run: |
|
||||||
|
$abs = "from/symlink/abs.txt"
|
||||||
|
if(!(Test-Path -path $abs))
|
||||||
|
{
|
||||||
|
Write-Error "Expected file does not exist"
|
||||||
|
}
|
||||||
|
if(!((Get-Content $abs) -ceq "Hello from a symlinked file"))
|
||||||
|
{
|
||||||
|
Write-Error "File contents of downloaded artifact are incorrect"
|
||||||
|
}
|
||||||
|
$rel = "from/symlink/rel.txt"
|
||||||
|
if(!(Test-Path -path $rel))
|
||||||
|
{
|
||||||
|
Write-Error "Expected file does not exist"
|
||||||
|
}
|
||||||
|
if(!((Get-Content $rel) -ceq "Hello from a symlinked file"))
|
||||||
|
{
|
||||||
|
Write-Error "File contents of downloaded artifact are incorrect"
|
||||||
|
}
|
||||||
|
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'
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
name: 'Artifact-A-${{ matrix.runs-on }}'
|
||||||
|
path: path/to/dir-1/file1.txt
|
||||||
|
overwrite: true
|
||||||
|
|
||||||
|
# Download replaced Artifact #1 and verify the correctness of the content
|
||||||
|
- name: 'Download artifact #1 again'
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: 'Artifact-A-${{ matrix.runs-on }}'
|
||||||
|
path: overwrite/some/new/path
|
||||||
|
|
||||||
|
- name: 'Verify Artifact #1 again'
|
||||||
|
run: |
|
||||||
|
$file = "overwrite/some/new/path/file1.txt"
|
||||||
|
if(!(Test-Path -path $file))
|
||||||
|
{
|
||||||
|
Write-Error "Expected file does not exist"
|
||||||
|
}
|
||||||
|
if(!((Get-Content $file) -ceq "This file has changed"))
|
||||||
|
{
|
||||||
|
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 all artifacts from previous jobs
|
||||||
|
- name: Merge all artifacts in run
|
||||||
|
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:
|
||||||
|
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-*'
|
||||||
|
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-Artifact-As
|
||||||
|
path: merged-artifact-a
|
||||||
|
|
||||||
|
- name: 'Verify merged artifacts'
|
||||||
|
run: |
|
||||||
|
$files = @(
|
||||||
|
"merged-artifact-a/Artifact-A-ubuntu-latest/file1.txt",
|
||||||
|
"merged-artifact-a/Artifact-A-macos-latest/file1.txt",
|
||||||
|
"merged-artifact-a/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
|
||||||
|
|
||||||
|
|||||||
+27
-1
@@ -1,6 +1,9 @@
|
|||||||
sources:
|
sources:
|
||||||
npm: true
|
npm: true
|
||||||
|
|
||||||
|
# Force UTF-8 encoding
|
||||||
|
encoding: 'utf-8'
|
||||||
|
|
||||||
allowed:
|
allowed:
|
||||||
- apache-2.0
|
- apache-2.0
|
||||||
- bsd-2-clause
|
- bsd-2-clause
|
||||||
@@ -9,7 +12,30 @@ allowed:
|
|||||||
- mit
|
- mit
|
||||||
- cc0-1.0
|
- cc0-1.0
|
||||||
- unlicense
|
- unlicense
|
||||||
|
- 0bsd
|
||||||
|
- blueoak-1.0.0
|
||||||
|
|
||||||
reviewed:
|
reviewed:
|
||||||
npm:
|
npm:
|
||||||
- fs.realpath
|
- fs.realpath
|
||||||
|
- "@actions/http-client" # MIT
|
||||||
|
- "@bufbuild/protobuf" # Apache-2.0
|
||||||
|
- "@pkgjs/parseargs" # MIT
|
||||||
|
- "@protobuf-ts/runtime" # Apache-2.0
|
||||||
|
- argparse # Python-2.0
|
||||||
|
- buffers # MIT
|
||||||
|
- chainsaw # MIT
|
||||||
|
- color-convert # MIT
|
||||||
|
- ieee754 # BSD-3-Clause
|
||||||
|
- lodash # MIT
|
||||||
|
- mdurl # MIT
|
||||||
|
- neo-async # MIT
|
||||||
|
- package-json-from-dist # ISC
|
||||||
|
- readable-stream # MIT
|
||||||
|
- sax # ISC
|
||||||
|
- source-map # BSD-3-Clause
|
||||||
|
- string_decoder # MIT
|
||||||
|
- traverse # MIT
|
||||||
|
- tslib # 0BSD
|
||||||
|
- uglify-js # BSD-2-Clause
|
||||||
|
- wordwrap # MIT
|
||||||
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user