download-artifact/.github/workflows/test.yml
Workflow config file is invalid. Please check your config file: yaml: line 73: mapping values are not allowed in this context
2020-02-20 16:38:06 -05:00

111 lines
No EOL
2.6 KiB
YAML

name: Test
on:
push:
branches:
- v2-preview
paths-ignore:
- '**.md'
pull_request:
branches:
- v2-preview
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: Lint
run: npm run lint
- name: Format
run: npm run format-check
# Test end-to-end by uploading two artifacts and then attempting to download them
- name: Create artifact A
run: |
mkdir -p path/to/artifact-A
echo hello? > path/to/artifact-A/world-A.txt
- name: Upload artifact A
uses: actions/upload-artifact@v1
with:
name: 'Artifact-A'
path: path/to/artifact-A
- name: Create artifact B
run: |
mkdir -p path/to/artifact-B
echo hello!! > path/to/artifact-B/world-B.txt
- name: Upload artifact B
uses: actions/upload-artifact@v1
with:
name: 'Artifact-B'
path: path/to/artifact-B
# Test downloading a single artifact
- name: Download artifact A
uses: ./
name: 'Artifact-A'
path: some/new/path
- name: Verify successful download - Windows
run: |
$file = "some/new/path/world-A.txt"
if(!(Test-Path -path $file))
{
Write-Error "Expected file does not exist"
}
$containsWord = $file | %{$_ -match "hello?"}
if(!($containsWord -contains $true))
{
Write-Error "File contents of downloaded artifact are incorrect"
}
shell: pwsh
# Test downloading both artifacts
- name: Download all Artifacts
uses: ./
path: some/other/path
- name: Verify successful download
run: |
$file1 = "some/other/path/Artifact-A/world-A.txt"
$file2 = "some/other/path/Artifact-B/world-B.txt"
if(!(Test-Path -path $file1) || !(Test-Path -path $file2))
{
Write-Error "Expected file does not exist"
}
$containsWordA = $file1 | %{$_ -match "hello?"}
$containsWordB = $file2 | %{$_ -match "hello!!"}
if(!($containsWordA -contains $true) || !($containsWordB -contains $true))
{
Write-Error "File contents of downloaded artifacts are incorrect"
}
shell: pwsh