-
Notifications
You must be signed in to change notification settings - Fork 2k
101 lines (100 loc) · 3.14 KB
/
ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
name: CI
on: [push, pull_request]
jobs:
build-default:
name: Build with default Git
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v1
- run: script/cibuild
- run: CGO_ENABLED=0 make release
- run: mkdir -p bin/assets
- run: find bin/releases -name "*$(uname -s | tr A-Z a-z)*" | xargs -I{} cp {} bin/assets
- uses: actions/upload-artifact@v1
with:
name: ${{ matrix.os }}
path: bin/assets
build-go:
name: Build with specific Go
strategy:
matrix:
go: ['1.12.x', '1.13.x']
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/setup-go@v1
with:
go-version: ${{ matrix.go }}
- run: script/cibuild
build-windows:
name: Build on Windows
runs-on: windows-latest
steps:
- uses: actions/checkout@v1
- run: |
echo "::add-path::C:\Program Files\Git\mingw64\bin"
echo "::add-path::C:\Program Files\Git\usr\bin"
echo "::add-path::C:\Program Files\Git\bin"
- run: mkdir -p "$HOME/go/bin"
shell: bash
- run: set GOPATH=%HOME%\go
- run: cinst InnoSetup -y
- run: cinst strawberryperl -y
- run: refreshenv
- run: GOPATH="$HOME/go" PATH="$HOME/go/bin:$PATH" go get github.com/josephspurrier/goversioninfo/cmd/goversioninfo
shell: bash
- run: GOPATH="$HOME/go" PATH="$HOME/go/bin:$PATH" script/cibuild
shell: bash
- run: rm -f commands/mancontent_gen.go
shell: bash
- run: GOPATH="$HOME/go" PATH="$HOME/go/bin:$PATH" make GOARCH=386 -B
shell: bash
- run: mv bin\git-lfs.exe git-lfs-x86.exe
- run: rm -f commands/mancontent_gen.go
shell: bash
- run: GOPATH="$HOME/go" PATH="$HOME/go/bin:$PATH" make GOARCH=amd64 -B
shell: bash
- run: mv bin\git-lfs.exe git-lfs-x64.exe
- run: iscc script\windows-installer\inno-setup-git-lfs-installer.iss
- run: mkdir -p bin/assets
shell: bash
- run: mv *.exe bin/assets
shell: bash
- uses: actions/upload-artifact@v1
with:
name: windows-latest
path: bin/assets
build-latest:
name: Build with latest Git
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v1
- run: git clone -b master https://github.com/git/git.git "$HOME/git"
- run: script/build-git "$HOME/git"
- run: script/cibuild
build-earliest:
name: Build with earliest Git
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v1
- run: git clone -b v2.0.0 https://github.com/git/git.git "$HOME/git"
- run: script/build-git "$HOME/git"
- run: script/cibuild
build-docker:
name: Build Linux packages
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/setup-ruby@v1
- run: git clone https://github.com/git-lfs/build-dockers.git "$HOME/build-dockers"
- run: (cd "$HOME/build-dockers" && ./build_dockers.bsh)
- run: DOCKER_AUTOPULL=0 ./docker/run_dockers.bsh --prune