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 :
2020-07-14 16:23:30 +03:00
- main
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 :
2020-01-27 18:21:50 +03:00
- uses : actions/setup-node@v1
with :
2022-03-01 00:17:29 +03:00
node-version : 16. x
2020-01-03 20:49:41 +03:00
- uses : actions/checkout@v2
2019-12-03 18:28:59 +03:00
- run : npm ci
- run : npm run build
- run : npm run format-check
- run : npm run lint
2019-12-12 21:49:26 +03:00
- run : npm test
2019-12-03 18:28:59 +03:00
- 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-13 08:00:48 +03:00
uses : actions/checkout@v2
2019-12-03 18:28:59 +03:00
# Basic checkout
2020-03-10 17:45:50 +03:00
- name : Checkout basic
2019-12-03 18:28:59 +03:00
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
2020-03-10 17:45:50 +03:00
- name : Checkout clean
2019-12-03 18:28:59 +03:00
uses : ./
with :
ref : test-data/v2/basic
path : basic
- name : Verify clean
shell : bash
run : __test__/verify-clean.sh
# Side by side
2020-03-10 17:45:50 +03:00
- name : Checkout side by side 1
2019-12-03 18:28:59 +03:00
uses : ./
with :
ref : test-data/v2/side-by-side-1
path : side-by-side-1
2020-03-10 17:45:50 +03:00
- name : Checkout side by side 2
2019-12-03 18:28:59 +03:00
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
2020-03-10 17:45:50 +03:00
- name : Checkout LFS
2019-12-03 18:28:59 +03:00
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
2020-03-05 22:21:59 +03:00
# Submodules false
2020-03-10 17:45:50 +03:00
- name : Checkout submodules false
2020-03-05 22:21:59 +03:00
uses : ./
with :
2020-03-10 17:45:50 +03:00
ref : test-data/v2/submodule-ssh-url
2020-03-05 22:21:59 +03:00
path : submodules-false
- name : Verify submodules false
run : __test__/verify-submodules-false.sh
# Submodules one level
2020-03-10 17:45:50 +03:00
- name : Checkout submodules true
2020-03-05 22:21:59 +03:00
uses : ./
with :
2020-03-10 17:45:50 +03:00
ref : test-data/v2/submodule-ssh-url
2020-03-05 22:21:59 +03:00
path : submodules-true
submodules : true
- name : Verify submodules true
run : __test__/verify-submodules-true.sh
# Submodules recursive
2020-03-10 17:45:50 +03:00
- name : Checkout submodules recursive
2020-03-05 22:21:59 +03:00
uses : ./
with :
2020-03-10 17:45:50 +03:00
ref : test-data/v2/submodule-ssh-url
2020-03-05 22:21:59 +03:00
path : submodules-recursive
submodules : recursive
- name : Verify submodules recursive
run : __test__/verify-submodules-recursive.sh
2020-01-27 18:21:50 +03:00
# Basic checkout using REST API
- name : Remove basic
if : runner.os != 'windows'
run : rm -rf basic
- name : Remove basic (Windows)
if : runner.os == 'windows'
shell : cmd
run : rmdir /s /q basic
- name : Override git version
if : runner.os != 'windows'
run : __test__/override-git-version.sh
- name : Override git version (Windows)
if : runner.os == 'windows'
run : __test__\\override-git-version.cmd
2020-03-10 17:45:50 +03:00
- name : Checkout basic using REST API
2020-01-27 18:21:50 +03:00
uses : ./
with :
ref : test-data/v2/basic
path : basic
- name : Verify basic
run : __test__/verify-basic.sh --archive
test-proxy :
runs-on : ubuntu-latest
container :
image : alpine/git:latest
options : --dns 127.0.0.1
services :
squid-proxy :
image : datadog/squid:latest
ports :
- 3128 : 3128
env :
https_proxy : http://squid-proxy:3128
steps :
# Clone this repo
- name : Checkout
2020-01-27 18:26:27 +03:00
uses : actions/checkout@v2
2020-01-27 18:21:50 +03:00
# Basic checkout using git
2020-03-10 17:45:50 +03:00
- name : Checkout basic
2020-01-27 18:21:50 +03:00
uses : ./
with :
ref : test-data/v2/basic
path : basic
- name : Verify basic
run : __test__/verify-basic.sh
# Basic checkout using REST API
- name : Remove basic
run : rm -rf basic
- name : Override git version
run : __test__/override-git-version.sh
- name : Basic checkout using REST API
uses : ./
with :
ref : test-data/v2/basic
path : basic
- name : Verify basic
run : __test__/verify-basic.sh --archive
test-bypass-proxy :
2019-12-12 21:16:16 +03:00
runs-on : ubuntu-latest
2020-01-27 18:21:50 +03:00
env :
https_proxy : http://no-such-proxy:3128
no_proxy : api.github.com,github.com
2019-12-12 21:16:16 +03:00
steps :
# Clone this repo
- name : Checkout
2019-12-13 08:00:48 +03:00
uses : actions/checkout@v2
2019-12-12 21:16:16 +03:00
2020-01-27 18:21:50 +03:00
# Basic checkout using git
2020-03-10 17:45:50 +03:00
- name : Checkout basic
2019-12-12 21:16:16 +03:00
uses : ./
with :
ref : test-data/v2/basic
path : basic
2020-01-27 18:21:50 +03:00
- name : Verify basic
run : __test__/verify-basic.sh
- name : Remove basic
run : rm -rf basic
# Basic checkout using REST API
- name : Override git version
run : __test__/override-git-version.sh
2020-03-10 17:45:50 +03:00
- name : Checkout basic using REST API
2020-01-27 18:21:50 +03:00
uses : ./
with :
ref : test-data/v2/basic
path : basic
2019-12-12 21:16:16 +03:00
- name : Verify basic
run : __test__/verify-basic.sh --archive