77 lines
2.4 KiB
YAML
77 lines
2.4 KiB
YAML
name: Build and Publish Windows Worker
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- "v*"
|
|
|
|
env:
|
|
CARGO_INCREMENTAL: 0
|
|
SQLX_OFFLINE: true
|
|
DISABLE_EMBEDDING: true
|
|
RUST_LOG: info
|
|
|
|
jobs:
|
|
cargo_build_windows:
|
|
runs-on: blacksmith-16vcpu-windows-2025
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Read EE repo commit hash
|
|
shell: pwsh
|
|
run: |
|
|
$ee_repo_ref = Get-Content .\backend\ee-repo-ref.txt
|
|
echo "ee_repo_ref=$ee_repo_ref" | Out-File -FilePath $env:GITHUB_ENV -Append
|
|
|
|
- name: Checkout windmill-ee-private repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: windmill-labs/windmill-ee-private
|
|
path: ./windmill-ee-private
|
|
ref: ${{ env.ee_repo_ref }}
|
|
token: ${{ secrets.WINDMILL_EE_PRIVATE_ACCESS }}
|
|
fetch-depth: 0
|
|
|
|
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
|
with:
|
|
cache-workspaces: backend
|
|
toolchain: 1.93.0
|
|
|
|
- name: Substitute EE code
|
|
shell: bash
|
|
run: |
|
|
./backend/substitute_ee_code.sh --copy --dir ./windmill-ee-private
|
|
|
|
- name: Cargo build dynamic libraries windows
|
|
timeout-minutes: 180
|
|
run: |
|
|
cd backend/windmill-duckdb-ffi-internal
|
|
cargo build --release -p windmill_duckdb_ffi_internal
|
|
|
|
- name: Cargo build windows
|
|
timeout-minutes: 180
|
|
run: |
|
|
vcpkg.exe install openssl-windows:x64-windows
|
|
vcpkg.exe install openssl:x64-windows-static
|
|
vcpkg.exe integrate install
|
|
$env:VCPKGRS_DYNAMIC=1
|
|
$env:OPENSSL_DIR="${Env:VCPKG_INSTALLATION_ROOT}\installed\x64-windows-static"
|
|
mkdir frontend/build && cd backend
|
|
New-Item -Path . -Name "windmill-api/openapi-deref.yaml" -ItemType "File" -Force
|
|
cargo build --release --features=ee_windows
|
|
- name: Rename binary with corresponding architecture
|
|
run: |
|
|
Rename-Item -Path ".\backend\target\release\windmill.exe" -NewName "windmill-ee.exe"
|
|
|
|
- name: Attach binary to release
|
|
uses: softprops/action-gh-release@v2
|
|
with:
|
|
files: |
|
|
./backend/target/release/windmill-ee.exe
|
|
|
|
- name: Attach dynamic libraries to release
|
|
uses: softprops/action-gh-release@v2
|
|
with:
|
|
files: |
|
|
./backend/windmill-duckdb-ffi-internal/target/release/windmill_duckdb_ffi_internal.dll
|