mirror of
https://github.com/actions/download-artifact.git
synced 2025-07-27 08:58:28 +02:00
Add end-to-end tests
This commit is contained in:
parent
6ced765a9f
commit
31a6534759
1 changed files with 113 additions and 0 deletions
113
.github/workflows/test.yml
vendored
Normal file
113
.github/workflows/test.yml
vendored
Normal file
|
@ -0,0 +1,113 @@
|
|||
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
|
||||
if: startsWith(matrix.os, '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
|
||||
if: startsWith(matrix.os, 'windows')
|
||||
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
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue