mirror of
https://github.com/actions/upload-artifact.git
synced 2025-04-05 10:57:35 +00:00
106 lines
2.6 KiB
YAML
106 lines
2.6 KiB
YAML
name: Test
|
|
on:
|
|
push:
|
|
paths-ignore:
|
|
- '**.md'
|
|
pull_request:
|
|
paths-ignore:
|
|
- '**.md'
|
|
|
|
jobs:
|
|
|
|
build:
|
|
name: Build
|
|
|
|
strategy:
|
|
matrix:
|
|
runs-on: [ubuntu-latest, macOS-latest, windows-latest]
|
|
fail-fast: false
|
|
|
|
runs-on: ${{ matrix.runs-on }}
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Set Node.js 12.x
|
|
uses: actions/setup-node@v1
|
|
with:
|
|
node-version: 12.x
|
|
|
|
- name: npm install
|
|
run: npm install
|
|
|
|
- name: Compile
|
|
run: npm run build
|
|
|
|
- name: npm test
|
|
run: npm test
|
|
|
|
- name: Lint
|
|
run: npm run lint
|
|
|
|
- name: Format
|
|
run: npm run format-check
|
|
|
|
# Test end-to-end by uploading two artifacts and then downloading them
|
|
- name: Create artifact files
|
|
run: |
|
|
mkdir -p path/to/dir-1
|
|
mkdir -p path/to/dir-2
|
|
echo "Lorem ipsum dolor sit amet" > path/to/dir-1/file1.txt
|
|
echo "Hello world from file #2" > path/to/dir-2/file2.txt
|
|
|
|
# Upload a single file artifact
|
|
- name: 'Upload artifact #1'
|
|
uses: ./
|
|
with:
|
|
name: 'Artifact-A'
|
|
path: path/to/dir-1/file1.txt
|
|
|
|
# Upload using a wildcard pattern, name should default to 'artifact' if not provided
|
|
- name: 'Upload artifact #2'
|
|
uses: ./
|
|
with:
|
|
path: path/**/dir*/
|
|
|
|
# Download Artifact #1 and verify the correctness of the content
|
|
- name: 'Download artifact #1'
|
|
uses: actions/download-artifact@v1
|
|
with:
|
|
name: 'Artifact-A'
|
|
path: some/new/path
|
|
|
|
- name: 'Verify Artifact #1'
|
|
run: |
|
|
$file = "some/new/path/file1.txt"
|
|
if(!(Test-Path -path $file))
|
|
{
|
|
Write-Error "Expected file does not exist"
|
|
}
|
|
if(!((Get-Content $file) -ceq "Lorem ipsum dolor sit amet"))
|
|
{
|
|
Write-Error "File contents of downloaded artifact are incorrect"
|
|
}
|
|
shell: pwsh
|
|
|
|
# Download Artifact #2 and verify the correctness of the content
|
|
- name: 'Download artifact #2'
|
|
uses: actions/download-artifact@v1
|
|
with:
|
|
name: 'artifact'
|
|
path: some/other/path
|
|
|
|
- name: 'Verify Artifact #2'
|
|
run: |
|
|
$file1 = "some/other/path/to/dir-1/file1.txt"
|
|
$file2 = "some/other/path/to/dir-2/file2.txt"
|
|
if(!(Test-Path -path $file1) -or !(Test-Path -path $file2))
|
|
{
|
|
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"))
|
|
{
|
|
Write-Error "File contents of downloaded artifacts are incorrect"
|
|
}
|
|
shell: pwsh
|