Skip to content

fixed injecting default headers and cf options #1099

fixed injecting default headers and cf options

fixed injecting default headers and cf options #1099

Workflow file for this run

name: Pull Request
on:
- pull_request
- workflow_dispatch
permissions:
contents: read
jobs:
worker-build:
strategy:
matrix:
platform: ['ubuntu-latest', 'windows-latest']
name: Build worker-build
runs-on: ${{ matrix.platform }}
steps:
- uses: dtolnay/rust-toolchain@1.83.0
- uses: actions/checkout@v4
with:
submodules: true
- name: Cache Rust dependencies
uses: actions/cache@v4
with:
path: ~/.cargo/registry ~/.cargo/git target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: ${{ runner.os }}-cargo-
- run: cargo test -p worker-build
- run: cargo build -p worker-build
- uses: actions/upload-artifact@v4
with:
name: worker-build
path: target/debug/worker-build
build-templates:
name: Templates
needs: worker-build
runs-on: ubuntu-latest
steps:
- uses: dtolnay/rust-toolchain@1.83.0
- uses: actions/checkout@v4
with:
submodules: true
- name: Cache Rust dependencies
uses: actions/cache@v4
with:
path: ~/.cargo/registry ~/.cargo/git target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: ${{ runner.os }}-cargo-
- uses: actions/download-artifact@v4
with:
name: worker-build
path: ./target/debug
- name: Make worker-build executable
run: chmod +x ./target/debug/worker-build
- uses: cargo-bins/cargo-binstall@main
- name: Install cargo-generate
run: cargo binstall cargo-generate
- name: Generate and build all templates
run: |
mkdir -p generated
for template in templates/*/; do
template_name=$(basename "$template")
if [ "$template_name" = "leptos" ]; then
echo "Skipping leptos template"
continue
fi
echo "Generating $template_name"
cargo generate --path $template --name "$template_name" --destination ./generated --force
cd "generated/$template_name"
echo "Building $template_name"
../../target/debug/worker-build
cd ../..
done
build-examples:
name: Examples
needs: worker-build
runs-on: ubuntu-latest
steps:
- uses: dtolnay/rust-toolchain@1.83.0
- uses: actions/checkout@v4
with:
submodules: true
- name: Cache Rust dependencies
uses: actions/cache@v4
with:
path: ~/.cargo/registry ~/.cargo/git target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: ${{ runner.os }}-cargo-
- uses: actions/download-artifact@v4
with:
name: worker-build
path: ./target/debug
- name: Make worker-build executable
run: chmod +x ./target/debug/worker-build
- name: Build all examples
run: |
sed -i 's/, "examples\/axum"//g' Cargo.toml
for example in examples/*/; do
example_name=$(basename "$example")
if [ "$example_name" = "coredump" ]; then
echo "Skipping coredump example"
continue
fi
echo "Building $example_name"
cd "$example"
../../target/debug/worker-build
cd ../..
done
rustfmt:
name: Formatter
runs-on: ubuntu-latest
steps:
- uses: dtolnay/rust-toolchain@1.83.0
with:
components: rustfmt, clippy
- uses: actions/checkout@v4
with:
submodules: true
- name: Cache Rust dependencies
uses: actions/cache@v4
with:
path: ~/.cargo/registry ~/.cargo/git target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: ${{ runner.os }}-cargo-
- name: Check Formatting
run: cargo fmt --all -- --check
- name: Check for idiomatic code
run: cargo clippy --features d1,queue --all-targets --workspace -- -D warnings
- name: Check for idiomatic code (http)
run: cargo clippy --all-features --package worker-sandbox --all-targets -- -D warnings
- name: Check for errors
run: cargo check
test:
name: Test
needs: worker-build
strategy:
matrix:
platform: ['ubuntu-latest', 'windows-latest']
runs-on: ${{ matrix.platform }}
steps:
- uses: dtolnay/rust-toolchain@1.83.0
- uses: actions/checkout@v4
with:
submodules: true
- name: Setup Chomp
uses: guybedford/chomp-action@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/download-artifact@v4
with:
name: worker-build
path: ./target/debug
- name: Make worker-build executable
run: chmod +x ./target/debug/worker-build
- name: Cache Rust dependencies
uses: actions/cache@v4
with:
path: ~/.cargo/registry ~/.cargo/git target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: ${{ runner.os }}-cargo-
- name: Install npm dependencies
run: npm ci
- name: Install wasm32 target
run: rustup target add wasm32-unknown-unknown
- name: Run unit tests
run: chomp test:unit
- name: Set up Docker Buildx
if: matrix.platform == 'ubuntu-latest'
uses: docker/setup-buildx-action@v3
- name: Build Container
if: matrix.platform == 'ubuntu-latest'
uses: docker/build-push-action@v6
with:
context: ./test/container-echo
push: false
load: true
tags: worker-dev/echocontainer:latest
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Run tests
env:
TEST_CONTAINER_NAME: ${{ matrix.platform == 'ubuntu-latest' && 'worker-dev/echocontainer:latest' || '' }}
run: chomp test
- name: Run tests (http)
run: chomp test-http