mirror of
https://code.forgejo.org/forgejo/download-artifact.git
synced 2024-12-13 09:47:40 +01:00
104 lines
2.5 KiB
YAML
104 lines
2.5 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: Lint
|
||
|
run: npm run lint
|
||
|
|
||
|
- name: Format
|
||
|
run: npm run format-check
|
||
|
|
||
|
# Test end-to-end by uploading two artifacts and then downloading them
|
||
|
# Once upload-artifact v2 is out of preview, switch over
|
||
|
- name: Create artifacts
|
||
|
run: |
|
||
|
mkdir -p path/to/artifact-A
|
||
|
mkdir -p path/to/artifact-B
|
||
|
echo "Lorem ipsum dolor sit amet" > path/to/artifact-A/file-A.txt
|
||
|
echo "Hello world from file B" > path/to/artifact-B/file-B.txt
|
||
|
|
||
|
- name: Upload artifact A
|
||
|
uses: actions/upload-artifact@v1
|
||
|
with:
|
||
|
name: 'Artifact-A'
|
||
|
path: path/to/artifact-A
|
||
|
|
||
|
- 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: ./
|
||
|
with:
|
||
|
name: 'Artifact-A'
|
||
|
path: some/new/path
|
||
|
|
||
|
- name: Verify successful download
|
||
|
run: |
|
||
|
$file = "some/new/path/file-A.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
|
||
|
|
||
|
# Test downloading both artifacts at once
|
||
|
- name: Download all Artifacts
|
||
|
uses: ./
|
||
|
with:
|
||
|
path: some/other/path
|
||
|
|
||
|
- name: Verify successful download
|
||
|
run: |
|
||
|
$fileA = "some/other/path/Artifact-A/file-A.txt"
|
||
|
$fileB = "some/other/path/Artifact-B/file-B.txt"
|
||
|
if(!(Test-Path -path $fileA) -or !(Test-Path -path $fileB))
|
||
|
{
|
||
|
Write-Error "Expected files do not exist"
|
||
|
}
|
||
|
if(!((Get-Content $fileA) -ceq "Lorem ipsum dolor sit amet") -or !((Get-Content $fileB) -ceq "Hello world from file B"))
|
||
|
{
|
||
|
Write-Error "File contents of downloaded artifacts are incorrect"
|
||
|
}
|
||
|
shell: pwsh
|
||
|
|
||
|
|