44 docker-buildx :
sensu/[email protected] 55 aws-ecr :
circleci/[email protected] 667- macos : circleci/macos@2.3.6
7+ macos : circleci/macos@2.4.1
88
99executors :
1010 docker-rust :
@@ -33,7 +33,7 @@ commands:
3333 - run :
3434 name : Install sccache
3535 command : |
36- SCCACHE_VERSION='v0.5.4 '
36+ SCCACHE_VERSION='v0.7.7 '
3737 ls ~/.cargo/bin/sccache \
3838 || curl -L https://github.com/mozilla/sccache/releases/download/$SCCACHE_VERSION/sccache-$SCCACHE_VERSION-x86_64-unknown-linux-musl.tar.gz \
3939 | tar -xOz sccache-$SCCACHE_VERSION-x86_64-unknown-linux-musl/sccache \
@@ -93,29 +93,6 @@ commands:
9393 - ~/.cargo/registry/cache
9494 - ~/.cargo/registry/index
9595 - ~/.cargo/git/db
96- restore-buildx-cache :
97- steps :
98- - docker-buildx/install :
99- version : 0.8.2
100- qemu-user-static-version : 7.0.0-7
101- - restore_cache :
102- name : Restore buildx cache
103- keys :
104- # Try lock cache first
105- - docker-buildx-{{ checksum "Cargo.lock" }}
106- # Try branch cache next
107- - docker-buildx-{{ .Branch }}
108- - run :
109- name : Configure buildx cache
110- command : export BUILDX_CACHE=/tmp/cache/buildx
111- save-buildx-cache :
112- steps :
113- - save_cache :
114- name : Save buildx cache
115- paths :
116- - " /tmp/cache/buildx"
117- key : docker-buildx-{{ checksum "Cargo.lock" }}-{{ epoch }}
118- when : always
11996 apply-patches :
12097 steps :
12198 - run :
@@ -159,12 +136,17 @@ commands:
159136 - run :
160137 name : Install cargo-audit
161138 environment :
162- VERSION : " v0.18.3 "
139+ VERSION : " v0.20.0 "
163140 command : |
164141 curl -L https://github.com/rustsec/rustsec/releases/download/cargo-audit/$VERSION/cargo-audit-x86_64-unknown-linux-musl-$VERSION.tgz \
165142 | tar -xOz cargo-audit-x86_64-unknown-linux-musl-$VERSION/cargo-audit \
166143 > ~/.cargo/bin/cargo-audit \
167144 && chmod +x ~/.cargo/bin/cargo-audit
145+ set-git-tag :
146+ steps :
147+ - run :
148+ name : Set git tag in BASH_ENV
149+ command : echo TAG=$(git describe --tags --abbrev=0) >> $BASH_ENV
168150 make-artifact :
169151 parameters :
170152 target :
@@ -175,10 +157,7 @@ commands:
175157 type : string
176158 default : " "
177159 steps :
178- - run :
179- name : Set git tag in the environment
180- command : |
181- echo TAG=$(git describe --tags --abbrev=0) >> $BASH_ENV
160+ - set-git-tag
182161 - run :
183162 name : Set binary directory in the environment
184163 command : |
@@ -303,32 +282,17 @@ jobs:
303282 - install-rust
304283 - checkout
305284 - run : git submodule update --init
306- - restore-buildx-cache
307- - run :
308- name : Make images for tests
309- command : |
310- sudo mkdir -p $BUILDX_CACHE && sudo chown -R circleci:circleci $BUILDX_CACHE
311- make images
312- - save-buildx-cache
285+ - run : make images
313286 - apply-patches
314287 - run :
315288 name : Run the E2E tests
316289 command : |
317290 # clean up a potential existing deployments before running
318291 # the tests just in case the environment is not clean
319292 make down
320- BUILDX_CACHE=/tmp/cache/buildx make up
321-
293+ make up
322294 SHUTTLE_TESTS_NETWORK=shuttle-dev_user-net SHUTTLE_TESTS_RUNTIME_IMAGE=public.ecr.aws/shuttle-dev/deployer:latest cargo test --package shuttle-gateway --all-features --lib -- --nocapture
323-
324- # runs tests in e2e crate
325- BUILDX_CACHE=/tmp/cache/buildx make test
326- - save_cache :
327- name : Save buildx cache
328- paths :
329- - /tmp/cache/buildx
330- key : docker-buildx-{{ .Branch }}-{{ .Revision }}
331- when : always
295+ make test
332296 build-and-push :
333297 executor : machine-ubuntu
334298 parameters :
@@ -348,23 +312,21 @@ jobs:
348312 default : staging
349313 steps :
350314 - checkout
351- - run :
352- name : Set git tag in bash_env
353- command : |
354- echo TAG=$(git describe --tags --abbrev=0) >> $BASH_ENV
355- - restore-buildx-cache
315+ - set-git-tag
356316 - aws-ecr/ecr-login :
357317 aws-access-key-id : << parameters.aws-access-key-id >>
358318 aws-secret-access-key : << parameters.aws-secret-access-key >>
359319 public-registry : << parameters.public-registry >>
360- # `registry-id`` field is required, although we don't need it (used for private registry).
320+ # `registry-id` field is required, although we don't need it (used for private registry).
361321 # We give it a non-empty env variable name to bypass the `ecr-login` empty check.
362- registry-id : TAG
322+ registry-id : bruh
323+ - docker-buildx/install :
324+ version : 0.12.1
325+ qemu-user-static-version : 7.2.0-1
363326 - run :
364327 name : Make and push images
365328 command : |
366- PUSH=true SHUTTLE_SERVICE_VERSION=$TAG SHUTTLE_ENV=<< parameters.shuttle-env >> PLATFORMS=linux/amd64 TAG=$TAG make images
367- - save-buildx-cache
329+ PUSH=true SHUTTLE_ENV=<< parameters.shuttle-env >> PLATFORMS=linux/amd64 TAG=$TAG SHUTTLE_SERVICE_VERSION=$TAG make images
368330 deploy-images :
369331 executor : machine-ubuntu
370332 resource_class : medium
@@ -414,10 +376,7 @@ jobs:
414376 type : string
415377 steps :
416378 - checkout
417- - run :
418- name : Set git tag in bash_env
419- command : |
420- echo TAG=$(git describe --tags --abbrev=0) >> $BASH_ENV
379+ - set-git-tag
421380 - add_ssh_keys :
422381 fingerprints :
423382 - << parameters.ssh-fingerprint >>
@@ -487,14 +446,13 @@ jobs:
487446 target : << parameters.target >>
488447 build-binaries-windows :
489448 executor :
490- name : win/server-2022
449+ name : win/default
491450 size : xlarge
492451 shell : bash.exe
493452 environment :
494453 CARGO_NET_GIT_FETCH_WITH_CLI : " true"
495454 steps :
496455 - checkout
497- - run : choco install -y strawberryperl
498456 - run :
499457 name : Install Rust
500458 # Note: Let binary build use latest
@@ -505,17 +463,14 @@ jobs:
505463 - run :
506464 name : Build
507465 command : |
508- # From https://github.com/alexcrichton/openssl-src-rs/issues/45
509- # Because of https://github.com/openssl/openssl/issues/9048
510- $env:OPENSSL_SRC_PERL="C:\Strawberry\perl\bin\perl.exe"
511466 ..\.cargo\bin\cargo.exe build --release --package cargo-shuttle --target x86_64-pc-windows-msvc
512467 shell : powershell.exe
513468 - make-artifact :
514469 target : x86_64-pc-windows-msvc
515470 suffix : " .exe"
516471 build-binaries-mac :
517472 macos :
518- xcode : 14.2 .0
473+ xcode : 15.3 .0
519474 resource_class : macos.m1.medium.gen1
520475 steps :
521476 - checkout
@@ -550,7 +505,7 @@ jobs:
550505 # the artifacts directory before passing it to ghr
551506 command : |
552507 find artifacts -mindepth 2 -type f -exec mv -t artifacts {} +
553- go install github.com/tcnksm/[email protected] .0 508+ go install github.com/tcnksm/[email protected] .2 554509 ghr -t ${GITHUB_TOKEN} -u ${CIRCLE_PROJECT_USERNAME} -r ${CIRCLE_PROJECT_REPONAME} -c ${CIRCLE_SHA1} -delete -draft ${TAG} ./artifacts/
555510 linux-qa :
556511 machine :
@@ -581,8 +536,8 @@ jobs:
581536 # command: ./.circleci/qa-docker.sh
582537 mac-qa :
583538 macos :
584- xcode : 12.5.1
585- resource_class : medium
539+ xcode : 15.3.0
540+ resource_class : macos.m1. medium.gen1
586541 steps :
587542 - checkout
588543 - run :
@@ -645,7 +600,7 @@ jobs:
645600 # - run:
646601 # name: Test Docker
647602 # command: ./.circleci/qa-docker.ps1
648- publish-crates :
603+ publish-crate :
649604 parameters :
650605 path :
651606 description : Path to crate to publish
@@ -900,7 +855,7 @@ workflows:
900855 filters :
901856 branches :
902857 only : production
903- - publish-crates :
858+ - publish-crate :
904859 matrix :
905860 parameters :
906861 path :
@@ -909,7 +864,7 @@ workflows:
909864 name : publish-<< matrix.path >>
910865 requires :
911866 - approve-publish-crates
912- - publish-crates :
867+ - publish-crate :
913868 matrix :
914869 parameters :
915870 path :
@@ -918,7 +873,7 @@ workflows:
918873 name : publish-<< matrix.path >>
919874 requires :
920875 - publish-common
921- - publish-crates :
876+ - publish-crate :
922877 matrix :
923878 parameters :
924879 path :
@@ -933,7 +888,7 @@ workflows:
933888 name : publish-<< matrix.path >>
934889 requires :
935890 - publish-service
936- - publish-crates :
891+ - publish-crate :
937892 matrix :
938893 parameters :
939894 path :
@@ -943,7 +898,7 @@ workflows:
943898 requires :
944899 - publish-service
945900 - publish-proto
946- - publish-crates :
901+ - publish-crate :
947902 matrix :
948903 parameters :
949904 path :
0 commit comments