Skip to content

feat(pm): integrate git dependency support into install flow (3/3) #892

feat(pm): integrate git dependency support into install flow (3/3)

feat(pm): integrate git dependency support into install flow (3/3) #892

name: utoopack-integration
on:
push:
branches: ["next"]
pull_request:
types: [opened, synchronize, reopened, edited]
permissions:
contents: read
jobs:
integration:
if: (github.event_name == 'push' && contains(github.event.head_commit.message, '(pack)')) || (github.event_name == 'pull_request' && contains(github.event.pull_request.title, '(pack)'))
name: Pack Integration Test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Init git submodules
run: git submodule update --init --recursive --depth 1
- name: Free disk space
run: |
sudo rm -rf /usr/share/dotnet
sudo rm -rf /usr/local/lib/android
sudo rm -rf /opt/ghc
sudo rm -rf "/usr/local/share/boost"
sudo rm -rf /usr/share/swift
sudo rm -rf /usr/local/.ghcup
sudo rm -rf /usr/local/lib/node_modules
sudo rm -rf /usr/local/share/powershell
sudo rm -rf /usr/share/miniconda
sudo docker image prune --all --force
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install dependencies
run: npm install
- name: Setup Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly-2026-02-05
components: rustfmt, clippy
# - name: Rust Cache
# uses: swatinem/rust-cache@v2
- name: Integration Test
run: |
# Build packages
npm run build --workspace @utoo/pack-shared
npm run build:local --workspace @utoo/pack
npm run build --workspace @utoo/pack-cli
# Verify examples
for dir in examples/*/; do
if [ -f "${dir}package.json" ]; then
if jq -e '.scripts.build // "" | contains("up build")' "${dir}package.json" > /dev/null; then
echo "----------------------------------------------------"
echo "Verifying example: $dir"
echo "----------------------------------------------------"
(cd "$dir" && npm run build && echo "Output dist content:" && ls -lh dist | awk 'NR>1 {print $5, $9}')
if [ $? -ne 0 ]; then
echo "Error: Build failed for example $dir"
exit 1
fi
fi
fi
done