Skip to content

Fix precompile

Fix precompile #586

Workflow file for this run

name: Test
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
env:
RUST_VERSION: 1.84
jobs:
lint_and_test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Rust toolchain
shell: bash
run: |
rustup toolchain install ${{ env.RUST_VERSION }} --no-self-update
rustup default ${{ env.RUST_VERSION }}
- name: 'Install Wasm Rust target'
run: rustup target add wasm32-wasip1 wasm32-unknown-unknown --toolchain ${{ env.RUST_VERSION }}
- name: Use Node.js 22
uses: actions/setup-node@v3
with:
node-version: 22
# - name: Install dependencies
# shell: bash
# run: npm install --ws
# - name: Run prettier check
# shell: bash
# run: npm run fmt-check
- name: Setup `spin`
uses: fermyon/actions/spin/setup@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Run Test
shell: bash
run: |
cd test
./test.sh
test_template:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
router: ['hono', 'itty', 'none']
steps:
- uses: actions/checkout@v3
- name: Use Node.js 22
uses: actions/setup-node@v3
with:
node-version: 22
- name: Setup `spin`
uses: fermyon/actions/spin/setup@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Install templates
run: spin templates install --dir .
- name: Install Rust toolchain
shell: bash
run: |
rustup toolchain install ${{ env.RUST_VERSION }} --no-self-update
rustup default ${{ env.RUST_VERSION }}
- name: 'Install Wasm Rust target'
run: rustup target add wasm32-wasip1 wasm32-unknown-unknown --toolchain ${{ env.RUST_VERSION }}
- name: Build the `build-tools` package
run: |
cd packages/build-tools
npm install
npm run build
- name: Create new project
run: spin new -t http-ts --value http-router=${{ matrix.router }} -a test-project
- name: Add new component to project and override build-tools
run: |
cd test-project
npm install ../packages/build-tools
spin add -t http-ts --value http-router=${{ matrix.router }} -a new-component
cd new-component
npm install ../../packages/build-tools
- name: Build the application
run: |
cd test-project
spin build
- name: Test the application
run: |
cd test-project
spin up &
SPIN_PID=$!
echo "Waiting for Spin to start..."
for i in {1..5}; do
STATUS=$(curl -o /dev/null -s -w "%{http_code}" http://127.0.0.1:3000)
if [ "$STATUS" -eq 200 ]; then
echo "✅ Spin responded with 200 on attempt $i"
break
fi
echo "Attempt $i: status $STATUS, retrying in 2s..."
sleep 5
done
kill $SPIN_PID
if [ "$STATUS" -ne 200 ]; then
echo "❌ Application failed to return 200 after 5 attempts"
exit 1
fi