Amazon CodeCatalyst will no longer be open to new customers starting on November 7, 2025. If you would like to use the service, please sign up prior to November 7, 2025. For more information, see How to migrate from CodeCatalyst.
Examples: Package repositories in workflows
The following examples show how to reference packages in the workflow definition file.
Topics
Example: Defining packages
with NpmConfiguration
The following example shows how to define a package with
NpmConfiguration in your workflow definition file.
Actions:
Build:
Identifier: aws/build-beta@v1
Configuration:
Packages:
NpmConfiguration:
PackageRegistries:
- PackagesRepository: main-repo
- PackagesRepository: scoped-repo
Scopes:
- "@scope1"
This example configures the npm client as such:
default: main-repo
@scope1: scoped-repo
In this example, there are two repositories defined. The default registry is set
as main-repo as it is defined without a scope. Scope
@scope1 is configured in PackageRegistries for
scoped-repo.
Example: Overriding the default registry
The following example shows you how to override the default registry.
NpmConfiguration:
PackageRegistries:
- PackagesRepository: my-repo-1
- PackagesRepository: my-repo-2
- PackagesRepository: my-repo-3
This example configures the npm client as such:
default: my-repo-3
If you specify multiple default repositories, the last repository will take
priority. In this example, the last repository listed is my-repo-3,
meaning that npm will connect to my-repo-3. This overrides the
repositories my-repo-1 and my-repo-2.
Example: Overriding scopes in your package registry
The following example shows you how to override a scope in your package registry.
NpmConfiguration:
PackageRegistries:
- PackagesRepository: my-default-repo
- PackagesRepository: my-repo-1
Scopes:
- "@scope1"
- "@scope2"
- PackagesRepository: my-repo-2
Scopes:
- "@scope2"
This example configures the npm client as such:
default: my-default-repo
@scope1: my-repo-1
@scope2: my-repo-2
If you include overriding scopes, the last repository will take priority. In this
example, the last time that scope @scope2 is configured in
PackageRegistries is for my-repo-2. This overrides the
scope @scope2 configured for my-repo-1.
Example: Manually
configuring pip to authenticate with CodeCatalyst
The following example shows you how to reference CodeCatalyst authorization environment variables in a build action.
Actions:
Build:
Identifier: aws/build@v1.0.0
Configuration:
Steps:
- Run: pip config set global.index-url https://$CATALYST_MACHINE_RESOURCE_NAME:$CATALYST_PACKAGES_AUTHORIZATION_TOKEN@codecatalyst.aws/pypi/my-space/my-project/my-repo/simple/
Packages:
ExportAuthorizationToken: true