name: cargo-generate on: push: branches: ["*"] tags: [v0.*] pull_request: merge_group: env: # # Dependency versioning # # This is the MSRV used by `wgpu` itself and all surrounding infrastructure. REPO_MSRV: "1.85" RUSTFLAGS: -D warnings jobs: cargo-generate: timeout-minutes: 5 runs-on: ubuntu-latest strategy: fail-fast: false matrix: include: - name: "01-hello-compute" path: "examples/standalone/01_hello_compute" - name: "02-hello-window" path: "examples/standalone/02_hello_window" name: "${{ matrix.name }}" steps: - uses: actions/checkout@v4 # We can't rely on an override here, as that would only set # the toolchain for the current directory, not the newly generated project. - name: Install repo MSRV toolchain run: | rustup toolchain install ${{ env.REPO_MSRV }} --no-self-update --profile=minimal cargo -V - name: Disable debug symbols shell: bash run: | mkdir -p .cargo cat <> .cargo/config.toml [profile.dev] debug = false EOF - name: Caching uses: Swatinem/rust-cache@v2 with: key: cargo-generate-${{ matrix.name }} - name: Install `cargo-generate` uses: taiki-e/install-action@v2 with: tool: cargo-generate - name: Run `cargo-generate` run: | cd .. cargo generate --path wgpu --name ${{ matrix.name }} ${{ matrix.path }} - name: Check generated files run: | cd ../${{ matrix.name }}/ cat <> Cargo.toml [patch.crates-io] wgpu = { path = "../wgpu/wgpu" } EOF cargo +${{ env.REPO_MSRV }} check