mirror of
https://github.com/actions/upload-artifact.git
synced 2025-04-19 15:04:45 +02:00
ci(workflow): add 'npm' cache for actions/setup-node in .github/workflows
This commit is contained in:
parent
11e311c8b5
commit
eafd8355c3
2 changed files with 133 additions and 133 deletions
6
.github/workflows/check-dist.yml
vendored
6
.github/workflows/check-dist.yml
vendored
|
@ -13,8 +13,7 @@ on:
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
workflow_dispatch:
|
workflow_dispatch: null
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
check-dist:
|
check-dist:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
@ -23,9 +22,10 @@ jobs:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: Set Node.js 12.x
|
- name: Set Node.js 12.x
|
||||||
uses: actions/setup-node@v1
|
uses: actions/setup-node@v2
|
||||||
with:
|
with:
|
||||||
node-version: 12.x
|
node-version: 12.x
|
||||||
|
cache: npm
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: npm ci
|
run: npm ci
|
||||||
|
|
258
.github/workflows/test.yml
vendored
258
.github/workflows/test.yml
vendored
|
@ -4,13 +4,12 @@ on:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
- '**.md'
|
- "**.md"
|
||||||
pull_request:
|
pull_request:
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
- '**.md'
|
- "**.md"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
build:
|
build:
|
||||||
name: Build
|
name: Build
|
||||||
|
|
||||||
|
@ -22,149 +21,150 @@ jobs:
|
||||||
runs-on: ${{ matrix.runs-on }}
|
runs-on: ${{ matrix.runs-on }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: Set Node.js 12.x
|
- name: Set Node.js 12.x
|
||||||
uses: actions/setup-node@v1
|
uses: actions/setup-node@v2
|
||||||
with:
|
with:
|
||||||
node-version: 12.x
|
node-version: 12.x
|
||||||
|
cache: npm
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: npm ci
|
run: npm ci
|
||||||
|
|
||||||
- name: Compile
|
- name: Compile
|
||||||
run: npm run build
|
run: npm run build
|
||||||
|
|
||||||
- name: npm test
|
- name: npm test
|
||||||
run: npm test
|
run: npm test
|
||||||
|
|
||||||
- name: Lint
|
- name: Lint
|
||||||
run: npm run lint
|
run: npm run lint
|
||||||
|
|
||||||
- name: Format
|
- name: Format
|
||||||
run: npm run format-check
|
run: npm run format-check
|
||||||
|
|
||||||
# Test end-to-end by uploading two artifacts and then downloading them
|
# Test end-to-end by uploading two 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
|
||||||
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 "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
|
||||||
|
|
||||||
# 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"
|
||||||
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 should default to 'artifact' if not provided
|
||||||
- name: 'Upload artifact #2'
|
- name: "Upload artifact #2"
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
path: path/**/dir*/
|
path: path/**/dir*/
|
||||||
|
|
||||||
# Upload a directory that contains a file that will be uploaded with GZip
|
# Upload a directory that contains a file that will be uploaded with GZip
|
||||||
- name: 'Upload artifact #3'
|
- name: "Upload artifact #3"
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
name: 'GZip-Artifact'
|
name: "GZip-Artifact"
|
||||||
path: path/to/dir-3/
|
path: path/to/dir-3/
|
||||||
|
|
||||||
# Upload a directory that contains a file that will be uploaded with GZip
|
# Upload a directory that contains a file that will be uploaded with GZip
|
||||||
- name: 'Upload artifact #4'
|
- name: "Upload artifact #4"
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
name: 'Multi-Path-Artifact'
|
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
|
||||||
|
|
||||||
# Verify artifacts. Switch to download-artifact@v2 once it's out of preview
|
# Verify artifacts. Switch to download-artifact@v2 once it's out of preview
|
||||||
|
|
||||||
# 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@v1
|
uses: actions/download-artifact@v1
|
||||||
with:
|
with:
|
||||||
name: 'Artifact-A'
|
name: "Artifact-A"
|
||||||
path: some/new/path
|
path: some/new/path
|
||||||
|
|
||||||
- name: 'Verify Artifact #1'
|
- name: "Verify Artifact #1"
|
||||||
run: |
|
run: |
|
||||||
$file = "some/new/path/file1.txt"
|
$file = "some/new/path/file1.txt"
|
||||||
if(!(Test-Path -path $file))
|
if(!(Test-Path -path $file))
|
||||||
{
|
{
|
||||||
Write-Error "Expected file does not exist"
|
Write-Error "Expected file does not exist"
|
||||||
}
|
}
|
||||||
if(!((Get-Content $file) -ceq "Lorem ipsum dolor sit amet"))
|
if(!((Get-Content $file) -ceq "Lorem ipsum dolor sit amet"))
|
||||||
{
|
{
|
||||||
Write-Error "File contents of downloaded artifact are incorrect"
|
Write-Error "File contents of downloaded artifact are incorrect"
|
||||||
}
|
}
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
|
|
||||||
# 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@v1
|
uses: actions/download-artifact@v1
|
||||||
with:
|
with:
|
||||||
name: 'artifact'
|
name: "artifact"
|
||||||
path: some/other/path
|
path: some/other/path
|
||||||
|
|
||||||
- name: 'Verify Artifact #2'
|
- name: "Verify Artifact #2"
|
||||||
run: |
|
run: |
|
||||||
$file1 = "some/other/path/to/dir-1/file1.txt"
|
$file1 = "some/other/path/to/dir-1/file1.txt"
|
||||||
$file2 = "some/other/path/to/dir-2/file2.txt"
|
$file2 = "some/other/path/to/dir-2/file2.txt"
|
||||||
if(!(Test-Path -path $file1) -or !(Test-Path -path $file2))
|
if(!(Test-Path -path $file1) -or !(Test-Path -path $file2))
|
||||||
{
|
{
|
||||||
Write-Error "Expected files do not exist"
|
Write-Error "Expected files do not exist"
|
||||||
}
|
}
|
||||||
if(!((Get-Content $file1) -ceq "Lorem ipsum dolor sit amet") -or !((Get-Content $file2) -ceq "Hello world from file #2"))
|
if(!((Get-Content $file1) -ceq "Lorem ipsum dolor sit amet") -or !((Get-Content $file2) -ceq "Hello world from file #2"))
|
||||||
{
|
{
|
||||||
Write-Error "File contents of downloaded artifacts are incorrect"
|
Write-Error "File contents of downloaded artifacts are incorrect"
|
||||||
}
|
}
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
|
|
||||||
# Download Artifact #3 and verify the correctness of the content
|
# Download Artifact #3 and verify the correctness of the content
|
||||||
- name: 'Download artifact #3'
|
- name: "Download artifact #3"
|
||||||
uses: actions/download-artifact@v1
|
uses: actions/download-artifact@v1
|
||||||
with:
|
with:
|
||||||
name: 'GZip-Artifact'
|
name: "GZip-Artifact"
|
||||||
path: gzip/artifact/path
|
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
|
# 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'
|
- name: "Verify Artifact #3"
|
||||||
run: |
|
run: |
|
||||||
$gzipFile = "gzip/artifact/path/gzip.txt"
|
$gzipFile = "gzip/artifact/path/gzip.txt"
|
||||||
if(!(Test-Path -path $gzipFile))
|
if(!(Test-Path -path $gzipFile))
|
||||||
{
|
{
|
||||||
Write-Error "Expected file do not exist"
|
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"))
|
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"
|
Write-Error "File contents of downloaded artifact is incorrect"
|
||||||
}
|
}
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
|
|
||||||
- name: 'Download artifact #4'
|
- name: "Download artifact #4"
|
||||||
uses: actions/download-artifact@v1
|
uses: actions/download-artifact@v1
|
||||||
with:
|
with:
|
||||||
name: 'Multi-Path-Artifact'
|
name: "Multi-Path-Artifact"
|
||||||
path: multi/artifact
|
path: multi/artifact
|
||||||
|
|
||||||
- name: 'Verify Artifact #4'
|
- name: "Verify Artifact #4"
|
||||||
run: |
|
run: |
|
||||||
$file1 = "multi/artifact/dir-1/file1.txt"
|
$file1 = "multi/artifact/dir-1/file1.txt"
|
||||||
$file2 = "multi/artifact/dir-2/file2.txt"
|
$file2 = "multi/artifact/dir-2/file2.txt"
|
||||||
if(!(Test-Path -path $file1) -or !(Test-Path -path $file2))
|
if(!(Test-Path -path $file1) -or !(Test-Path -path $file2))
|
||||||
{
|
{
|
||||||
Write-Error "Expected files do not exist"
|
Write-Error "Expected files do not exist"
|
||||||
}
|
}
|
||||||
if(!((Get-Content $file1) -ceq "Lorem ipsum dolor sit amet") -or !((Get-Content $file2) -ceq "Hello world from file #2"))
|
if(!((Get-Content $file1) -ceq "Lorem ipsum dolor sit amet") -or !((Get-Content $file2) -ceq "Hello world from file #2"))
|
||||||
{
|
{
|
||||||
Write-Error "File contents of downloaded artifacts are incorrect"
|
Write-Error "File contents of downloaded artifacts are incorrect"
|
||||||
}
|
}
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
|
|
Loading…
Add table
Reference in a new issue