2019-12-03 18:28:59 +03:00
name : Build and Test
2019-10-25 17:52:59 +03:00
on :
pull_request :
push :
branches :
- master
2019-12-03 18:28:59 +03:00
- releases/*
2019-10-25 17:52:59 +03:00
jobs :
2019-12-03 18:28:59 +03:00
build :
runs-on : ubuntu-latest
steps :
- uses: actions/checkout@v1 # todo : switch to v2
- run : npm ci
- run : npm run build
- run : npm run format-check
- run : npm run lint
- run : npm run pack
- run : npm run gendocs
- name : Verify no unstaged changes
run : __test__/verify-no-unstaged-changes.sh
2019-10-25 17:52:59 +03:00
test :
strategy :
matrix :
2019-12-03 18:28:59 +03:00
runs-on : [ ubuntu-latest, macos-latest, windows-latest]
runs-on : ${{ matrix.runs-on }}
2019-10-25 17:52:59 +03:00
steps :
2019-12-03 18:28:59 +03:00
# Clone this repo
- name : Checkout
2019-12-12 21:16:16 +03:00
uses : actions/checkout@v2-beta
2019-12-03 18:28:59 +03:00
# Basic checkout
- name : Basic checkout
uses : ./
with :
ref : test-data/v2/basic
path : basic
- name : Verify basic
shell : bash
run : __test__/verify-basic.sh
# Clean
- name : Modify work tree
shell : bash
run : __test__/modify-work-tree.sh
- name : Clean checkout
uses : ./
with :
ref : test-data/v2/basic
path : basic
- name : Verify clean
shell : bash
run : __test__/verify-clean.sh
# Side by side
- name : Side by side checkout 1
uses : ./
with :
ref : test-data/v2/side-by-side-1
path : side-by-side-1
- name : Side by side checkout 2
uses : ./
with :
ref : test-data/v2/side-by-side-2
path : side-by-side-2
- name : Verify side by side
shell : bash
run : __test__/verify-side-by-side.sh
# LFS
- name : LFS checkout
uses : ./
with :
repository : actions/checkout # hardcoded, otherwise doesn't work from a fork
ref : test-data/v2/lfs
path : lfs
lfs : true
- name : Verify LFS
shell : bash
run : __test__/verify-lfs.sh
2019-12-12 21:16:16 +03:00
test-job-container :
runs-on : ubuntu-latest
container : pstauffer/curl:latest
steps :
# Clone this repo
# todo: after v2-beta contains the latest changes, switch this to "uses: actions/checkout@v2-beta". Also switch to "alpine:latest"
- name : Checkout
run : |
curl --location --user token:${{ github.token }} --output checkout.tar.gz https://api.github.com/repos/actions/checkout/tarball/${{ github.sha }}
tar -xzf checkout.tar.gz
mv */* ./
# Basic checkout
- name : Basic checkout
uses : ./
with :
ref : test-data/v2/basic
path : basic
- name : Verify basic
run : __test__/verify-basic.sh --archive