Skip to content

Commit f41afde

Browse files
authored
ci: remove buildx cache, bump versions (#1650)
* ci: bump versions * nit: command name * bump win and macos * bump ghr * ci: test build & deploy * ci: test unstable * nit: buildx cache * test: try without buildx cache * ci: remove buildx caching * ci: filter unstable
1 parent 98551c9 commit f41afde

File tree

2 files changed

+32
-82
lines changed

2 files changed

+32
-82
lines changed

.circleci/config.yml

Lines changed: 31 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ orbs:
44
docker-buildx: sensu/[email protected]
55
aws-ecr: circleci/[email protected]
66
win: circleci/[email protected]
7-
macos: circleci/macos@2.3.6
7+
macos: circleci/macos@2.4.1
88

99
executors:
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:

Makefile

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
11
COMMIT_SHA?=$(shell git rev-parse --short HEAD)
22

3-
ifeq ($(CI),true)
4-
BUILDX_CACHE?=/tmp/cache/buildx
5-
CACHE_FLAGS=--cache-to type=local,dest=$(BUILDX_CACHE),mode=max --cache-from type=local,src=$(BUILDX_CACHE)
6-
endif
7-
83
ifeq ($(PUSH),true)
94
BUILDX_OP=--push
105
else
@@ -15,7 +10,7 @@ ifdef PLATFORMS
1510
PLATFORM_FLAGS=--platform $(PLATFORMS)
1611
endif
1712

18-
BUILDX_FLAGS=$(BUILDX_OP) $(PLATFORM_FLAGS) $(CACHE_FLAGS)
13+
BUILDX_FLAGS=$(BUILDX_OP) $(PLATFORM_FLAGS)
1914

2015
# The Rust version used by our containers
2116
# Can be updated to the latest stable

0 commit comments

Comments
 (0)