Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
ollama
Commits
e8061840
Commit
e8061840
authored
Jan 31, 2025
by
Michael Yang
Browse files
fix release workflow
parent
50566113
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
53 additions
and
47 deletions
+53
-47
.github/workflows/release.yaml
.github/workflows/release.yaml
+29
-28
macapp/forge.config.ts
macapp/forge.config.ts
+1
-1
scripts/build_darwin.sh
scripts/build_darwin.sh
+14
-16
scripts/build_windows.ps1
scripts/build_windows.ps1
+9
-2
No files found.
.github/workflows/release.yaml
View file @
e8061840
...
...
@@ -81,7 +81,7 @@ jobs:
path
:
dist/darwin-arm64
-
run
:
|
export VERSION=${GITHUB_REF_NAME#v}
./scripts/build_darwin.sh macapp
sign
./scripts/build_darwin.sh
sign
macapp
env
:
APPLE_IDENTITY
:
${{ secrets.APPLE_IDENTITY }}
APPLE_PASSWORD
:
${{ secrets.APPLE_PASSWORD }}
...
...
@@ -197,33 +197,38 @@ jobs:
env
:
GOFLAGS
:
${{ needs.setup-environment.outputs.GOFLAGS }}
steps
:
-
name
:
Install system dependencies
-
name
:
Install AMD64 system dependencies
if
:
matrix.arch == 'amd64'
run
:
|
$ErrorActionPreference = "Stop"
Start-Process "C:\msys64\usr\bin\pacman.exe" -ArgumentList @("-S", "--noconfirm", "mingw-w64-clang-x86_64-gcc-compat", "mingw-w64-clang-x86_64-clang") -NoNewWindow -Wait
echo "C:\msys64\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
echo "C:\msys64\clang64\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
-
name
:
Install ARM64 system dependencies
if
:
matrix.arch == 'arm64'
run
:
|
$ErrorActionPreference = "Stop"
if ("${{ matrix.arch }}" -eq 'amd64') {
Start-Process "C:\msys64\usr\bin\pacman.exe" -ArgumentList @("-S", "--noconfirm", "mingw-w64-clang-x86_64-gcc-compat", "mingw-w64-clang-x86_64-clang") -NoNewWindow -Wait
echo "C:\msys64\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
echo "C:\msys64\clang64\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
} elseif ("${{ matrix.arch }}" -eq 'arm64') {
Set-ExecutionPolicy Bypass -Scope Process -Force
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
echo "C:\ProgramData\chocolatey\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
Set-ExecutionPolicy Bypass -Scope Process -Force
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
echo "C:\ProgramData\chocolatey\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
choco install -y --no-progress git gzip
echo "C:\Program Files\Git\cmd" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
choco install -y --no-progress git gzip
echo "C:\Program Files\Git\cmd" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
Invoke-WebRequest -Uri "https://github.com/mstorsjo/llvm-mingw/releases/download/20240619/llvm-mingw-20240619-ucrt-aarch64.zip" -OutFile "${{ runner.temp }}\llvm-mingw-ucrt-aarch64.zip"
Expand-Archive -Path ${{ runner.temp }}\llvm-mingw-ucrt-aarch64.zip -DestinationPath "C:\Program Files\"
$installPath=(Resolve-Path -Path "C:\Program Files\llvm-mingw-*-ucrt-aarch64").path
echo $installPath\bin | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
}
Invoke-WebRequest -Uri "https://github.com/mstorsjo/llvm-mingw/releases/download/20240619/llvm-mingw-20240619-ucrt-aarch64.zip" -OutFile "${{ runner.temp }}\llvm-mingw-ucrt-aarch64.zip"
Expand-Archive -Path ${{ runner.temp }}\llvm-mingw-ucrt-aarch64.zip -DestinationPath "C:\Program Files\"
$installPath=(Resolve-Path -Path "C:\Program Files\llvm-mingw-*-ucrt-aarch64").path
echo $installPath\bin | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
-
uses
:
actions/checkout@v4
-
uses
:
actions/setup-go@v5
with
:
go-version-file
:
go.mod
-
run
:
|
go build -o dist/${{ matrix.os }}-${{ matrix.arch }}/ .
-
if
:
matrix.arch == 'arm64'
run
:
|
Invoke-WebRequest -Uri "https://aka.ms/vs/17/release/vc_redist.arm64.exe" -OutFile "dist\windows-arm64\vc_redist.arm64.exe"
-
run
:
|
$env:VERSION='${{ github.ref_name }}' -Replace "v(.*)", '$1'
& .\scripts\build_windows.ps1 buildApp
...
...
@@ -258,12 +263,12 @@ jobs:
echo "${{ vars.OLLAMA_CERT }}" >ollama_inc.crt
-
uses
:
actions/download-artifact@v4
with
:
name
:
build-windows-*
pattern
:
build-windows-*
path
:
dist\
merge-multiple
:
true
-
uses
:
actions/download-artifact@v4
with
:
name
:
depends-windows-amd64-*
pattern
:
depends-windows-amd64-*
path
:
dist\windows-amd64\
merge-multiple
:
true
-
run
:
|
...
...
@@ -294,8 +299,8 @@ jobs:
-
uses
:
actions/checkout@v4
-
uses
:
docker/setup-buildx-action@v3
-
run
:
|
apt-get update && apt-get install pigz
for TARGET in ${{ matrix.targets }}; do docker buildx build --platform $PLATFORM --target $TARGET --build-arg GOFLAGS --build-arg CGO_CFLAGS --build-arg
s
CGO_CXXFLAGS --output type=local,dest=dist/$PLATFORM .; done
sudo
apt-get update &&
sudo
apt-get install pigz
for TARGET in ${{ matrix.targets }}; do docker buildx build --platform $PLATFORM --target $TARGET --build-arg GOFLAGS --build-arg CGO_CFLAGS --build-arg CGO_CXXFLAGS --output type=local,dest=dist/$PLATFORM .; done
tar c -C dist/$PLATFORM . | pigz -9cv >dist/ollama-${PLATFORM//\//-}.tgz
env
:
PLATFORM
:
${{ matrix.os }}/${{ matrix.arch }}
...
...
@@ -371,20 +376,16 @@ jobs:
run
:
|
-
uses
:
actions/download-artifact@v4
with
:
name
:
dist-darwin
path
:
dist
pattern
:
dist-darwin
-
uses
:
actions/download-artifact@v4
with
:
name
:
dist-windows
path
:
dist
pattern
:
dist-windows
-
uses
:
actions/download-artifact@v4
with
:
path
:
dist
pattern
:
dist-linux-*
-
uses
:
actions/download-artifact@v4
with
:
path
:
dist
pattern
:
dist-windows
-
run
:
|
ls -lh dist/
(cd dist; find . -type f | xargs sha256sum > ../sha256sum.txt)
...
...
macapp/forge.config.ts
View file @
e8061840
...
...
@@ -19,7 +19,7 @@ const config: ForgeConfig = {
icon
:
'
./assets/icon.icns
'
,
extraResource
:
[
path
.
join
(
__dirname
,
'
../dist/darwin/ollama
'
),
...
fs
.
readdirSync
(
path
.
join
(
__dirname
,
'
../dist/darwin
/
amd64
'
)).
map
(
f
=>
path
.
join
(
__dirname
,
'
../dist/darwin
/
amd64
'
,
f
)),
...
fs
.
readdirSync
(
path
.
join
(
__dirname
,
'
../dist/darwin
-
amd64
/lib/ollama
'
)).
map
(
f
=>
path
.
join
(
__dirname
,
'
../dist/darwin
-
amd64
/lib/ollama
'
,
f
)),
path
.
join
(
__dirname
,
'
./assets/iconTemplate.png
'
),
path
.
join
(
__dirname
,
'
./assets/iconTemplate@2x.png
'
),
path
.
join
(
__dirname
,
'
./assets/iconUpdateTemplate.png
'
),
...
...
scripts/build_darwin.sh
View file @
e8061840
...
...
@@ -41,26 +41,24 @@ _build_darwin() {
_sign_darwin
()
{
status
"Creating universal binary..."
lipo
-create
-output
dist/darwin/ollama dist/darwin/
*
/ollama
mkdir
-p
dist/darwin
lipo
-create
-output
dist/darwin/ollama dist/darwin-
*
/ollama
if
[
-z
"
$APPLE_IDENTITY
"
]
;
then
status
"No APPLE_IDENTITY set, skipping code signing"
return
if
[
-n
"
$APPLE_IDENTITY
"
]
;
then
for
F
in
dist/darwin/ollama dist/darwin-amd64/lib/ollama/
*
;
do
codesign
-f
--timestamp
-s
"
$APPLE_IDENTITY
"
--identifier
ai.ollama.ollama
--options
=
runtime
$F
done
# create a temporary zip for notarization
TEMP
=
$(
mktemp
-u
)
.zip
ditto
-c
-k
--keepParent
dist/darwin/ollama
"
$TEMP
"
xcrun notarytool submit dist/darwin/temp.zip
--wait
--timeout
10m
--apple-id
$APPLE_ID
--password
$APPLE_PASSWORD
--team-id
$APPLE_TEAM_ID
rm
-f
"
$TEMP
"
fi
for
F
in
dist/darwin/ollama dist/darwin/amd64/lib
*
;
do
codesign
-f
--timestamp
-s
"
$APPLE_IDENTITY
"
--identifier
ai.ollama.ollama
--options
=
runtime
$F
done
# create a temporary zip for notarization
TEMP
=
$(
mktemp
-u
)
.zip
ditto
-c
-k
--keepParent
dist/darwin/ollama
"
$TEMP
"
xcrun notarytool submit dist/darwin/temp.zip
--wait
--timeout
10m
--apple-id
$APPLE_ID
--password
$APPLE_PASSWORD
--team-id
$APPLE_TEAM_ID
rm
-f
"
$TEMP
"
# create a universal tarball
status
"Creating universal tarball..."
tar
-cf
dist/ollama-darwin.tar
--strip-components
2 dist/darwin/ollama
tar
-rf
dist/ollama-darwin.tar
--strip-components
3
dist/darwin
/
amd64/lib
*
tar
-rf
dist/ollama-darwin.tar
--strip-components
4
dist/darwin
-
amd64/lib
/
gzip
-9vc
<dist/ollama-darwin.tar
>
dist/ollama-darwin.tgz
}
...
...
scripts/build_windows.ps1
View file @
e8061840
...
...
@@ -208,8 +208,15 @@ function buildInstaller() {
}
function
distZip
()
{
write-host
"Generating stand-alone distribution zip file
${script:SRC_DIR}
\dist\ollama-windows-
${script:TARGET_ARCH}
.zip"
Compress-Archive
-Path
"
${script:SRC_DIR}
\dist\windows-
${script:TARGET_ARCH}
\*"
-DestinationPath
"
${script:SRC_DIR}
\dist\ollama-windows-
${script:TARGET_ARCH}
.zip"
-Force
if
(
Test-Path
-Path
"
${script:SRC_DIR}
\dist\windows-amd64"
)
{
write-host
"Generating stand-alone distribution zip file
${script:SRC_DIR}
\dist\ollama-windows-amd64.zip"
Compress-Archive
-Path
"
${script:SRC_DIR}
\dist\windows-amd64\*"
-DestinationPath
"
${script:SRC_DIR}
\dist\ollama-windows-amd64.zip"
-Force
}
if
(
Test-Path
-Path
"
${script:SRC_DIR}
\dist\windows-arm64"
)
{
write-host
"Generating stand-alone distribution zip file
${script:SRC_DIR}
\dist\ollama-windows-arm64.zip"
Compress-Archive
-Path
"
${script:SRC_DIR}
\dist\windows-arm64\*"
-DestinationPath
"
${script:SRC_DIR}
\dist\ollama-windows-arm64.zip"
-Force
}
}
checkEnv
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment