-
Notifications
You must be signed in to change notification settings - Fork 0
137 lines (116 loc) · 3.21 KB
/
got.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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# This workflow will build a golang project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go
name: Got
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
test-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: 1.23
- name: Install got with coverage
run: |
go install -cover ./cmd/got
mkdir -p coverage
echo "GOCOVERDIR=$PWD/coverage" >> $GITHUB_ENV
- name: Test init project
run: got init ../foo
- name: Test build project
env:
GP_INJECT_DEBUG: "1"
run: |
Set-PSDebug -Trace 2
cd ../foo
dir .deps/python/lib/pkgconfig
got build -o foo.exe .
got exec dir
$env:PATH=".deps/python;$env:PATH"
$env:PATH
./foo.exe
- name: Test run project
env:
GP_INJECT_DEBUG: "1"
run: |
cd ../foo
got run -v .
- name: Test install project
run: |
cd ../foo
got install -v .
- name: Convert coverage data
run: |
go tool covdata textfmt -i=coverage -o coverage.integration.txt
echo "mode: atomic" > final_coverage.txt
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.integration.txt
flags: integration
name: codecov-umbrella
fail_ci_if_error: true
test:
continue-on-error: true
strategy:
fail-fast: false
matrix:
os:
- macos-latest
- ubuntu-24.04
defaults:
run:
shell: bash
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: 1.23
- name: Install got with coverage
run: |
go install -cover ./cmd/got
mkdir -p coverage
echo "GOCOVERDIR=$PWD/coverage" >> $GITHUB_ENV
- name: Test init project
run: got init $HOME/foo
- name: Test build project
env:
GP_INJECT_DEBUG: "1"
run: |
set -x
cd $HOME/foo
got exec env
ls $HOME/foo/.deps/python/lib/pkgconfig
got build -o foo .
got exec ls -lh
./foo
- name: Test run project
env:
GP_INJECT_DEBUG: "1"
run: |
cd $HOME/foo
got run -v .
- name: Test install project
run: |
cd $HOME/foo
got install -v .
- name: Convert coverage data
run: |
go tool covdata textfmt -i=coverage -o coverage.integration.txt
echo "mode: atomic" > final_coverage.txt
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.integration.txt
flags: integration
name: codecov-umbrella
fail_ci_if_error: true