1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-01-20 05:19:24 +02:00

189 lines
4.9 KiB
YAML
Raw Normal View History

2020-03-19 12:17:27 +01:00
name: Continuous Integration
2022-03-19 09:38:49 +11:00
env:
GO_VERSION: 1.18
on:
push:
branches:
- master
pull_request:
2020-03-19 12:17:27 +01:00
jobs:
unit-tests:
2021-10-09 14:16:48 +09:00
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- windows-latest
include:
- os: ubuntu-latest
2022-06-11 13:20:49 +10:00
cache_path: ~/.cache/go-build
- os: windows-latest
cache_path: ~\AppData\Local\go-build
2021-10-09 14:16:48 +09:00
name: ci - ${{matrix.os}}
runs-on: ${{matrix.os}}
env:
GOFLAGS: -mod=vendor
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Setup Go
uses: actions/setup-go@v1
with:
go-version: 1.18.x
- name: Cache build
uses: actions/cache@v3
with:
path: |
${{matrix.cache_path}}
~/go/pkg/mod
key: ${{runner.os}}-go-${{hashFiles('**/go.sum')}}-test
restore-keys: |
${{runner.os}}-go-
- name: Test code
# we're passing -short so that we skip the integration tests, which will be run in parallel below
run: |
go test ./... -short
2022-08-11 21:28:55 +10:00
integration-tests-old:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
parallelism: [5]
index: [0,1,2,3,4]
2022-08-11 21:28:55 +10:00
name: "Integration Tests (Old pattern) (${{ matrix.index }}/${{ matrix.parallelism }})"
env:
GOFLAGS: -mod=vendor
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Setup Go
uses: actions/setup-go@v1
with:
go-version: 1.18.x
- name: Cache build
uses: actions/cache@v1
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: ${{runner.os}}-go-${{hashFiles('**/go.sum')}}-test
restore-keys: |
${{runner.os}}-go-
- name: Test code
run: |
PARALLEL_TOTAL=${{ matrix.parallelism }} PARALLEL_INDEX=${{ matrix.index }} go test pkg/integration/deprecated/*.go
integration-tests:
runs-on: ubuntu-latest
name: "Integration Tests"
2020-03-19 12:17:27 +01:00
env:
GOFLAGS: -mod=vendor
steps:
2020-03-20 14:27:22 +01:00
- name: Checkout code
2020-03-19 12:17:27 +01:00
uses: actions/checkout@v2
2020-03-20 14:27:22 +01:00
- name: Setup Go
uses: actions/setup-go@v1
with:
2022-03-19 09:38:49 +11:00
go-version: 1.18.x
2020-03-20 14:27:22 +01:00
- name: Cache build
uses: actions/cache@v1
with:
2022-06-11 13:11:56 +10:00
path: |
~/.cache/go-build
~/go/pkg/mod
2021-07-27 22:03:37 +02:00
key: ${{runner.os}}-go-${{hashFiles('**/go.sum')}}-test
2020-03-20 14:27:22 +01:00
restore-keys: |
${{runner.os}}-go-
- name: Test code
2020-03-19 12:17:27 +01:00
run: |
2022-08-14 14:33:44 +10:00
go test pkg/integration/clients/*.go
2021-07-27 22:03:37 +02:00
build:
runs-on: ubuntu-latest
env:
GOFLAGS: -mod=vendor
GOARCH: amd64
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Setup Go
uses: actions/setup-go@v1
with:
2022-03-19 09:38:49 +11:00
go-version: 1.18.x
2021-07-27 22:03:37 +02:00
- name: Cache build
uses: actions/cache@v1
with:
2022-06-11 13:11:56 +10:00
path: |
~/.cache/go-build
~/go/pkg/mod
2021-07-27 22:03:37 +02:00
key: ${{runner.os}}-go-${{hashFiles('**/go.sum')}}-build
restore-keys: |
${{runner.os}}-go-
- name: Build linux binary
run: |
GOOS=linux go build
- name: Build windows binary
run: |
GOOS=windows go build
- name: Build darwin binary
run: |
GOOS=darwin go build
2022-01-04 10:46:14 +11:00
check-cheatsheet:
runs-on: ubuntu-latest
env:
GOFLAGS: -mod=vendor
GOARCH: amd64
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Setup Go
uses: actions/setup-go@v1
with:
2022-03-19 09:38:49 +11:00
go-version: 1.18.x
2022-01-04 10:46:14 +11:00
- name: Cache build
uses: actions/cache@v1
with:
2022-06-11 13:11:56 +10:00
path: |
~/.cache/go-build
~/go/pkg/mod
2022-01-04 10:46:14 +11:00
key: ${{runner.os}}-go-${{hashFiles('**/go.sum')}}-build
restore-keys: |
${{runner.os}}-go-
- name: Check Cheatsheet
run: |
go run scripts/cheatsheet/main.go check
2022-01-04 11:03:29 +11:00
lint:
runs-on: ubuntu-latest
2022-03-19 09:38:49 +11:00
env:
GOFLAGS: -mod=vendor
2022-01-04 11:03:29 +11:00
steps:
2022-03-19 09:38:49 +11:00
- name: Checkout code
2022-01-04 11:03:29 +11:00
uses: actions/checkout@v2
2022-03-19 09:38:49 +11:00
- name: Setup Go
uses: actions/setup-go@v1
with:
go-version: 1.18.x
- name: Cache build
uses: actions/cache@v1
with:
2022-06-11 13:11:56 +10:00
path: |
~/.cache/go-build
~/go/pkg/mod
2022-03-19 09:38:49 +11:00
key: ${{runner.os}}-go-${{hashFiles('**/go.sum')}}-test
restore-keys: |
${{runner.os}}-go-
2022-01-04 11:03:29 +11:00
- name: Lint
2022-03-19 09:38:49 +11:00
uses: golangci/golangci-lint-action@v3.1.0
2022-01-04 11:03:29 +11:00
with:
version: latest
- name: Format code
run: |
if [ $(find . ! -path "./vendor/*" -name "*.go" -exec gofmt -s -d {} \;|wc -l) -gt 0 ]; then
find . ! -path "./vendor/*" -name "*.go" -exec gofmt -s -d {} \;
exit 1
fi
2022-01-15 15:12:10 +11:00
- name: errors
run: golangci-lint run
if: ${{ failure() }}