# ...
workflows:
  - workflowId: some-test
    x-speakeasy-test-targets-exclude: # generate tests for all languages except typescript
      - typescript
    # ...
```

## Customizing SDK Test Manifests

Directly modifying SDK tests is not common, but it is possible to customize the actual content of an existing SDK test by modifying the `.speakeasy/tests.arazzo.yaml` file.
To learn more about these kinds of modifications see [here](/docs/sdk-testing/api-contract-tests#writing-custom-end-to-end-tests).

## Next Steps

- [Setup testing in GitHub Actions](/docs/sdk-testing/github-actions)

<Callout title="Bootstrapping tests again from scratch" type="info">
Once the original `tests.arazzo.yaml` document is bootstrapped, the Arazzo document will only be modified automatically when new operations are detected and `generateNewTests: true` is set in your `./speakeasy/gen.yaml`, new tests will be bootstrapped for these new operations. But pre-bootstrapped tests will be left alone.

If you want to bootstrap all workflows in the Arazzo document from scratch again (for example to match changes to operations or examples in your spec), run the following command:

```bash
speakeasy configure tests --rebuild
```

You can also selectively bootstrap individual tests by:

1. Deleting the specific workflow from the arazzo doc in `.speakeasy/tests.arazzo.yaml`
2. Removing the corresponding entry in `.speakeasy/gen.lock` under `generatedTests`

For example, to bootstrap a test for the `createLink` operation again, delete its entry in the gen.lock file:

```yaml
generatedTests:
  createLink: "2025-05-21T12:47:33+10:00" # Delete this to bootstrap test again from scratch
```

This approach preserves any other manual changes you've made to your arazzo doc.

</Callout>