-
Notifications
You must be signed in to change notification settings - Fork 6
133 lines (110 loc) · 3.32 KB
/
on-pull-request.yml
File metadata and controls
133 lines (110 loc) · 3.32 KB
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
name: On pull request
on:
pull_request:
branches: [main]
jobs:
commitlint:
runs-on: ubuntu-24.04
steps:
- name: Commitlint and Other Shared Build Steps
uses: momentohq/standards-and-practices/github-actions/shared-build@gh-actions-v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
readme:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v3
- name: Verify README generation
uses: momentohq/standards-and-practices/github-actions/oss-readme-template@gh-actions-v2
with:
project_status: official
project_stability: stable
project_type: sdk
sdk_language: Go
template_file: ./README.template.md
output_file: ./README.md
dev_docs_slug: go
- name: Verify CONTRIBUTING generation
uses: momentohq/standards-and-practices/github-actions/oss-readme-template@gh-actions-v2
with:
project_status: official
project_stability: stable
project_type: other
sdk_language: Go
template_file: CONTRIBUTING.template.md
output_file: ./CONTRIBUTING.md
dev_docs_slug: go
build:
runs-on: ubuntu-24.04
steps:
- name: Setup repo
uses: actions/checkout@v3
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: 1.19.x
- name: Install devtools
run: make install-devtools
- name: Lint
run: make lint
- name: golangci-lint
uses: golangci/golangci-lint-action@v3
with:
version: latest
only-new-issues: true
skip-pkg-cache: true
- name: Check for forbidden replace directives
run: make check-no-replace
# If there are any diffs from goimports or go mod tidy, fail.
- name: Verify no changes from goimports and go mod tidy
run: |
if [ -n "$(git status --porcelain)" ]; then
git diff
exit 1
fi
- name: Build
run: make build
- name: Build examples
run: make build-examples
test:
needs: build
runs-on: ubuntu-24.04
permissions:
contents: read
pull-requests: read
env:
MOMENTO_API_KEY: ${{ secrets.ALPHA_API_KEY_V2 }}
MOMENTO_ENDPOINT: "cell-alpha-dev.preprod.a.momentohq.com"
V1_API_KEY: ${{ secrets.ALPHA_TEST_AUTH_TOKEN }}
steps:
- name: Setup repo
uses: actions/checkout@v3
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: 1.19.x
- name: Install devtools
run: make install-devtools
- name: Run docs examples
run: make run-docs-examples
- name: Run test
run: make prod-test
test-momento-local:
needs: build
runs-on: ubuntu-24.04
steps:
- name: Setup repo
uses: actions/checkout@v3
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: 1.19.x
- name: Install devtools
run: make install-devtools
- name: Start Momento Local
run: |
docker run --cap-add=NET_ADMIN --rm -d -p 8080:8080 -p 9090:9090 gomomento/momento-local --enable-test-admin
- name: Run momento-local retry tests
env:
MOMENTO_PORT: 8080
run: make test-retry