1
+ name : Smriti Worker CI
2
+ on :
3
+ push :
4
+ branches :
5
+ - master
6
+ paths :
7
+ - worker/**
8
+ - .github/workflows/worker.yaml
9
+ pull_request :
10
+ branches :
11
+ - master
12
+ paths :
13
+ - worker/**
14
+ - .github/workflows/worker.yaml
15
+ release :
16
+ types : [published]
17
+ jobs :
18
+ ci :
19
+ name : Integration Check
20
+ runs-on : ubuntu-latest
21
+ defaults :
22
+ run :
23
+ working-directory : ./worker
24
+ steps :
25
+ - name : Git Checkout
26
+ uses : actions/checkout@v4
27
+ - name : Setup cmake
28
+ uses : jwlawson/actions-setup-cmake@v2
29
+ with :
30
+ cmake-version : ' 3.30.x'
31
+ - name : CMake Version
32
+ run : cmake --version
33
+ - name : Install Dependencies
34
+ run : make install
35
+ - name : Run Lint
36
+ run : make lint
37
+ - name : Run Test & Cover
38
+ run : |
39
+ make test-install
40
+ make cover
41
+ - name : Publish Coverage
42
+ uses : codecov/codecov-action@v5
43
+ with :
44
+ token : ${{ secrets.CODECOV_TOKEN }}
45
+ flags : worker
46
+ files : worker/coverage.xml
47
+ publish :
48
+ if : ${{ (github.event_name == 'release' && github.event.action == 'published') || github.ref == 'refs/heads/master' }}
49
+ needs : ci
50
+ name : Publish Docker Image
51
+ runs-on : ubuntu-latest
52
+ defaults :
53
+ run :
54
+ working-directory : ./worker
55
+ steps :
56
+ - name : Git Checkout
57
+ uses : actions/checkout@v4
58
+ - name : Setup QEMU
59
+ uses : docker/setup-qemu-action@v3
60
+ - name : Setup Docker Buildx
61
+ uses : docker/setup-buildx-action@v3
62
+ - name : Login to Docker Hub
63
+ uses : docker/login-action@v3
64
+ with :
65
+ username : ${{ secrets.DOCKER_USER }}
66
+ password : ${{ secrets.DOCKER_PASSWORD }}
67
+ - name : Docker Build and Push
68
+ uses : docker/build-push-action@v6
69
+ with :
70
+ context : worker
71
+ file : ./worker/Dockerfile
72
+ push : true
73
+ platforms : linux/amd64,linux/arm64/v8
74
+ build-args : |
75
+ GITSHA=${{ github.sha }}
76
+ VERSION=${ github.ref_name }}
77
+ tags : smritihq/worker:${{ github.ref_name }}
0 commit comments