Skip to content

Commit 6730ac7

Browse files
authored
Adopt cargo-lambda (#337)
* Use `cargo-lambda` to build the binary * Use `cargo-lambda` to build the binary * Use `cargo-lambda` to build the binary
1 parent 0640878 commit 6730ac7

File tree

5 files changed

+18
-66
lines changed

5 files changed

+18
-66
lines changed

.github/workflows/pipeline.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,8 @@ jobs:
9999
- name: Configure cache
100100
uses: mozilla-actions/[email protected]
101101

102+
- uses: taiki-e/install-action@nextest
103+
102104
- name: Install Cargo Lambda
103105
uses: jaxxstorm/[email protected]
104106
with:

Dockerfile

Lines changed: 0 additions & 12 deletions
This file was deleted.

Dockerfile.builder

Lines changed: 0 additions & 9 deletions
This file was deleted.

Dockerfile.mac

Lines changed: 0 additions & 3 deletions
This file was deleted.

Makefile

Lines changed: 16 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -3,45 +3,22 @@ CARGO_PKG_VERSION := $(shell cargo metadata --no-deps --format-version=1 | jq -r
33
clean:
44
rm -rf target
55

6-
build-builder-x86:
7-
DOCKER_BUILDKIT=1 docker build -f Dockerfile.builder --platform linux/amd64 --build-arg ARCH=x86_64 -t public.ecr.aws/awsguru/rust-builder:latest-x86_64 .
8-
9-
build-builder-arm64:
10-
DOCKER_BUILDKIT=1 docker build -f Dockerfile.builder --platform linux/arm64 --build-arg ARCH=aarch64 -t public.ecr.aws/awsguru/rust-builder:latest-aarch64 .
11-
12-
build-builder: build-builder-x86 build-builder-arm64
13-
docker push public.ecr.aws/awsguru/rust-builder:latest-x86_64
14-
docker push public.ecr.aws/awsguru/rust-builder:latest-aarch64
15-
docker manifest create public.ecr.aws/awsguru/rust-builder:latest \
16-
public.ecr.aws/awsguru/rust-builder:latest-x86_64 \
17-
public.ecr.aws/awsguru/rust-builder:latest-aarch64
18-
docker manifest annotate --arch arm64 public.ecr.aws/awsguru/rust-builder:latest \
19-
public.ecr.aws/awsguru/rust-builder:latest-aarch64
20-
21-
publish-builder:
22-
docker manifest push public.ecr.aws/awsguru/rust-builder:latest
23-
24-
build-x86:
25-
DOCKER_BUILDKIT=1 docker build --platform linux/amd64 --build-arg TARGET_PLATFORM=linux/amd64 --build-arg ARCH=x86_64 -t public.ecr.aws/awsguru/aws-lambda-adapter:$(CARGO_PKG_VERSION)-x86_64 .
26-
27-
build-arm:
28-
DOCKER_BUILDKIT=1 docker build --platform linux/arm64 --build-arg TARGET_PLATFORM=linux/arm64 --build-arg ARCH=aarch64 -t public.ecr.aws/awsguru/aws-lambda-adapter:$(CARGO_PKG_VERSION)-aarch64 .
29-
30-
build: build-x86 build-arm
31-
docker push public.ecr.aws/awsguru/aws-lambda-adapter:$(CARGO_PKG_VERSION)-x86_64
32-
docker push public.ecr.aws/awsguru/aws-lambda-adapter:$(CARGO_PKG_VERSION)-aarch64
33-
docker manifest create public.ecr.aws/awsguru/aws-lambda-adapter:$(CARGO_PKG_VERSION) \
34-
public.ecr.aws/awsguru/aws-lambda-adapter:$(CARGO_PKG_VERSION)-x86_64 \
35-
public.ecr.aws/awsguru/aws-lambda-adapter:$(CARGO_PKG_VERSION)-aarch64
36-
docker manifest annotate --arch arm64 public.ecr.aws/awsguru/aws-lambda-adapter:$(CARGO_PKG_VERSION) \
37-
public.ecr.aws/awsguru/aws-lambda-adapter:$(CARGO_PKG_VERSION)-aarch64
38-
39-
publish:
40-
docker manifest push public.ecr.aws/awsguru/aws-lambda-adapter:$(CARGO_PKG_VERSION)
41-
42-
build-mac:
43-
CC=x86_64-unknown-linux-musl-gcc cargo build --release --target=x86_64-unknown-linux-musl
44-
DOCKER_BUILDKIT=1 docker build -f Dockerfile.mac --platform linux/amd64 --build-arg ARCH=x86_64 -t aws-lambda-adapter:latest .
6+
lint:
7+
cargo clippy -- -Dwarnings
8+
9+
fmt:
10+
cargo fmt --all -- --check
11+
12+
test:
13+
cargo nextest run
14+
15+
build-image-x86: fmt lint test
16+
LAMBDA_RUNTIME_USER_AGENT=aws-lambda-rust/aws-lambda-adapter/$(CARGO_PKG_VERSION) cargo lambda build --release --extension --target x86_64-unknown-linux-musl
17+
tar -c -C target/lambda/extensions . | docker import --platform linux/amd64 - aws-lambda-adapter:$(CARGO_PKG_VERSION)-x86_64
18+
19+
build-image-arm64: fmt lint test
20+
LAMBDA_RUNTIME_USER_AGENT=aws-lambda-rust/aws-lambda-adapter/$(CARGO_PKG_VERSION) cargo lambda build --release --extension --target aarch64-unknown-linux-musl
21+
tar -c -C target/lambda/extensions . | docker import --platform linux/arm64 - aws-lambda-adapter:$(CARGO_PKG_VERSION)-aarch64
4522

4623
build-LambdaAdapterLayerX86:
4724
cp layer/* $(ARTIFACTS_DIR)/
@@ -52,6 +29,3 @@ build-LambdaAdapterLayerArm64:
5229
cp layer/* $(ARTIFACTS_DIR)/
5330
LAMBDA_RUNTIME_USER_AGENT=aws-lambda-rust/aws-lambda-adapter/$(CARGO_PKG_VERSION) \
5431
cargo lambda build --release --extension --target aarch64-unknown-linux-musl --lambda-dir $(ARTIFACTS_DIR)
55-
56-
fmt:
57-
cargo fmt --all

0 commit comments

Comments
 (0)