Skip to content

Commit c239da7

Browse files
committed
Merge #150: CI: Double compute performance, halve build jobs
Approved-by: ReinierMaas Priority: Normal Auto-deploy: false
2 parents c88ff62 + 44a0794 commit c239da7

18 files changed

Lines changed: 497 additions & 385 deletions

File tree

‎.config/hakari.toml‎

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# This file contains settings for `cargo hakari`.
2+
# See https://docs.rs/cargo-hakari/latest/cargo_hakari/config for a full list of options.
3+
4+
hakari-package = "workspace-hack"
5+
6+
# Format version for hakari's output. Version 4 requires cargo-hakari 0.9.22 or above.
7+
dep-format-version = "4"
8+
9+
# Setting workspace.resolver = "2" or higher in the root Cargo.toml is HIGHLY recommended.
10+
# Hakari works much better with the v2 resolver. (The v2 and v3 resolvers are identical from
11+
# hakari's perspective, so you're welcome to set either.)
12+
#
13+
# For more about the new feature resolver, see:
14+
# https://blog.rust-lang.org/2021/03/25/Rust-1.51.0.html#cargos-new-feature-resolver
15+
resolver = "3"
16+
17+
# Add triples corresponding to platforms commonly used by developers here.
18+
# https://doc.rust-lang.org/rustc/platform-support.html
19+
platforms = [
20+
"x86_64-unknown-linux-gnu",
21+
# "x86_64-apple-darwin",
22+
# "aarch64-apple-darwin",
23+
# "x86_64-pc-windows-msvc",
24+
]
25+
26+
# Write out exact versions rather than a semver range. (Defaults to false.)
27+
# exact-versions = true

‎.gitattributes‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Avoid putting conflict markers in the generated Cargo.toml file, since their presence breaks
2+
# Cargo.
3+
Cargo.lock merge=binary

‎.github/workflows/ci.yml‎

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,7 @@ jobs:
66
runs-on: ubuntu-latest
77
steps:
88
- uses: actions/checkout@0c366fd6a839edf440554fa01a7085ccba70ac98
9-
10-
# c.f. https://github.com/extractions/setup-just/issues/23
11-
- uses: extractions/setup-crate@4993624604c307fbca528d28a3c8b60fa5ecc859 # v1.4.0
12-
with:
13-
repo: casey/just
14-
version: 1.42.4
15-
- uses: moonrepo/setup-rust@ede6de059f8046a5e236c94046823e2af11ca670 # v1.2.2
16-
with:
17-
bins: cargo-nextest, cargo-insta@1.28.0
9+
- uses: ./.github/actions/setup-nix-direnv-rust
1810
- run: just test-unit
1911
test-integration:
2012
name: Integration test (& build all in dev-mode)

‎.semaphore/semaphore.yml‎

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ name: "Opsqueue CI"
33

44
agent:
55
machine:
6-
type: "f1-standard-2"
7-
os_image: "ubuntu2204"
6+
type: "f1-standard-4"
7+
os_image: "ubuntu2404"
88

99
# If we push a new build to some branch that isn't master, and another build is
1010
# already running, we cancel it.
@@ -60,17 +60,14 @@ blocks:
6060
when: "branch = 'master'"
6161
task:
6262
jobs:
63-
- name: "Build Opsqueue binary (in release mode) & run unit tests"
63+
- name: "Build Opsqueue binary & Python library (in release mode) & run unit tests"
6464
commands:
65-
- "nix-store -qR --include-outputs $(nix-store -qd $(just nix-build-bin)) | grep -v '\\.drv$' | cachix push channable"
65+
- "nix-store -qR --include-outputs $(nix-store -qd $(just nix-build)) | grep -v '\\.drv$' | cachix push channable"
6666
# Once a day, we update the devenv cache.
6767
# Except when fresh, this takes < 1 second
6868
# but it cannot live in the prologue
6969
# as that might corrupt it
7070
- cache store nix-store-$(date -u -Idate) /nix
71-
- name: "Build Python library (in release mode)"
72-
commands:
73-
- "nix-store -qR --include-outputs $(nix-store -qd $(just nix-build-python)) | grep -v '\\.drv$' | cachix push channable"
7471
- name: "Integration"
7572
dependencies:
7673
- "Build"

0 commit comments

Comments
 (0)