140 lines
4.3 KiB
YAML
140 lines
4.3 KiB
YAML
name: Backend check
|
|
on:
|
|
workflow_run:
|
|
workflows: ["Change versions"]
|
|
types:
|
|
- completed
|
|
push:
|
|
paths:
|
|
- "backend/**"
|
|
- ".github/workflows/backend-check.yml"
|
|
|
|
jobs:
|
|
check_oss:
|
|
runs-on: ubicloud-standard-8
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Install mold and clang
|
|
run: sudo apt-get update && sudo apt-get install -y mold clang
|
|
|
|
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
|
with:
|
|
cache: false
|
|
toolchain: 1.93.0
|
|
- name: cargo check
|
|
working-directory: ./backend
|
|
timeout-minutes: 16
|
|
run: SQLX_OFFLINE=true cargo check
|
|
|
|
check_oss_full:
|
|
runs-on: ubicloud-standard-8
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: install xmlsec1 and gssapi
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y libxml2-dev libxmlsec1-dev libkrb5-dev libsasl2-dev libcurl4-openssl-dev mold clang
|
|
|
|
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
|
with:
|
|
cache: false
|
|
toolchain: 1.93.0
|
|
- name: cargo check
|
|
working-directory: ./backend
|
|
timeout-minutes: 16
|
|
run: |
|
|
mkdir -p fake_frontend_build
|
|
FRONTEND_BUILD_DIR=$(pwd)/fake_frontend_build SQLX_OFFLINE=true cargo check --features all_sqlx_features
|
|
|
|
check_ee:
|
|
runs-on: ubicloud-standard-8
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Read EE repo commit hash
|
|
run: |
|
|
echo "ee_repo_ref=$(cat ./backend/ee-repo-ref.txt)" >> "$GITHUB_ENV"
|
|
|
|
- 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
|
|
|
|
- name: Substitute EE code (EE logic is behind feature flag)
|
|
run: |
|
|
./backend/substitute_ee_code.sh --copy --dir ./windmill-ee-private
|
|
|
|
- name: Install mold and clang
|
|
run: sudo apt-get update && sudo apt-get install -y mold clang
|
|
|
|
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
|
with:
|
|
cache: false
|
|
toolchain: 1.93.0
|
|
- name: cargo check
|
|
working-directory: ./backend
|
|
timeout-minutes: 16
|
|
run: SQLX_OFFLINE=true cargo check
|
|
|
|
check_ee_full:
|
|
runs-on: ubicloud-standard-8
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Read EE repo commit hash
|
|
run: |
|
|
echo "ee_repo_ref=$(cat ./backend/ee-repo-ref.txt)" >> "$GITHUB_ENV"
|
|
|
|
- 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
|
|
|
|
- name: install xmlsec1 and gssapi
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y libxml2-dev libxmlsec1-dev libkrb5-dev libsasl2-dev libcurl4-openssl-dev mold clang
|
|
|
|
- name: Substitute EE code (EE logic is behind feature flag)
|
|
run: |
|
|
./backend/substitute_ee_code.sh --copy --dir ./windmill-ee-private
|
|
|
|
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
|
with:
|
|
cache-workspaces: backend
|
|
toolchain: 1.93.0
|
|
- name: Fix stale v8 build cache
|
|
working-directory: ./backend
|
|
run: |
|
|
# Cargo cache may preserve v8 build fingerprints without the actual
|
|
# librusty_v8.a library. Since fingerprints look valid, cargo skips
|
|
# build.rs re-run, causing "could not find native static library rusty_v8".
|
|
for profile in debug release; do
|
|
if [ -d "target/$profile/.fingerprint" ] && [ ! -f "target/$profile/gn_out/obj/librusty_v8.a" ]; then
|
|
echo "Cleaning stale v8 build artifacts in target/$profile"
|
|
rm -rf "target/$profile/build/v8-"* "target/$profile/.fingerprint/v8-"*
|
|
fi
|
|
done
|
|
- name: cargo check
|
|
timeout-minutes: 16
|
|
working-directory: ./backend
|
|
run: |
|
|
mkdir -p fake_frontend_build
|
|
FRONTEND_BUILD_DIR=$(pwd)/fake_frontend_build SQLX_OFFLINE=true cargo check --features all_sqlx_features,private
|