-
Notifications
You must be signed in to change notification settings - Fork 1
98 lines (96 loc) · 3.34 KB
/
ci.yaml
File metadata and controls
98 lines (96 loc) · 3.34 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
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
schedule:
- cron: "15 22 * * *"
workflow_dispatch:
inputs:
duration:
type: string
required: false # default set below b/c automated runs don't use this config
description: Test duration (minutes, default 30)
emails:
type: string
required: false # likewise, default set below
description: Email recipients (default notifies Zulip)
permissions:
contents: read
jobs:
Go:
name: Go Build, Test, and Lint
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v5
- name: Install Go
uses: actions/setup-go@v5
- name: Test
run: make test
- name: Lint
run: make lint
Antithesis:
name: Trigger Antithesis
needs: Go
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v5
- name: Initialize Docker
uses: docker/setup-buildx-action@v3
- name: Log Into Registry
uses: docker/login-action@v3
with:
registry: us-central1-docker.pkg.dev
username: _json_key
password: ${{ secrets.ANTITHESIS_GAR_KEY }}
- name: Extract Config Metadata
id: extract-config-metadata
uses: docker/metadata-action@v5
with:
images: us-central1-docker.pkg.dev/molten-verve-216720/demo-repository/valthree-config
tags: |
type=sha
demo
- name: Build Config
id: build-config
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.config
push: true
tags: ${{ steps.extract-config-metadata.outputs.tags }}
labels: ${{ steps.extract-config-metadata.outputs.labels }}
- name: Extract Valthree Metadata
id: extract-valthree-metadata
uses: docker/metadata-action@v5
with:
images: us-central1-docker.pkg.dev/molten-verve-216720/demo-repository/valthree
tags: |
type=sha
latest
- name: Build Valthree
id: build-valthree
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.valthree
push: true
tags: ${{ steps.extract-valthree-metadata.outputs.tags }}
labels: ${{ steps.extract-valthree-metadata.outputs.labels }}
- name: Trigger Antithesis
uses: antithesishq/antithesis-trigger-action@main
with:
notebook_name: valthree
tenant: demo
username: ${{ secrets.ANTITHESIS_USERNAME }}
password: ${{ secrets.ANTITHESIS_PASSWORD }}
github_token: ${{ secrets.GH_PAT }}
config_image: us-central1-docker.pkg.dev/molten-verve-216720/demo-repository/valthree-config@${{ steps.build-config.outputs.digest }}
images: us-central1-docker.pkg.dev/molten-verve-216720/demo-repository/valthree@${{ steps.build-valthree.outputs.digest }};docker.io/minio/minio:RELEASE.2025-07-23T15-54-02Z
description: "[${{ github.repository }}] CI for ${{ github.ref_name }} (commit ${{ github.sha }})"
email_recipients: ${{ github.event.inputs.emails || secrets.ZULIP_REPORT_EMAIL }}
additional_parameters: |-
antithesis.duration=${{ github.event.inputs.duration || '30' }}