Skip to content

Commit e1e97b0

Browse files
authored
Implement comprehensive support for process services (#83)
* feat: Implement comprehensive support for process services - Updated version to 0.7.0 in pr-registry.json - Added .gitignore for process-services-test project - Created README.md for process-services-test project detailing service types and modes - Implemented FastAPI for HTTP service in api/main.py with health check endpoint - Added requirements.txt for FastAPI dependencies - Defined azure.yaml for process-services-test project with multiple service configurations - Developed CLI tool with TypeScript for process service modes (watch/build) - Created data processor in Python for task mode execution - Added .NET service with health check and watch mode - Implemented Go service with air.toml for hot reload - Developed TCP server for raw socket connections - Created web-watch service with Express for HTTP endpoints - Documented process services in archive and specs * chore: update Go version to 1.25.5 across all relevant files and documentation * chore: update Go version to 'stable' in CI workflows and documentation * chore: clean Go build cache in CI workflow and update .gitignore for Mage files * chore: update CI workflows to install specific Go version and improve setup steps
1 parent 07e6ba9 commit e1e97b0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+3039
-343
lines changed

.devcontainer/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ This devcontainer provides a complete development environment for the App Extens
55
## What's Included
66

77
### Languages & Runtimes
8-
- **Go 1.23** - Primary development language
8+
- **Go 1.25.5** - Primary development language
99
- **Node.js LTS** - For Node.js project testing
1010
- **Python 3.12** - For Python project testing
1111
- **.NET 8.0** - For .NET and Aspire project testing

.devcontainer/devcontainer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
33
// README at: https://github.com/devcontainers/templates/tree/main/src/go
44
"name": "App Extension for Azure Developer CLI",
5-
"image": "mcr.microsoft.com/devcontainers/go:1.25-bookworm",
5+
"image": "mcr.microsoft.com/devcontainers/go:1.25.5-bookworm",
66

77
"features": {
88
"ghcr.io/devcontainers/features/azure-cli:1": {

.github/workflows/ci.yml

Lines changed: 93 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ defaults:
1212
run:
1313
working-directory: cli
1414

15+
env:
16+
GO_VERSION: '1.25.5'
17+
1518
jobs:
1619
preflight:
1720
name: Preflight Checks
@@ -21,11 +24,23 @@ jobs:
2124
- name: Checkout code
2225
uses: actions/checkout@v4
2326

24-
- name: Set up Go
27+
- name: Set up Go (bootstrap)
2528
uses: actions/setup-go@v5
2629
with:
27-
go-version: '1.25'
28-
cache-dependency-path: cli/go.sum
30+
go-version: 'stable'
31+
cache: false
32+
33+
- name: Install Go ${{ env.GO_VERSION }}
34+
run: |
35+
go install golang.org/dl/go${{ env.GO_VERSION }}@latest
36+
go${{ env.GO_VERSION }} download
37+
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
38+
echo "GOROOT=$(go${{ env.GO_VERSION }} env GOROOT)" >> $GITHUB_ENV
39+
40+
- name: Use Go ${{ env.GO_VERSION }}
41+
run: |
42+
ln -sf $(which go${{ env.GO_VERSION }}) $(go env GOPATH)/bin/go
43+
go version
2944
3045
- name: Set up Node.js
3146
uses: actions/setup-node@v4
@@ -64,17 +79,37 @@ jobs:
6479
strategy:
6580
matrix:
6681
os: [ubuntu-latest, windows-latest, macos-latest]
67-
go-version: ['1.25']
6882

6983
steps:
7084
- name: Checkout code
7185
uses: actions/checkout@v4
7286

73-
- name: Set up Go
87+
- name: Set up Go (bootstrap)
7488
uses: actions/setup-go@v5
7589
with:
76-
go-version: ${{ matrix.go-version }}
77-
cache-dependency-path: cli/go.sum
90+
go-version: 'stable'
91+
cache: false
92+
93+
- name: Install Go ${{ env.GO_VERSION }} (Unix)
94+
if: runner.os != 'Windows'
95+
run: |
96+
go install golang.org/dl/go${{ env.GO_VERSION }}@latest
97+
go${{ env.GO_VERSION }} download
98+
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
99+
ln -sf $(which go${{ env.GO_VERSION }}) $(go env GOPATH)/bin/go
100+
101+
- name: Install Go ${{ env.GO_VERSION }} (Windows)
102+
if: runner.os == 'Windows'
103+
shell: pwsh
104+
run: |
105+
go install golang.org/dl/go${{ env.GO_VERSION }}@latest
106+
& go${{ env.GO_VERSION }} download
107+
$gopath = go env GOPATH
108+
"$gopath\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
109+
Copy-Item "$gopath\bin\go${{ env.GO_VERSION }}.exe" "$gopath\bin\go.exe" -Force
110+
111+
- name: Verify Go version
112+
run: go version
78113

79114
- name: Set up Node.js
80115
uses: actions/setup-node@v4
@@ -134,7 +169,7 @@ jobs:
134169
with:
135170
file: coverage/coverage.out
136171
flags: unittests
137-
name: codecov-${{ matrix.os }}-go-${{ matrix.go-version }}
172+
name: codecov-${{ matrix.os }}-go-${{ env.GO_VERSION }}
138173
token: ${{ secrets.CODECOV_TOKEN }}
139174
fail_ci_if_error: false
140175
verbose: true
@@ -160,11 +195,21 @@ jobs:
160195
- name: Checkout code
161196
uses: actions/checkout@v4
162197

163-
- name: Set up Go
198+
- name: Set up Go (bootstrap)
164199
uses: actions/setup-go@v5
165200
with:
166-
go-version: '1.25'
167-
cache-dependency-path: cli/go.sum
201+
go-version: 'stable'
202+
cache: false
203+
204+
- name: Install Go ${{ env.GO_VERSION }}
205+
run: |
206+
go install golang.org/dl/go${{ env.GO_VERSION }}@latest
207+
go${{ env.GO_VERSION }} download
208+
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
209+
ln -sf $(which go${{ env.GO_VERSION }}) $(go env GOPATH)/bin/go
210+
211+
- name: Verify Go version
212+
run: go version
168213

169214
- name: Set up Node.js
170215
uses: actions/setup-node@v4
@@ -202,11 +247,21 @@ jobs:
202247
- name: Checkout code
203248
uses: actions/checkout@v4
204249

205-
- name: Set up Go
250+
- name: Set up Go (bootstrap)
206251
uses: actions/setup-go@v5
207252
with:
208-
go-version: '1.25'
209-
cache-dependency-path: cli/go.sum
253+
go-version: 'stable'
254+
cache: false
255+
256+
- name: Install Go ${{ env.GO_VERSION }}
257+
run: |
258+
go install golang.org/dl/go${{ env.GO_VERSION }}@latest
259+
go${{ env.GO_VERSION }} download
260+
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
261+
ln -sf $(which go${{ env.GO_VERSION }}) $(go env GOPATH)/bin/go
262+
263+
- name: Verify Go version
264+
run: go version
210265

211266
- name: Set up Node.js
212267
uses: actions/setup-node@v4
@@ -246,17 +301,37 @@ jobs:
246301
fail-fast: false
247302
matrix:
248303
os: [ubuntu-latest, windows-latest, macos-latest]
249-
go-version: ['1.25']
250304

251305
steps:
252306
- name: Checkout code
253307
uses: actions/checkout@v4
254308

255-
- name: Set up Go
309+
- name: Set up Go (bootstrap)
256310
uses: actions/setup-go@v5
257311
with:
258-
go-version: ${{ matrix.go-version }}
259-
cache-dependency-path: cli/go.sum
312+
go-version: 'stable'
313+
cache: false
314+
315+
- name: Install Go ${{ env.GO_VERSION }} (Unix)
316+
if: runner.os != 'Windows'
317+
run: |
318+
go install golang.org/dl/go${{ env.GO_VERSION }}@latest
319+
go${{ env.GO_VERSION }} download
320+
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
321+
ln -sf $(which go${{ env.GO_VERSION }}) $(go env GOPATH)/bin/go
322+
323+
- name: Install Go ${{ env.GO_VERSION }} (Windows)
324+
if: runner.os == 'Windows'
325+
shell: pwsh
326+
run: |
327+
go install golang.org/dl/go${{ env.GO_VERSION }}@latest
328+
& go${{ env.GO_VERSION }} download
329+
$gopath = go env GOPATH
330+
"$gopath\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
331+
Copy-Item "$gopath\bin\go${{ env.GO_VERSION }}.exe" "$gopath\bin\go.exe" -Force
332+
333+
- name: Verify Go version
334+
run: go version
260335

261336
- name: Set up Node.js
262337
uses: actions/setup-node@v4

.github/workflows/pr-build.yml

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ defaults:
2525
run:
2626
working-directory: cli
2727

28+
env:
29+
GO_VERSION: '1.25.5'
30+
2831
jobs:
2932
# Check if build should run
3033
check-permission:
@@ -180,11 +183,21 @@ jobs:
180183
with:
181184
ref: ${{ steps.pr.outputs.sha }}
182185

183-
- name: Set up Go
186+
- name: Set up Go (bootstrap)
184187
uses: actions/setup-go@v5
185188
with:
186-
go-version: '1.25'
187-
cache-dependency-path: cli/go.sum
189+
go-version: 'stable'
190+
cache: false
191+
192+
- name: Install Go ${{ env.GO_VERSION }}
193+
run: |
194+
go install golang.org/dl/go${{ env.GO_VERSION }}@latest
195+
go${{ env.GO_VERSION }} download
196+
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
197+
ln -sf $(which go${{ env.GO_VERSION }}) $(go env GOPATH)/bin/go
198+
199+
- name: Verify Go version
200+
run: go version
188201

189202
- name: Set up Node.js
190203
uses: actions/setup-node@v4

.github/workflows/release.yml

Lines changed: 80 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ defaults:
1717
shell: bash
1818
working-directory: cli
1919

20+
env:
21+
GO_VERSION: '1.25.5'
22+
2023
jobs:
2124
preflight:
2225
name: Preflight Checks
@@ -26,11 +29,21 @@ jobs:
2629
- name: Checkout code
2730
uses: actions/checkout@v4
2831

29-
- name: Set up Go
32+
- name: Set up Go (bootstrap)
3033
uses: actions/setup-go@v5
3134
with:
32-
go-version: '1.25'
33-
cache-dependency-path: cli/go.sum
35+
go-version: 'stable'
36+
cache: false
37+
38+
- name: Install Go ${{ env.GO_VERSION }}
39+
run: |
40+
go install golang.org/dl/go${{ env.GO_VERSION }}@latest
41+
go${{ env.GO_VERSION }} download
42+
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
43+
ln -sf $(which go${{ env.GO_VERSION }}) $(go env GOPATH)/bin/go
44+
45+
- name: Verify Go version
46+
run: go version
3447

3548
- name: Set up Node.js
3649
uses: actions/setup-node@v4
@@ -66,17 +79,37 @@ jobs:
6679
strategy:
6780
matrix:
6881
os: [ubuntu-latest, windows-latest, macos-latest]
69-
go-version: ['1.25']
7082

7183
steps:
7284
- name: Checkout code
7385
uses: actions/checkout@v4
7486

75-
- name: Set up Go
87+
- name: Set up Go (bootstrap)
7688
uses: actions/setup-go@v5
7789
with:
78-
go-version: ${{ matrix.go-version }}
79-
cache-dependency-path: cli/go.sum
90+
go-version: 'stable'
91+
cache: false
92+
93+
- name: Install Go ${{ env.GO_VERSION }} (Unix)
94+
if: runner.os != 'Windows'
95+
run: |
96+
go install golang.org/dl/go${{ env.GO_VERSION }}@latest
97+
go${{ env.GO_VERSION }} download
98+
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
99+
ln -sf $(which go${{ env.GO_VERSION }}) $(go env GOPATH)/bin/go
100+
101+
- name: Install Go ${{ env.GO_VERSION }} (Windows)
102+
if: runner.os == 'Windows'
103+
shell: pwsh
104+
run: |
105+
go install golang.org/dl/go${{ env.GO_VERSION }}@latest
106+
& go${{ env.GO_VERSION }} download
107+
$gopath = go env GOPATH
108+
"$gopath\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
109+
Copy-Item "$gopath\bin\go${{ env.GO_VERSION }}.exe" "$gopath\bin\go.exe" -Force
110+
111+
- name: Verify Go version
112+
run: go version
80113

81114
- name: Set up Node.js
82115
uses: actions/setup-node@v4
@@ -136,7 +169,7 @@ jobs:
136169
with:
137170
file: coverage/coverage.out
138171
flags: unittests
139-
name: codecov-${{ matrix.os }}-go-${{ matrix.go-version }}
172+
name: codecov-${{ matrix.os }}-go-${{ env.GO_VERSION }}
140173
token: ${{ secrets.CODECOV_TOKEN }}
141174
fail_ci_if_error: false
142175
verbose: true
@@ -149,11 +182,21 @@ jobs:
149182
- name: Checkout code
150183
uses: actions/checkout@v4
151184

152-
- name: Set up Go
185+
- name: Set up Go (bootstrap)
153186
uses: actions/setup-go@v5
154187
with:
155-
go-version: '1.25'
156-
cache-dependency-path: cli/go.sum
188+
go-version: 'stable'
189+
cache: false
190+
191+
- name: Install Go ${{ env.GO_VERSION }}
192+
run: |
193+
go install golang.org/dl/go${{ env.GO_VERSION }}@latest
194+
go${{ env.GO_VERSION }} download
195+
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
196+
ln -sf $(which go${{ env.GO_VERSION }}) $(go env GOPATH)/bin/go
197+
198+
- name: Verify Go version
199+
run: go version
157200

158201
- name: Set up Node.js
159202
uses: actions/setup-node@v4
@@ -191,11 +234,21 @@ jobs:
191234
- name: Checkout code
192235
uses: actions/checkout@v4
193236

194-
- name: Set up Go
237+
- name: Set up Go (bootstrap)
195238
uses: actions/setup-go@v5
196239
with:
197-
go-version: '1.25'
198-
cache-dependency-path: cli/go.sum
240+
go-version: 'stable'
241+
cache: false
242+
243+
- name: Install Go ${{ env.GO_VERSION }}
244+
run: |
245+
go install golang.org/dl/go${{ env.GO_VERSION }}@latest
246+
go${{ env.GO_VERSION }} download
247+
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
248+
ln -sf $(which go${{ env.GO_VERSION }}) $(go env GOPATH)/bin/go
249+
250+
- name: Verify Go version
251+
run: go version
199252

200253
- name: Set up Node.js
201254
uses: actions/setup-node@v4
@@ -241,11 +294,21 @@ jobs:
241294
with:
242295
fetch-depth: 0
243296

244-
- name: Set up Go
297+
- name: Set up Go (bootstrap)
245298
uses: actions/setup-go@v5
246299
with:
247-
go-version: '1.25'
248-
cache-dependency-path: cli/go.sum
300+
go-version: 'stable'
301+
cache: false
302+
303+
- name: Install Go ${{ env.GO_VERSION }}
304+
run: |
305+
go install golang.org/dl/go${{ env.GO_VERSION }}@latest
306+
go${{ env.GO_VERSION }} download
307+
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
308+
ln -sf $(which go${{ env.GO_VERSION }}) $(go env GOPATH)/bin/go
309+
310+
- name: Verify Go version
311+
run: go version
249312

250313
- name: Set up Node.js
251314
uses: actions/setup-node@v4

0 commit comments

Comments
 (0)