6
6
branches-ignore :
7
7
- main
8
8
9
- env :
10
- GOPRIVATE : github.com/slingdata-io/*
11
-
12
- concurrency :
13
- group : ${{ github.workflow }}-${{ github.ref }}
14
- cancel-in-progress : true
15
-
16
9
jobs :
17
- build :
18
- runs-on : [self-hosted, linux, ubuntu-16]
19
- timeout-minutes : 15
20
-
21
- outputs :
22
- VERSION : ${{ steps.get_version.outputs.VERSION }}
23
-
10
+ trigger :
11
+ runs-on : ubuntu-latest
24
12
steps :
25
- - uses : actions/checkout@v2
26
-
27
- - name : Set up GoLang
28
- uses : actions/setup-go@v3
29
- with :
30
- go-version : " 1.24"
31
- cache : false
32
-
33
- - name : Get the version
34
- id : get_version
35
- run : |
36
- VERSION="${GITHUB_REF##*/}.dev"
37
- echo "VERSION -> $VERSION"
38
- DATE=$(date +%F)
39
- VERSION=$(echo $VERSION | sed 's/^v//')
40
- echo "VERSION -> $VERSION"
41
- VERSION="$VERSION/$DATE"
42
- echo "VERSION -> $VERSION"
43
- echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
44
-
45
- - id : step1
46
- name : Build
47
- env :
48
- VERSION : ${{ steps.get_version.outputs.VERSION }}
49
- run : |
50
- bash scripts/build.sh
51
- echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
52
-
53
- release :
54
- if : " ! (contains(github.event.inputs.build_only, 'true'))"
55
- needs : [build]
56
- runs-on : ${{ matrix.runner }}
57
- timeout-minutes : 25
58
-
59
- strategy :
60
- fail-fast : false
61
- matrix :
62
- # runner: [self-hosted-mac, self-hosted-linux, self-hosted-windows]
63
- runner : [self-hosted-mac, ubuntu-16, windows-latest]
64
- # runner: [self-hosted-mac, ubuntu-16, self-hosted-windows]
65
- # runner: [self-hosted-mac, ubuntu-16]
66
-
67
- steps :
68
- - name : Checkout
69
- uses : actions/checkout@v1
70
- with :
71
- fetch-depth : 0
72
-
73
- - name : Dump context
74
- env :
75
- JOB_CONTEXT : ${{ toJson(job) }}
76
- MATRIX_CONTEXT : ${{ toJson(matrix) }}
77
- RUNNER_CONTEXT : ${{ toJson(runner) }}
78
- run : |
79
- echo "JOB_CONTEXT -> $JOB_CONTEXT"
80
- echo "MATRIX_CONTEXT -> $MATRIX_CONTEXT"
81
- echo "RUNNER_CONTEXT -> $RUNNER_CONTEXT"
82
- echo "VERSION -> ${{ needs.build.outputs.VERSION }}"
83
-
84
- - name : Set up GoLang
85
- uses : actions/setup-go@v3
13
+ - name : Trigger Dev Build
14
+ uses : peter-evans/repository-dispatch@v2
86
15
with :
87
- go-version : " 1.24"
88
- cache : false
89
-
90
- - name : Load Secrets
91
- uses : flarco/infisical-action@v3
92
- with :
93
- version : 0.28.1
94
- client_id : ${{ secrets.INFISICAL_CLIENT_ID }}
95
- client_secret : ${{ secrets.INFISICAL_CLIENT_SECRET }}
96
- use_system_python : true
97
-
98
- - name : Build Sling (Linux)
99
- env :
100
- VERSION : ${{ needs.build.outputs.VERSION }}
101
- if : runner.os == 'linux'
102
- run : |
103
- # Prep
104
- bash scripts/ci/prep.linux.sh
105
-
106
- # build
107
- bash scripts/ci/build.linux.sh $VERSION
108
-
109
- - name : Build Sling (Mac)
110
- env :
111
- VERSION : ${{ needs.build.outputs.VERSION }}
112
- if : runner.os == 'macOS'
113
- run : |
114
- # Prep
115
- bash scripts/ci/prep.mac.sh
116
-
117
- # build
118
- bash scripts/ci/build.mac.sh $VERSION
119
-
120
-
121
- - name : Configure Pagefile (Windows)
122
- if : runner.os == 'windows'
123
-
124
- with :
125
- minimum-size : 16GB
126
- maximum-size : 16GB
127
- disk-root : " C:"
128
-
129
- - name : Build Sling (Windows)
130
- env :
131
- VERSION : ${{ needs.build.outputs.VERSION }}
132
- if : runner.os == 'windows'
133
- shell : pwsh
134
- run : |
135
- $ErrorActionPreference = "Stop"
136
-
137
- # Prep
138
- .\scripts\ci\prep.win.ps1
139
-
140
- # Build
141
- .\scripts\ci\build.win.ps1 $env:VERSION
142
-
143
- - name : Upload to R2 (Windows)
144
- if : runner.os == 'windows'
145
- shell : pwsh
146
- run : .\mc.exe cp sling_windows_amd64.tar.gz R2/sling-public/dev/latest/
147
-
148
- - name : Upload to R2 (Unix)
149
- if : runner.os != 'windows'
150
- run : mc cp *.tar.gz R2/sling-public/dev/latest/
151
-
152
- - name : Purge Cache
153
- if : runner.os == 'linux'
154
- run : |
155
- curl 'https://api.cloudflare.com/client/v4/zones/c4605fd9cf8ddcd00671858bbd16ffac/purge_cache' \
156
- -H "X-Auth-Key: $CF_AUTH_KEY" \
157
- -H "X-Auth-Email: $CF_AUTH_EMAIL" \
158
- --data-raw '{"files":["https://f.slingdata.io/dev/latest/sling_linux_amd64.tar.gz","https://f.slingdata.io/dev/latest/sling_linux_arm64.tar.gz","https://f.slingdata.io/dev/latest/sling_darwin_amd64.tar.gz","https://f.slingdata.io/dev/latest/sling_darwin_arm64.tar.gz","https://f.slingdata.io/dev/latest/sling_windows_amd64.tar.gz"]}'
16
+ token : ${{ secrets.REPO_ACCESS_TOKEN }}
17
+ repository : slingdata-io/sling
18
+ event-type : build-dev
19
+ client-payload : ' {"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}'
0 commit comments