ci: Add multi-runner/multi-arch to matrices. (closes #55)
Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
6
.github/workflows/bake.yml
vendored
6
.github/workflows/bake.yml
vendored
@@ -30,6 +30,10 @@ on:
|
|||||||
machines:
|
machines:
|
||||||
type: string
|
type: string
|
||||||
description: Hardware platforms
|
description: Hardware platforms
|
||||||
|
runner:
|
||||||
|
type: string
|
||||||
|
description: Runner mask
|
||||||
|
default: 'self-hosted'
|
||||||
excludes:
|
excludes:
|
||||||
type: string
|
type: string
|
||||||
default: '[]'
|
default: '[]'
|
||||||
@@ -86,7 +90,7 @@ jobs:
|
|||||||
${{matrix.sys_version}}
|
${{matrix.sys_version}}
|
||||||
${{matrix.sys_target}}
|
${{matrix.sys_target}}
|
||||||
|
|
||||||
runs-on: ${{matrix.machine}}
|
runs-on: ["${{matrix.machine}}", "${{inputs.runner}}"]
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: ${{inputs.fail_fast}}
|
fail-fast: ${{inputs.fail_fast}}
|
||||||
max-parallel: ${{inputs.max-parallel}}
|
max-parallel: ${{inputs.max-parallel}}
|
||||||
|
|||||||
15
.github/workflows/lint.yml
vendored
15
.github/workflows/lint.yml
vendored
@@ -43,6 +43,7 @@ jobs:
|
|||||||
&& contains(fromJSON(inputs.cargo_profiles), fromJSON('["test"]')[0])
|
&& contains(fromJSON(inputs.cargo_profiles), fromJSON('["test"]')[0])
|
||||||
&& contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0])
|
&& contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0])
|
||||||
&& contains(fromJSON(inputs.rust_toolchains), fromJSON('["nightly"]')[0])
|
&& contains(fromJSON(inputs.rust_toolchains), fromJSON('["nightly"]')[0])
|
||||||
|
&& contains(fromJSON(inputs.machines), fromJSON('["X64"]')[0])
|
||||||
|
|
||||||
name: Format
|
name: Format
|
||||||
uses: ./.github/workflows/bake.yml
|
uses: ./.github/workflows/bake.yml
|
||||||
@@ -55,7 +56,7 @@ jobs:
|
|||||||
sys_names: ${{inputs.sys_names}}
|
sys_names: ${{inputs.sys_names}}
|
||||||
sys_targets: ${{inputs.sys_targets}}
|
sys_targets: ${{inputs.sys_targets}}
|
||||||
sys_versions: ${{inputs.sys_versions}}
|
sys_versions: ${{inputs.sys_versions}}
|
||||||
machines: ${{inputs.machines}}
|
machines: '["X64"]'
|
||||||
excludes: ${{inputs.excludes}}
|
excludes: ${{inputs.excludes}}
|
||||||
includes: ${{inputs.includes}}
|
includes: ${{inputs.includes}}
|
||||||
|
|
||||||
@@ -65,6 +66,7 @@ jobs:
|
|||||||
&& contains(fromJSON(inputs.cargo_profiles), fromJSON('["test"]')[0])
|
&& contains(fromJSON(inputs.cargo_profiles), fromJSON('["test"]')[0])
|
||||||
&& contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0])
|
&& contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0])
|
||||||
&& contains(fromJSON(inputs.rust_toolchains), fromJSON('["nightly"]')[0])
|
&& contains(fromJSON(inputs.rust_toolchains), fromJSON('["nightly"]')[0])
|
||||||
|
&& contains(fromJSON(inputs.machines), fromJSON('["X64"]')[0])
|
||||||
|
|
||||||
name: Typos
|
name: Typos
|
||||||
uses: ./.github/workflows/bake.yml
|
uses: ./.github/workflows/bake.yml
|
||||||
@@ -77,7 +79,7 @@ jobs:
|
|||||||
sys_versions: ${{inputs.sys_versions}}
|
sys_versions: ${{inputs.sys_versions}}
|
||||||
rust_targets: ${{inputs.rust_targets}}
|
rust_targets: ${{inputs.rust_targets}}
|
||||||
sys_targets: ${{inputs.sys_targets}}
|
sys_targets: ${{inputs.sys_targets}}
|
||||||
machines: ${{inputs.machines}}
|
machines: '["X64"]'
|
||||||
excludes: ${{inputs.excludes}}
|
excludes: ${{inputs.excludes}}
|
||||||
includes: ${{inputs.includes}}
|
includes: ${{inputs.includes}}
|
||||||
|
|
||||||
@@ -87,6 +89,7 @@ jobs:
|
|||||||
&& contains(fromJSON(inputs.cargo_profiles), fromJSON('["test"]')[0])
|
&& contains(fromJSON(inputs.cargo_profiles), fromJSON('["test"]')[0])
|
||||||
&& contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0])
|
&& contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0])
|
||||||
&& contains(fromJSON(inputs.rust_toolchains), fromJSON('["nightly"]')[0])
|
&& contains(fromJSON(inputs.rust_toolchains), fromJSON('["nightly"]')[0])
|
||||||
|
&& contains(fromJSON(inputs.machines), fromJSON('["X64"]')[0])
|
||||||
|
|
||||||
name: Audit
|
name: Audit
|
||||||
uses: ./.github/workflows/bake.yml
|
uses: ./.github/workflows/bake.yml
|
||||||
@@ -99,7 +102,7 @@ jobs:
|
|||||||
sys_versions: ${{inputs.sys_versions}}
|
sys_versions: ${{inputs.sys_versions}}
|
||||||
rust_targets: ${{inputs.rust_targets}}
|
rust_targets: ${{inputs.rust_targets}}
|
||||||
sys_targets: ${{inputs.sys_targets}}
|
sys_targets: ${{inputs.sys_targets}}
|
||||||
machines: ${{inputs.machines}}
|
machines: '["X64"]'
|
||||||
excludes: ${{inputs.excludes}}
|
excludes: ${{inputs.excludes}}
|
||||||
includes: ${{inputs.includes}}
|
includes: ${{inputs.includes}}
|
||||||
|
|
||||||
@@ -109,6 +112,7 @@ jobs:
|
|||||||
&& contains(fromJSON(inputs.cargo_profiles), fromJSON('["test"]')[0])
|
&& contains(fromJSON(inputs.cargo_profiles), fromJSON('["test"]')[0])
|
||||||
&& contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0])
|
&& contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0])
|
||||||
&& contains(fromJSON(inputs.rust_toolchains), fromJSON('["nightly"]')[0])
|
&& contains(fromJSON(inputs.rust_toolchains), fromJSON('["nightly"]')[0])
|
||||||
|
&& contains(fromJSON(inputs.machines), fromJSON('["X64"]')[0])
|
||||||
|
|
||||||
name: Lychee
|
name: Lychee
|
||||||
uses: ./.github/workflows/bake.yml
|
uses: ./.github/workflows/bake.yml
|
||||||
@@ -121,7 +125,7 @@ jobs:
|
|||||||
sys_versions: ${{inputs.sys_versions}}
|
sys_versions: ${{inputs.sys_versions}}
|
||||||
rust_targets: ${{inputs.rust_targets}}
|
rust_targets: ${{inputs.rust_targets}}
|
||||||
sys_targets: ${{inputs.sys_targets}}
|
sys_targets: ${{inputs.sys_targets}}
|
||||||
machines: ${{inputs.machines}}
|
machines: '["X64"]'
|
||||||
excludes: ${{inputs.excludes}}
|
excludes: ${{inputs.excludes}}
|
||||||
includes: ${{inputs.includes}}
|
includes: ${{inputs.includes}}
|
||||||
|
|
||||||
@@ -131,6 +135,7 @@ jobs:
|
|||||||
&& contains(fromJSON(inputs.cargo_profiles), fromJSON('["test"]')[0])
|
&& contains(fromJSON(inputs.cargo_profiles), fromJSON('["test"]')[0])
|
||||||
&& contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0])
|
&& contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0])
|
||||||
&& contains(fromJSON(inputs.rust_toolchains), fromJSON('["nightly"]')[0])
|
&& contains(fromJSON(inputs.rust_toolchains), fromJSON('["nightly"]')[0])
|
||||||
|
&& contains(fromJSON(inputs.machines), fromJSON('["X64"]')[0])
|
||||||
|
|
||||||
name: Check
|
name: Check
|
||||||
uses: ./.github/workflows/bake.yml
|
uses: ./.github/workflows/bake.yml
|
||||||
@@ -143,7 +148,7 @@ jobs:
|
|||||||
sys_versions: ${{inputs.sys_versions}}
|
sys_versions: ${{inputs.sys_versions}}
|
||||||
rust_targets: ${{inputs.rust_targets}}
|
rust_targets: ${{inputs.rust_targets}}
|
||||||
sys_targets: ${{inputs.sys_targets}}
|
sys_targets: ${{inputs.sys_targets}}
|
||||||
machines: ${{inputs.machines}}
|
machines: '["X64"]'
|
||||||
excludes: ${{inputs.excludes}}
|
excludes: ${{inputs.excludes}}
|
||||||
includes: ${{inputs.includes}}
|
includes: ${{inputs.includes}}
|
||||||
|
|
||||||
|
|||||||
73
.github/workflows/main.yml
vendored
73
.github/workflows/main.yml
vendored
@@ -18,7 +18,7 @@ concurrency:
|
|||||||
jobs:
|
jobs:
|
||||||
init:
|
init:
|
||||||
name: Init
|
name: Init
|
||||||
runs-on: self-hosted
|
runs-on: ${{matrix.runner}}
|
||||||
env:
|
env:
|
||||||
default_cargo_profiles: '["test", "release"]'
|
default_cargo_profiles: '["test", "release"]'
|
||||||
default_feat_sets: '["none", "default", "all"]'
|
default_feat_sets: '["none", "default", "all"]'
|
||||||
@@ -27,7 +27,7 @@ jobs:
|
|||||||
default_sys_versions: '["testing-slim"]'
|
default_sys_versions: '["testing-slim"]'
|
||||||
default_rust_targets: '["x86_64-unknown-linux-gnu"]'
|
default_rust_targets: '["x86_64-unknown-linux-gnu"]'
|
||||||
default_sys_targets: '["x86_64-linux-gnu"]'
|
default_sys_targets: '["x86_64-linux-gnu"]'
|
||||||
default_machines: '["x86_64"]'
|
default_machines: '["X64"]'
|
||||||
|
|
||||||
outputs:
|
outputs:
|
||||||
cargo_profiles: ${{vars.CARGO_PROFILES || env.default_cargo_profiles}}
|
cargo_profiles: ${{vars.CARGO_PROFILES || env.default_cargo_profiles}}
|
||||||
@@ -40,8 +40,19 @@ jobs:
|
|||||||
machines: ${{vars.MACHINES || env.default_machines}}
|
machines: ${{vars.MACHINES || env.default_machines}}
|
||||||
release_url: ${{steps.release.outputs.upload_url}}
|
release_url: ${{steps.release.outputs.upload_url}}
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
fail-fast: true
|
||||||
|
matrix:
|
||||||
|
runner: ${{fromJSON(vars.RUNNERS)}}
|
||||||
|
machine: ${{fromJSON(vars.MACHINES)}}
|
||||||
|
exclude: ${{fromJSON(vars.RUNNERS_EXCLUDES)}}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Initialize Builder
|
- name: Initialize Builder
|
||||||
|
env:
|
||||||
|
runner: ${{matrix.runner}}
|
||||||
|
reserved_space: '{"het": "256GB", "aws": "48GB", "gcp": "160GB"}'
|
||||||
|
max_used_space: '{"het": "448GB", "aws": "64GB", "gcp": "192GB"}'
|
||||||
run: |
|
run: |
|
||||||
set +e
|
set +e
|
||||||
docker buildx inspect "${GITHUB_ACTOR}"
|
docker buildx inspect "${GITHUB_ACTOR}"
|
||||||
@@ -49,7 +60,9 @@ jobs:
|
|||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
set -e
|
set -eux
|
||||||
|
reserved_space=$(echo -n "$reserved_space" | jq -r ".$runner")
|
||||||
|
max_used_space=$(echo -n "$max_used_space" | jq -r ".$runner")
|
||||||
cat <<EOF > ./buildkitd.toml
|
cat <<EOF > ./buildkitd.toml
|
||||||
[system]
|
[system]
|
||||||
platformsCacheMaxAge = "504h"
|
platformsCacheMaxAge = "504h"
|
||||||
@@ -57,11 +70,11 @@ jobs:
|
|||||||
enabled = true
|
enabled = true
|
||||||
rootless = false
|
rootless = false
|
||||||
gc = true
|
gc = true
|
||||||
reservedSpace = "256GB"
|
reservedSpace = "${reserved_space}"
|
||||||
maxUsedSpace = "576GB"
|
maxUsedSpace = "${max_used_space}"
|
||||||
[[worker.oci.gcpolicy]]
|
[[worker.oci.gcpolicy]]
|
||||||
reservedSpace = "256GB"
|
reservedSpace = "${reserved_space}"
|
||||||
maxUsedSpace = "576GB"
|
maxUsedSpace = "${max_used_space}"
|
||||||
filters = ["label!=cache==pin"]
|
filters = ["label!=cache==pin"]
|
||||||
all = true
|
all = true
|
||||||
EOF
|
EOF
|
||||||
@@ -76,6 +89,7 @@ jobs:
|
|||||||
- if: >
|
- if: >
|
||||||
!failure() && !cancelled()
|
!failure() && !cancelled()
|
||||||
&& contains(github.ref, 'refs/tags/v')
|
&& contains(github.ref, 'refs/tags/v')
|
||||||
|
&& matrix.runner == 'het'
|
||||||
|
|
||||||
id: release
|
id: release
|
||||||
name: Create Release
|
name: Create Release
|
||||||
@@ -108,13 +122,22 @@ jobs:
|
|||||||
machines: ${{needs.init.outputs.machines}}
|
machines: ${{needs.init.outputs.machines}}
|
||||||
excludes: >
|
excludes: >
|
||||||
[
|
[
|
||||||
|
{"cargo_profile": "test", "rust_toolchain": "stable", "feat_set": "none"},
|
||||||
|
{"cargo_profile": "test", "rust_target": "aarch64-unknown-linux-gnu"},
|
||||||
|
{"cargo_profile": "release", "rust_toolchain": "nightly", "feat_set": "none"},
|
||||||
|
{"cargo_profile": "release", "rust_toolchain": "nightly", "feat_set": "default"},
|
||||||
{"cargo_profile": "release-debuginfo"},
|
{"cargo_profile": "release-debuginfo"},
|
||||||
{"cargo_profile": "release-native", "rust_toolchain": "stable"},
|
{"cargo_profile": "release-native", "rust_toolchain": "stable"},
|
||||||
{"cargo_profile": "release-native", "feat_set": "none"},
|
{"cargo_profile": "release-native", "feat_set": "none"},
|
||||||
{"cargo_profile": "release-native", "feat_set": "default"},
|
{"cargo_profile": "release-native", "feat_set": "default"},
|
||||||
{"cargo_profile": "test", "rust_toolchain": "stable", "feat_set": "none"},
|
{"cargo_profile": "release-native", "rust_target": "aarch64-unknown-linux-gnu"},
|
||||||
{"cargo_profile": "release", "rust_toolchain": "nightly", "feat_set": "none"},
|
{"rust_target": "aarch64-unknown-linux-gnu", "feat_set": "none"},
|
||||||
{"cargo_profile": "release", "rust_toolchain": "nightly", "feat_set": "default"}
|
{"rust_target": "aarch64-unknown-linux-gnu", "feat_set": "default"},
|
||||||
|
{"rust_target": "aarch64-unknown-linux-gnu", "rust_toolchain": "nightly"},
|
||||||
|
{"rust_target": "aarch64-unknown-linux-gnu", "sys_target": "x86_64-linux-gnu"},
|
||||||
|
{"rust_target": "x86_64-unknown-linux-gnu", "sys_target": "aarch64-linux-gnu"},
|
||||||
|
{"sys_target": "x86_64-linux-gnu", "machine": "ARM64"},
|
||||||
|
{"sys_target": "aarch64-linux-gnu", "machine": "X64"},
|
||||||
]
|
]
|
||||||
|
|
||||||
test:
|
test:
|
||||||
@@ -135,13 +158,23 @@ jobs:
|
|||||||
sys_targets: ${{needs.init.outputs.sys_targets}}
|
sys_targets: ${{needs.init.outputs.sys_targets}}
|
||||||
sys_versions: ${{needs.init.outputs.sys_versions}}
|
sys_versions: ${{needs.init.outputs.sys_versions}}
|
||||||
machines: ${{needs.init.outputs.machines}}
|
machines: ${{needs.init.outputs.machines}}
|
||||||
|
complement_runner: 'het'
|
||||||
excludes: >
|
excludes: >
|
||||||
[
|
[
|
||||||
{"cargo_profile": "test", "rust_toolchain": "stable", "feat_set": "none"},
|
{"cargo_profile": "test", "rust_toolchain": "stable", "feat_set": "none"},
|
||||||
|
{"cargo_profile": "test", "rust_target": "aarch64-unknown-linux-gnu"},
|
||||||
|
{"cargo_profile": "release-debuginfo"},
|
||||||
{"cargo_profile": "release-native", "rust_toolchain": "stable"},
|
{"cargo_profile": "release-native", "rust_toolchain": "stable"},
|
||||||
{"cargo_profile": "release-native", "feat_set": "default"},
|
{"cargo_profile": "release-native", "feat_set": "default"},
|
||||||
{"cargo_profile": "release-native", "feat_set": "none"},
|
{"cargo_profile": "release-native", "feat_set": "none"},
|
||||||
{"cargo_profile": "release-debuginfo"}
|
{"cargo_profile": "release-native", "rust_target": "aarch64-unknown-linux-gnu"},
|
||||||
|
{"rust_target": "aarch64-unknown-linux-gnu", "feat_set": "none"},
|
||||||
|
{"rust_target": "aarch64-unknown-linux-gnu", "feat_set": "default"},
|
||||||
|
{"rust_target": "aarch64-unknown-linux-gnu", "rust_toolchain": "nightly"},
|
||||||
|
{"rust_target": "aarch64-unknown-linux-gnu", "sys_target": "x86_64-linux-gnu"},
|
||||||
|
{"rust_target": "x86_64-unknown-linux-gnu", "sys_target": "aarch64-linux-gnu"},
|
||||||
|
{"sys_target": "x86_64-linux-gnu", "machine": "ARM64"},
|
||||||
|
{"sys_target": "aarch64-linux-gnu", "machine": "X64"},
|
||||||
]
|
]
|
||||||
|
|
||||||
package:
|
package:
|
||||||
@@ -168,12 +201,19 @@ jobs:
|
|||||||
{"cargo_profile": "release-debuginfo", "feat_set": "default"},
|
{"cargo_profile": "release-debuginfo", "feat_set": "default"},
|
||||||
{"cargo_profile": "release-debuginfo", "rust_toolchain": "nightly"},
|
{"cargo_profile": "release-debuginfo", "rust_toolchain": "nightly"},
|
||||||
{"cargo_profile": "release-debuginfo", "bake_target": "oci"},
|
{"cargo_profile": "release-debuginfo", "bake_target": "oci"},
|
||||||
|
{"cargo_profile": "release-debuginfo", "rust_target": "aarch64-unknown-linux-gnu"},
|
||||||
{"cargo_profile": "release-native", "feat_set": "default"},
|
{"cargo_profile": "release-native", "feat_set": "default"},
|
||||||
{"cargo_profile": "release-native", "rust_toolchain": "stable"},
|
{"cargo_profile": "release-native", "rust_toolchain": "stable"},
|
||||||
{"cargo_profile": "release-native", "feat_set": "default"},
|
{"cargo_profile": "release-native", "feat_set": "default"},
|
||||||
{"cargo_profile": "release-native", "bake_target": "docker"},
|
{"cargo_profile": "release-native", "bake_target": "docker"},
|
||||||
{"cargo_profile": "release-native", "bake_target": "oci"},
|
{"cargo_profile": "release-native", "bake_target": "oci"},
|
||||||
{"cargo_profile": "release", "rust_toolchain": "nightly"}
|
{"cargo_profile": "release-native", "rust_target": "aarch64-unknown-linux-gnu"},
|
||||||
|
{"cargo_profile": "release", "rust_toolchain": "nightly"},
|
||||||
|
{"rust_target": "aarch64-unknown-linux-gnu", "feat_set": "default"},
|
||||||
|
{"rust_target": "aarch64-unknown-linux-gnu", "sys_target": "x86_64-linux-gnu"},
|
||||||
|
{"rust_target": "x86_64-unknown-linux-gnu", "sys_target": "aarch64-linux-gnu"},
|
||||||
|
{"sys_target": "x86_64-linux-gnu", "machine": "ARM64"},
|
||||||
|
{"sys_target": "aarch64-linux-gnu", "machine": "X64"},
|
||||||
]
|
]
|
||||||
|
|
||||||
publish:
|
publish:
|
||||||
@@ -198,9 +238,14 @@ jobs:
|
|||||||
[
|
[
|
||||||
{"feat_set": "none"},
|
{"feat_set": "none"},
|
||||||
{"cargo_profile": "test"},
|
{"cargo_profile": "test"},
|
||||||
{"rust_toolchain": "nightly", "cargo_profile": "release"},
|
|
||||||
{"cargo_profile": "release-debuginfo"},
|
{"cargo_profile": "release-debuginfo"},
|
||||||
{"cargo_profile": "release-native"}
|
{"cargo_profile": "release-native"},
|
||||||
|
{"cargo_profile": "release", "rust_toolchain": "nightly"},
|
||||||
|
{"rust_target": "aarch64-unknown-linux-gnu", "feat_set": "default"},
|
||||||
|
{"rust_target": "aarch64-unknown-linux-gnu", "sys_target": "x86_64-linux-gnu"},
|
||||||
|
{"rust_target": "x86_64-unknown-linux-gnu", "sys_target": "aarch64-linux-gnu"},
|
||||||
|
{"sys_target": "x86_64-linux-gnu", "machine": "ARM64"},
|
||||||
|
{"sys_target": "aarch64-linux-gnu", "machine": "X64"},
|
||||||
]
|
]
|
||||||
|
|
||||||
secrets:
|
secrets:
|
||||||
|
|||||||
10
.github/workflows/package.yml
vendored
10
.github/workflows/package.yml
vendored
@@ -46,6 +46,7 @@ jobs:
|
|||||||
&& contains(fromJSON(inputs.cargo_profiles), fromJSON('["release"]')[0])
|
&& contains(fromJSON(inputs.cargo_profiles), fromJSON('["release"]')[0])
|
||||||
&& contains(fromJSON(inputs.feat_sets), fromJSON('["default"]')[0])
|
&& contains(fromJSON(inputs.feat_sets), fromJSON('["default"]')[0])
|
||||||
&& contains(fromJSON(inputs.rust_toolchains), fromJSON('["stable"]')[0])
|
&& contains(fromJSON(inputs.rust_toolchains), fromJSON('["stable"]')[0])
|
||||||
|
&& contains(fromJSON(inputs.machines), fromJSON('["X64"]')[0])
|
||||||
|
|
||||||
name: Book
|
name: Book
|
||||||
uses: ./.github/workflows/bake.yml
|
uses: ./.github/workflows/bake.yml
|
||||||
@@ -58,7 +59,8 @@ jobs:
|
|||||||
sys_names: ${{inputs.sys_names}}
|
sys_names: ${{inputs.sys_names}}
|
||||||
sys_targets: ${{inputs.sys_targets}}
|
sys_targets: ${{inputs.sys_targets}}
|
||||||
sys_versions: ${{inputs.sys_versions}}
|
sys_versions: ${{inputs.sys_versions}}
|
||||||
machines: ${{inputs.machines}}
|
machines: '["X64"]'
|
||||||
|
runner: 'het'
|
||||||
excludes: ${{inputs.excludes}}
|
excludes: ${{inputs.excludes}}
|
||||||
includes: ${{inputs.includes}}
|
includes: ${{inputs.includes}}
|
||||||
release_url: ${{inputs.release_url}}
|
release_url: ${{inputs.release_url}}
|
||||||
@@ -142,6 +144,7 @@ jobs:
|
|||||||
&& contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0])
|
&& contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0])
|
||||||
&& contains(fromJSON(inputs.cargo_profiles), fromJSON('["release"]')[0])
|
&& contains(fromJSON(inputs.cargo_profiles), fromJSON('["release"]')[0])
|
||||||
&& contains(fromJSON(inputs.rust_toolchains), fromJSON('["stable"]')[0])
|
&& contains(fromJSON(inputs.rust_toolchains), fromJSON('["stable"]')[0])
|
||||||
|
&& contains(fromJSON(inputs.machines), fromJSON('["X64"]')[0])
|
||||||
&& github.ref == 'refs/heads/main'
|
&& github.ref == 'refs/heads/main'
|
||||||
|
|
||||||
name: Distro Packages
|
name: Distro Packages
|
||||||
@@ -155,7 +158,7 @@ jobs:
|
|||||||
sys_versions: ${{inputs.sys_versions}}
|
sys_versions: ${{inputs.sys_versions}}
|
||||||
rust_targets: ${{inputs.rust_targets}}
|
rust_targets: ${{inputs.rust_targets}}
|
||||||
sys_targets: ${{inputs.sys_targets}}
|
sys_targets: ${{inputs.sys_targets}}
|
||||||
machines: ${{inputs.machines}}
|
machines: '["X64"]'
|
||||||
excludes: ${{inputs.excludes}}
|
excludes: ${{inputs.excludes}}
|
||||||
includes: ${{inputs.includes}}
|
includes: ${{inputs.includes}}
|
||||||
release_url: ${{inputs.release_url}}
|
release_url: ${{inputs.release_url}}
|
||||||
@@ -179,6 +182,7 @@ jobs:
|
|||||||
&& contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0])
|
&& contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0])
|
||||||
&& contains(fromJSON(inputs.cargo_profiles), fromJSON('["release"]')[0])
|
&& contains(fromJSON(inputs.cargo_profiles), fromJSON('["release"]')[0])
|
||||||
&& contains(fromJSON(inputs.rust_toolchains), fromJSON('["stable"]')[0])
|
&& contains(fromJSON(inputs.rust_toolchains), fromJSON('["stable"]')[0])
|
||||||
|
&& contains(fromJSON(inputs.machines), fromJSON('["X64"]')[0])
|
||||||
&& github.ref == 'refs/heads/main'
|
&& github.ref == 'refs/heads/main'
|
||||||
|
|
||||||
name: Check Packages
|
name: Check Packages
|
||||||
@@ -193,6 +197,6 @@ jobs:
|
|||||||
sys_versions: ${{inputs.sys_versions}}
|
sys_versions: ${{inputs.sys_versions}}
|
||||||
rust_targets: ${{inputs.rust_targets}}
|
rust_targets: ${{inputs.rust_targets}}
|
||||||
sys_targets: ${{inputs.sys_targets}}
|
sys_targets: ${{inputs.sys_targets}}
|
||||||
machines: ${{inputs.machines}}
|
machines: '["X64"]'
|
||||||
excludes: ${{inputs.excludes}}
|
excludes: ${{inputs.excludes}}
|
||||||
includes: ${{inputs.includes}}
|
includes: ${{inputs.includes}}
|
||||||
|
|||||||
4
.github/workflows/publish.yml
vendored
4
.github/workflows/publish.yml
vendored
@@ -49,12 +49,12 @@ jobs:
|
|||||||
documents:
|
documents:
|
||||||
if: >
|
if: >
|
||||||
!failure() && !cancelled()
|
!failure() && !cancelled()
|
||||||
&& inputs.machines
|
&& contains(fromJSON(inputs.machines), fromJSON('["X64"]')[0])
|
||||||
&& (github.ref == 'refs/heads/main' || contains(github.ref, 'refs/tags/v'))
|
&& (github.ref == 'refs/heads/main' || contains(github.ref, 'refs/tags/v'))
|
||||||
&& !contains(github.ref, '-draft')
|
&& !contains(github.ref, '-draft')
|
||||||
|
|
||||||
name: Documents
|
name: Documents
|
||||||
runs-on: self-hosted
|
runs-on: ['X64', 'het']
|
||||||
permissions:
|
permissions:
|
||||||
pages: write
|
pages: write
|
||||||
id-token: write
|
id-token: write
|
||||||
|
|||||||
40
.github/workflows/test.yml
vendored
40
.github/workflows/test.yml
vendored
@@ -41,6 +41,8 @@ on:
|
|||||||
complement_feat_sets:
|
complement_feat_sets:
|
||||||
type: string
|
type: string
|
||||||
default: '["all"]'
|
default: '["all"]'
|
||||||
|
complement_runner:
|
||||||
|
type: string
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
unit:
|
unit:
|
||||||
@@ -48,6 +50,7 @@ jobs:
|
|||||||
contains(fromJSON(inputs.cargo_profiles), fromJSON('["test"]')[0])
|
contains(fromJSON(inputs.cargo_profiles), fromJSON('["test"]')[0])
|
||||||
&& contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0])
|
&& contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0])
|
||||||
&& contains(fromJSON(inputs.rust_toolchains), fromJSON('["nightly"]')[0])
|
&& contains(fromJSON(inputs.rust_toolchains), fromJSON('["nightly"]')[0])
|
||||||
|
&& contains(fromJSON(inputs.machines), fromJSON('["X64"]')[0])
|
||||||
|
|
||||||
name: Unit
|
name: Unit
|
||||||
uses: ./.github/workflows/bake.yml
|
uses: ./.github/workflows/bake.yml
|
||||||
@@ -60,12 +63,16 @@ jobs:
|
|||||||
sys_versions: ${{inputs.sys_versions}}
|
sys_versions: ${{inputs.sys_versions}}
|
||||||
rust_targets: ${{inputs.rust_targets}}
|
rust_targets: ${{inputs.rust_targets}}
|
||||||
sys_targets: ${{inputs.sys_targets}}
|
sys_targets: ${{inputs.sys_targets}}
|
||||||
machines: ${{inputs.machines}}
|
machines: '["X64"]'
|
||||||
excludes: ${{inputs.excludes}}
|
excludes: ${{inputs.excludes}}
|
||||||
includes: ${{inputs.includes}}
|
includes: ${{inputs.includes}}
|
||||||
|
|
||||||
smoke:
|
smoke:
|
||||||
if: inputs.cargo_profiles
|
if: >
|
||||||
|
!failure() && !cancelled()
|
||||||
|
&& inputs.cargo_profiles
|
||||||
|
&& inputs.machines
|
||||||
|
|
||||||
name: Smoke
|
name: Smoke
|
||||||
uses: ./.github/workflows/bake.yml
|
uses: ./.github/workflows/bake.yml
|
||||||
with:
|
with:
|
||||||
@@ -82,26 +89,37 @@ jobs:
|
|||||||
excludes: >
|
excludes: >
|
||||||
[
|
[
|
||||||
{"cargo_profile": "test", "feat_set": "default"},
|
{"cargo_profile": "test", "feat_set": "default"},
|
||||||
{"cargo_profile": "test", "rust_toolchain": "stable"},
|
|
||||||
{"cargo_profile": "test", "feat_set": "none", "bake_target": "smoke-valgrind"},
|
{"cargo_profile": "test", "feat_set": "none", "bake_target": "smoke-valgrind"},
|
||||||
|
{"cargo_profile": "test", "rust_toolchain": "stable"},
|
||||||
|
{"cargo_profile": "test", "rust_target": "aarch64-unknown-linux-gnu"},
|
||||||
{"cargo_profile": "release", "rust_toolchain": "nightly"},
|
{"cargo_profile": "release", "rust_toolchain": "nightly"},
|
||||||
{"cargo_profile": "release", "rust_toolchain": "stable", "feat_set": "none"},
|
{"cargo_profile": "release", "rust_toolchain": "stable", "feat_set": "none"},
|
||||||
{"cargo_profile": "release", "bake_target": "smoke-valgrind"},
|
{"cargo_profile": "release", "bake_target": "smoke-valgrind"},
|
||||||
{"cargo_profile": "release-debuginfo", "rust_toolchain": "nightly"},
|
{"cargo_profile": "release-debuginfo", "rust_toolchain": "nightly"},
|
||||||
{"cargo_profile": "release-debuginfo", "rust_toolchain": "stable", "feat_set": "none"},
|
{"cargo_profile": "release-debuginfo", "rust_toolchain": "stable", "feat_set": "none"},
|
||||||
{"cargo_profile": "release-debuginfo", "bake_target": "smoke"},
|
{"cargo_profile": "release-debuginfo", "bake_target": "smoke"},
|
||||||
|
{"cargo_profile": "release-debuginfo", "rust_target": "aarch64-unknown-linux-gnu"},
|
||||||
{"cargo_profile": "release-native", "rust_toolchain": "stable"},
|
{"cargo_profile": "release-native", "rust_toolchain": "stable"},
|
||||||
{"cargo_profile": "release-native", "feat_set": "none"},
|
{"cargo_profile": "release-native", "feat_set": "none"},
|
||||||
{"cargo_profile": "release-native", "feat_set": "default"},
|
{"cargo_profile": "release-native", "feat_set": "default"},
|
||||||
{"cargo_profile": "release-native", "bake_target": "smoke-valgrind"}
|
{"cargo_profile": "release-native", "bake_target": "smoke-valgrind"},
|
||||||
|
{"cargo_profile": "release-native", "rust_target": "aarch64-unknown-linux-gnu"},
|
||||||
|
{"rust_target": "aarch64-unknown-linux-gnu", "feat_set": "none"},
|
||||||
|
{"rust_target": "aarch64-unknown-linux-gnu", "feat_set": "default"},
|
||||||
|
{"rust_target": "aarch64-unknown-linux-gnu", "sys_target": "x86_64-linux-gnu"},
|
||||||
|
{"rust_target": "x86_64-unknown-linux-gnu", "sys_target": "aarch64-linux-gnu"},
|
||||||
|
{"sys_target": "x86_64-linux-gnu", "machine": "ARM64"},
|
||||||
|
{"sys_target": "aarch64-linux-gnu", "machine": "X64"},
|
||||||
]
|
]
|
||||||
|
|
||||||
complement:
|
complement:
|
||||||
if: >
|
if: >
|
||||||
inputs.complement
|
!failure() && !cancelled()
|
||||||
|
&& inputs.complement
|
||||||
&& contains(fromJSON(inputs.cargo_profiles), fromJSON('["test"]')[0])
|
&& contains(fromJSON(inputs.cargo_profiles), fromJSON('["test"]')[0])
|
||||||
&& contains(fromJSON(inputs.complement_feat_sets), fromJSON('["all"]')[0])
|
&& contains(fromJSON(inputs.complement_feat_sets), fromJSON('["all"]')[0])
|
||||||
&& contains(fromJSON(inputs.rust_toolchains), fromJSON('["nightly"]')[0])
|
&& contains(fromJSON(inputs.rust_toolchains), fromJSON('["nightly"]')[0])
|
||||||
|
&& contains(fromJSON(inputs.machines), fromJSON('["X64"]')[0])
|
||||||
|
|
||||||
name: Complement
|
name: Complement
|
||||||
uses: ./.github/workflows/bake.yml
|
uses: ./.github/workflows/bake.yml
|
||||||
@@ -114,20 +132,24 @@ jobs:
|
|||||||
sys_versions: ${{inputs.sys_versions}}
|
sys_versions: ${{inputs.sys_versions}}
|
||||||
rust_targets: ${{inputs.rust_targets}}
|
rust_targets: ${{inputs.rust_targets}}
|
||||||
sys_targets: ${{inputs.sys_targets}}
|
sys_targets: ${{inputs.sys_targets}}
|
||||||
machines: ${{inputs.machines}}
|
machines: '["X64"]'
|
||||||
|
runner: ${{inputs.complement_runner}}
|
||||||
excludes: ${{inputs.excludes}}
|
excludes: ${{inputs.excludes}}
|
||||||
includes: ${{inputs.includes}}
|
includes: ${{inputs.includes}}
|
||||||
|
|
||||||
compliance:
|
compliance:
|
||||||
if: >
|
if: >
|
||||||
inputs.complement
|
!failure() && !cancelled()
|
||||||
|
&& inputs.complement
|
||||||
|
&& inputs.machines
|
||||||
&& contains(fromJSON(inputs.cargo_profiles), fromJSON('["test"]')[0])
|
&& contains(fromJSON(inputs.cargo_profiles), fromJSON('["test"]')[0])
|
||||||
&& contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0])
|
&& contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0])
|
||||||
&& contains(fromJSON(inputs.rust_toolchains), fromJSON('["nightly"]')[0])
|
&& contains(fromJSON(inputs.rust_toolchains), fromJSON('["nightly"]')[0])
|
||||||
|
&& contains(fromJSON(inputs.machines), fromJSON('["X64"]')[0])
|
||||||
|
|
||||||
name: Matrix Compliance
|
name: Matrix Compliance
|
||||||
needs: [complement]
|
needs: [complement]
|
||||||
runs-on: ${{matrix.machine}}
|
runs-on: ["${{matrix.machine}}", "${{inputs.complement_runner}}"]
|
||||||
concurrency:
|
concurrency:
|
||||||
group: complement-cant-walk-and-chew-bubblegum
|
group: complement-cant-walk-and-chew-bubblegum
|
||||||
cancel-in-progress: false
|
cancel-in-progress: false
|
||||||
@@ -142,7 +164,7 @@ jobs:
|
|||||||
sys_version: ${{fromJSON(inputs.sys_versions)}}
|
sys_version: ${{fromJSON(inputs.sys_versions)}}
|
||||||
rust_target: ${{fromJSON(inputs.rust_targets)}}
|
rust_target: ${{fromJSON(inputs.rust_targets)}}
|
||||||
sys_target: ${{fromJSON(inputs.sys_targets)}}
|
sys_target: ${{fromJSON(inputs.sys_targets)}}
|
||||||
machine: ${{fromJSON(inputs.machines)}}
|
machine: ${{fromJSON('["X64"]')}}
|
||||||
exclude: ${{fromJSON(inputs.excludes)}}
|
exclude: ${{fromJSON(inputs.excludes)}}
|
||||||
include: ${{fromJSON(inputs.includes)}}
|
include: ${{fromJSON(inputs.includes)}}
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ ARG rocksdb_shared=0
|
|||||||
ARG rocksdb_portable=1
|
ARG rocksdb_portable=1
|
||||||
ARG rocksdb_opt_level="3"
|
ARG rocksdb_opt_level="3"
|
||||||
ARG rocksdb_build_type="Release"
|
ARG rocksdb_build_type="Release"
|
||||||
ARG rocksdb_cxx_flags="-ftls-model=initial-exec"
|
ARG rocksdb_cxx_flags="-ftls-model=initial-exec -mno-outline-atomics"
|
||||||
ARG rocksdb_make_verbose="ON"
|
ARG rocksdb_make_verbose="ON"
|
||||||
ARG rocksdb_make_rule_messages="OFF"
|
ARG rocksdb_make_rule_messages="OFF"
|
||||||
ARG rocksdb_jemalloc=1
|
ARG rocksdb_jemalloc=1
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
FROM input AS rustup
|
FROM input AS rustup
|
||||||
ARG RUST_HOME
|
ARG RUST_HOME
|
||||||
ARG rust_target
|
ARG rust_target
|
||||||
ARG rustup_version="1.28.1"
|
ARG rustup_version="1.28.2"
|
||||||
ARG rustup_profile="minimal"
|
ARG rustup_profile="minimal"
|
||||||
|
|
||||||
WORKDIR /
|
WORKDIR /
|
||||||
@@ -13,7 +13,8 @@ WORKDIR ${RUST_HOME}
|
|||||||
RUN <<EOF
|
RUN <<EOF
|
||||||
set -eux
|
set -eux
|
||||||
|
|
||||||
url="https://static.rust-lang.org/rustup/archive/${rustup_version}/${rust_target}/rustup-init"
|
var="${rustup_version}/${rust_target}"
|
||||||
|
url="https://static.rust-lang.org/rustup/archive/$var/rustup-init"
|
||||||
curl -S -O -s "$url"
|
curl -S -O -s "$url"
|
||||||
chmod o+x rustup-init
|
chmod o+x rustup-init
|
||||||
EOF
|
EOF
|
||||||
|
|||||||
@@ -156,7 +156,33 @@ variable "git_checkout" {
|
|||||||
# Rustflags
|
# Rustflags
|
||||||
#
|
#
|
||||||
|
|
||||||
rustflags = []
|
rustflags = [
|
||||||
|
"-C link-arg=--verbose",
|
||||||
|
"-C link-arg=-Wl,--gc-sections",
|
||||||
|
]
|
||||||
|
|
||||||
|
static_rustflags = [
|
||||||
|
"-C relocation-model=static",
|
||||||
|
"-C target-feature=+crt-static",
|
||||||
|
]
|
||||||
|
|
||||||
|
static_libs = [
|
||||||
|
"-C link-arg=-l:libstdc++.a",
|
||||||
|
"-C link-arg=-l:libc.a",
|
||||||
|
"-C link-arg=-l:libm.a",
|
||||||
|
]
|
||||||
|
|
||||||
|
dynamic_rustflags = [
|
||||||
|
"-C relocation-model=pic",
|
||||||
|
"-C target-feature=-crt-static",
|
||||||
|
"-C link-arg=-Wl,--as-needed",
|
||||||
|
]
|
||||||
|
|
||||||
|
dynamic_libs = [
|
||||||
|
"-C link-arg=-lstdc++",
|
||||||
|
"-C link-arg=-lc",
|
||||||
|
"-C link-arg=-lm",
|
||||||
|
]
|
||||||
|
|
||||||
nightly_rustflags = [
|
nightly_rustflags = [
|
||||||
"--cfg tokio_unstable",
|
"--cfg tokio_unstable",
|
||||||
@@ -168,33 +194,11 @@ nightly_rustflags = [
|
|||||||
#"-Z time-llvm-passes",
|
#"-Z time-llvm-passes",
|
||||||
]
|
]
|
||||||
|
|
||||||
static_rustflags = [
|
|
||||||
"-C relocation-model=static",
|
|
||||||
"-C target-feature=+crt-static",
|
|
||||||
"-C link-arg=--verbose",
|
|
||||||
"-C link-arg=-Wl,--gc-sections",
|
|
||||||
"-C link-arg=-L/usr/lib/gcc/x86_64-linux-gnu/14", # FIXME
|
|
||||||
"-C link-arg=-l:libstdc++.a",
|
|
||||||
"-C link-arg=-l:libc.a",
|
|
||||||
"-C link-arg=-l:libm.a",
|
|
||||||
]
|
|
||||||
|
|
||||||
dynamic_rustflags = [
|
|
||||||
"-C relocation-model=pic",
|
|
||||||
"-C target-feature=-crt-static",
|
|
||||||
"-C link-arg=--verbose",
|
|
||||||
"-C link-arg=-Wl,--gc-sections",
|
|
||||||
"-C link-arg=-Wl,--as-needed",
|
|
||||||
"-C link-arg=-lstdc++",
|
|
||||||
"-C link-arg=-lc",
|
|
||||||
"-C link-arg=-lm",
|
|
||||||
]
|
|
||||||
|
|
||||||
static_nightly_rustflags = [
|
static_nightly_rustflags = [
|
||||||
"-Z tls-model=local-exec",
|
"-Z tls-model=local-exec",
|
||||||
]
|
]
|
||||||
|
|
||||||
rmp_rustflags = [
|
native_rustflags = [
|
||||||
"-C target-cpu=native",
|
"-C target-cpu=native",
|
||||||
"-Z tune-cpu=native",
|
"-Z tune-cpu=native",
|
||||||
"-Z inline-mir=true",
|
"-Z inline-mir=true",
|
||||||
@@ -1188,56 +1192,73 @@ target "deps-base" {
|
|||||||
join(" ", [
|
join(" ", [
|
||||||
join(" ", rustflags),
|
join(" ", rustflags),
|
||||||
join(" ", nightly_rustflags),
|
join(" ", nightly_rustflags),
|
||||||
|
join(" ", static_rustflags),
|
||||||
|
join(" ", static_nightly_rustflags),
|
||||||
|
join(" ", native_rustflags),
|
||||||
|
"-C link-arg=-L/usr/lib/gcc/${sys_target}/14", #FIXME
|
||||||
contains(split(",", cargo_feat_sets[feat_set]), "zstd_compression")?
|
contains(split(",", cargo_feat_sets[feat_set]), "zstd_compression")?
|
||||||
"-C link-arg=-l:libzstd.a": "",
|
"-C link-arg=-l:libzstd.a": "",
|
||||||
contains(split(",", cargo_feat_sets[feat_set]), "io_uring")?
|
contains(split(",", cargo_feat_sets[feat_set]), "io_uring")?
|
||||||
"-C link-arg=-l:liburing.a": "",
|
"-C link-arg=-l:liburing.a": "",
|
||||||
join(" ", static_rustflags),
|
join(" ", static_libs),
|
||||||
join(" ", static_nightly_rustflags),
|
sys_target == "aarch64-linux-gnu"?
|
||||||
join(" ", rmp_rustflags),
|
"-C link-arg=-l:libgcc.a": "",
|
||||||
]):
|
]):
|
||||||
|
|
||||||
cargo_profile == "release" && rust_toolchain == "nightly"?
|
cargo_profile == "release" && rust_toolchain == "nightly"?
|
||||||
join(" ", [
|
join(" ", [
|
||||||
join(" ", rustflags),
|
join(" ", rustflags),
|
||||||
join(" ", nightly_rustflags),
|
join(" ", nightly_rustflags),
|
||||||
|
join(" ", static_rustflags),
|
||||||
|
join(" ", static_nightly_rustflags),
|
||||||
|
"-C link-arg=-L/usr/lib/gcc/${sys_target}/14", #FIXME
|
||||||
contains(split(",", cargo_feat_sets[feat_set]), "zstd_compression")?
|
contains(split(",", cargo_feat_sets[feat_set]), "zstd_compression")?
|
||||||
"-C link-arg=-l:libzstd.a": "",
|
"-C link-arg=-l:libzstd.a": "",
|
||||||
contains(split(",", cargo_feat_sets[feat_set]), "io_uring")?
|
contains(split(",", cargo_feat_sets[feat_set]), "io_uring")?
|
||||||
"-C link-arg=-l:liburing.a": "",
|
"-C link-arg=-l:liburing.a": "",
|
||||||
join(" ", static_rustflags),
|
join(" ", static_libs),
|
||||||
join(" ", static_nightly_rustflags),
|
sys_target == "aarch64-linux-gnu"?
|
||||||
|
"-C link-arg=-l:libgcc.a": "",
|
||||||
]):
|
]):
|
||||||
|
|
||||||
cargo_profile == "release" || cargo_profile == "release-debuginfo"?
|
cargo_profile == "release" || cargo_profile == "release-debuginfo"?
|
||||||
join(" ", [
|
join(" ", [
|
||||||
join(" ", rustflags),
|
join(" ", rustflags),
|
||||||
|
join(" ", static_rustflags),
|
||||||
|
"-C link-arg=-L/usr/lib/gcc/${sys_target}/14", #FIXME
|
||||||
contains(split(",", cargo_feat_sets[feat_set]), "zstd_compression")?
|
contains(split(",", cargo_feat_sets[feat_set]), "zstd_compression")?
|
||||||
"-C link-arg=-l:libzstd.a": "",
|
"-C link-arg=-l:libzstd.a": "",
|
||||||
contains(split(",", cargo_feat_sets[feat_set]), "io_uring")?
|
contains(split(",", cargo_feat_sets[feat_set]), "io_uring")?
|
||||||
"-C link-arg=-l:liburing.a": "",
|
"-C link-arg=-l:liburing.a": "",
|
||||||
join(" ", static_rustflags),
|
join(" ", static_libs),
|
||||||
|
sys_target == "aarch64-linux-gnu"?
|
||||||
|
"-C link-arg=-l:libgcc.a": "",
|
||||||
]):
|
]):
|
||||||
|
|
||||||
rust_toolchain == "stable"?
|
rust_toolchain == "stable"?
|
||||||
join(" ", [
|
join(" ", [
|
||||||
join(" ", rustflags),
|
join(" ", rustflags),
|
||||||
|
join(" ", static_rustflags),
|
||||||
|
"-C link-arg=-L/usr/lib/gcc/${sys_target}/14", #FIXME
|
||||||
contains(split(",", cargo_feat_sets[feat_set]), "zstd_compression")?
|
contains(split(",", cargo_feat_sets[feat_set]), "zstd_compression")?
|
||||||
"-C link-arg=-l:libzstd.a": "",
|
"-C link-arg=-l:libzstd.a": "",
|
||||||
contains(split(",", cargo_feat_sets[feat_set]), "io_uring")?
|
contains(split(",", cargo_feat_sets[feat_set]), "io_uring")?
|
||||||
"-C link-arg=-l:liburing.a": "",
|
"-C link-arg=-l:liburing.a": "",
|
||||||
join(" ", static_rustflags),
|
join(" ", static_libs),
|
||||||
|
sys_target == "aarch64-linux-gnu"?
|
||||||
|
"-C link-arg=-l:libgcc.a": "",
|
||||||
]):
|
]):
|
||||||
|
|
||||||
rust_toolchain == "nightly"?
|
rust_toolchain == "nightly"?
|
||||||
join(" ", [
|
join(" ", [
|
||||||
join(" ", rustflags),
|
join(" ", rustflags),
|
||||||
join(" ", nightly_rustflags),
|
join(" ", nightly_rustflags),
|
||||||
|
join(" ", dynamic_rustflags),
|
||||||
contains(split(",", cargo_feat_sets[feat_set]), "zstd_compression")?
|
contains(split(",", cargo_feat_sets[feat_set]), "zstd_compression")?
|
||||||
"-C link-arg=-lzstd": "",
|
"-C link-arg=-lzstd": "",
|
||||||
contains(split(",", cargo_feat_sets[feat_set]), "io_uring")?
|
contains(split(",", cargo_feat_sets[feat_set]), "io_uring")?
|
||||||
"-C link-arg=-luring": "",
|
"-C link-arg=-luring": "",
|
||||||
join(" ", dynamic_rustflags),
|
join(" ", dynamic_libs),
|
||||||
]):
|
]):
|
||||||
|
|
||||||
join(" ", [
|
join(" ", [
|
||||||
@@ -1429,7 +1450,7 @@ cargo_installs = [
|
|||||||
"cargo-chef",
|
"cargo-chef",
|
||||||
"cargo-audit",
|
"cargo-audit",
|
||||||
"cargo-deb",
|
"cargo-deb",
|
||||||
"cargo-arch",
|
#"cargo-arch",
|
||||||
"cargo-generate-rpm",
|
"cargo-generate-rpm",
|
||||||
"lychee",
|
"lychee",
|
||||||
"mdbook",
|
"mdbook",
|
||||||
|
|||||||
Reference in New Issue
Block a user