@@ -8,6 +8,121 @@ permissions:
88 contents : write
99
1010jobs :
11+ build-dashboard :
12+ runs-on : ubuntu-latest
13+ steps :
14+ - uses : actions/checkout@v4
15+ with :
16+ fetch-depth : 0
17+ - uses : actions/setup-go@v5
18+ with :
19+ go-version : 1.25.5
20+ - uses : ./.github/actions/build-release-notes
21+ - uses : actions/setup-node@v4
22+ with :
23+ node-version : 23
24+ registry-url : ' https://registry.npmjs.org'
25+ - run : npm install
26+ working-directory : ./webui
27+ - name : Install taskfile
28+ run : sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b ~/.local/bin
29+ - name : Build
30+ run : task build-vue-app
31+ env :
32+ CGO_ENABLED : 0
33+ - name : Upload UI artifact
34+ uses : actions/upload-artifact@v4
35+ with :
36+ name : dashboard
37+ path : webui/dist
38+
39+ release-unix :
40+ needs : build-dashboard
41+ runs-on : ubuntu-latest
42+ env :
43+ DOCKER_CLI_EXPERIMENTAL : " enabled"
44+ steps :
45+ - uses : actions/checkout@v4
46+ with :
47+ fetch-depth : 0
48+ - name : Download dashboard
49+ uses : actions/download-artifact@v4
50+ with :
51+ name : dashboard
52+ path : webui/dist
53+ - name : Set up QEMU
54+ uses : docker/setup-qemu-action@v3
55+ - name : Set up Docker Buildx
56+ uses : docker/setup-buildx-action@v3
57+ - name : Docker Login
58+ uses : docker/login-action@v1
59+ with :
60+ username : marle3003
61+ password : ${{ secrets.DOCKER_PASSWORD }}
62+ - uses : actions/setup-go@v5
63+ with :
64+ go-version : 1.25.5
65+ - name : Run GoReleaser
66+ uses : goreleaser/goreleaser-action@v6
67+ with :
68+ version : latest
69+ args : release --clean
70+ env :
71+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
72+ TAP_GITHUB_TOKEN : ${{ secrets.TAP_GITHUB_TOKEN }}
73+
74+ release-windows :
75+ needs : build-dashboard
76+ runs-on : windows-latest
77+ steps :
78+ - uses : actions/checkout@v4
79+ with :
80+ fetch-depth : 0
81+ - name : Download dashboard
82+ uses : actions/download-artifact@v4
83+ with :
84+ name : dashboard
85+ path : webui/dist
86+ - uses : actions/setup-go@v5
87+ with :
88+ go-version : 1.25.5
89+ - uses : actions/setup-node@v4
90+ with :
91+ node-version : 23
92+ registry-url : ' https://registry.npmjs.org'
93+ - run : choco install go-task
94+ - name : Install goversioninfo
95+ run : go install github.com/josephspurrier/goversioninfo/cmd/goversioninfo@v1.4.0
96+ - name : Generate Windows metadata (.syso)
97+ working-directory : ./cmd/mokapi
98+ shell : pwsh
99+ run : |
100+ $versionParts = ($env:GITHUB_REF -replace '.*/v', '').Split('.')
101+ '{}' | Out-File versioninfo.json -NoNewline ascii
102+ goversioninfo -64 `
103+ -platform-specific='true' `
104+ -charset="1200" `
105+ -company="Mokapi OpenSource" `
106+ -copyright="© Marcel Lehmann. Licensed under MIT." `
107+ -description="Your API Mocking Tool for Agile Development, using Go and JavaScript" `
108+ -icon="../../icon.ico" `
109+ -internal-name="mokapi" `
110+ -original-name="mokapi.exe" `
111+ -product-name="mokapi" `
112+ -translation="0x0409" `
113+ -ver-major="$($versionParts[0])" `
114+ -ver-minor="$($versionParts[1])" `
115+ -ver-patch="$($versionParts[2])" `
116+ -product-version="$($versionParts[0]).$($versionParts[1]).$($versionParts[2])"
117+
118+ - name : Run GoReleaser
119+ uses : goreleaser/goreleaser-action@v6
120+ with :
121+ version : latest
122+ args : release -f .goreleaser.windows.yml --clean
123+ env :
124+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
125+ CHOCOLATEY_API_KEY : ${{ secrets.CHOCOLATEY_API_KEY }}
11126
12127 release-npm :
13128 runs-on : ubuntu-latest
0 commit comments