diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 414a8198..be353e70 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -55,6 +55,7 @@ jobs: sys_targets: ${{needs.init.outputs.sys_targets}} sys_versions: ${{needs.init.outputs.sys_versions}} machines: ${{needs.init.outputs.machines}} + excludes: '[{"cargo_profile": "release-debuginfo", "rust_toolchain": "nightly"}, {"cargo_profile": "release-max-perf", "rust_toolchain": "stable"}, {"cargo_profile": "release-max-perf", "feat_set": "none"}]' lint: if: ${{ !failure() && !cancelled() }} @@ -70,7 +71,7 @@ jobs: sys_targets: ${{needs.init.outputs.sys_targets}} sys_versions: ${{needs.init.outputs.sys_versions}} machines: ${{needs.init.outputs.machines}} - excludes: '[{"cargo_profile": "release-debuginfo", "rust_toolchain": "nightly"}]' + excludes: '[{"cargo_profile": "release-debuginfo", "rust_toolchain": "nightly"}, {"cargo_profile": "release-max-perf", "rust_toolchain": "stable"}, {"cargo_profile": "release-max-perf", "feat_set": "none"}]' test: if: ${{ !failure() && !cancelled() }} @@ -87,6 +88,7 @@ jobs: sys_versions: ${{needs.init.outputs.sys_versions}} machines: ${{needs.init.outputs.machines}} complement: ${{fromJSON(vars.COMPLEMENT || 'true')}} + excludes: '[{"cargo_profile": "release-debuginfo", "rust_toolchain": "nightly"}, {"cargo_profile": "release-max-perf", "rust_toolchain": "stable"}, {"cargo_profile": "release-max-perf", "feat_set": "none"}]' package: if: ${{ !failure() && !cancelled() }} @@ -96,29 +98,29 @@ jobs: with: cargo_profiles: ${{needs.init.outputs.cargo_profiles}} feat_sets: ${{needs.init.outputs.feat_sets}} - rust_toolchains: '["stable"]' + rust_toolchains: ${{needs.init.outputs.rust_toolchains}} rust_targets: ${{needs.init.outputs.rust_targets}} sys_names: ${{needs.init.outputs.sys_names}} sys_targets: ${{needs.init.outputs.sys_targets}} sys_versions: ${{needs.init.outputs.sys_versions}} machines: ${{needs.init.outputs.machines}} - excludes: '[{"cargo_profile": "test"}, {"feat_set": "none"}]' + excludes: '[{"cargo_profile": "test"}, {"feat_set": "none"}, {"cargo_profile": "release-max-perf", "rust_toolchain": "stable"}]' publish: - if: ${{ !failure() && !cancelled() }} + if: ${{ !failure() && !cancelled() && github.ref == 'refs/heads/main' }} name: Publish needs: [init, test, package] uses: ./.github/workflows/publish.yml with: cargo_profiles: ${{needs.init.outputs.cargo_profiles}} feat_sets: ${{needs.init.outputs.feat_sets}} - rust_toolchains: '["stable"]' + rust_toolchains: ${{needs.init.outputs.rust_toolchains}} rust_targets: ${{needs.init.outputs.rust_targets}} sys_names: ${{needs.init.outputs.sys_names}} sys_targets: ${{needs.init.outputs.sys_targets}} sys_versions: ${{needs.init.outputs.sys_versions}} machines: ${{needs.init.outputs.machines}} - excludes: '[{"cargo_profile": "test"}, {"feat_set": "none"}]' + excludes: '[{"cargo_profile": "test"}, {"feat_set": "none"}, {"rust_toolchain": "nightly", "cargo_profile": "release"}, {"cargo_profile": "release-max-perf"}]' docker_repo: ${{vars.DOCKER_REPO}} secrets: diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 74ff17f5..0a2e70b8 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -39,14 +39,14 @@ on: jobs: deb: - if: ${{ !failure() && !cancelled() && contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0]) && contains(fromJSON(inputs.cargo_profiles), fromJSON('["release"]')[0]) }} + if: ${{ !failure() && !cancelled() && contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0]) && contains(fromJSON(inputs.cargo_profiles), fromJSON('["release"]')[0]) && contains(fromJSON(inputs.rust_toolchains), fromJSON('["stable"]')[0]) }} name: Deb uses: ./.github/workflows/bake.yml with: bake_targets: '["pkg-deb"]' cargo_profiles: '["release"]' feat_sets: '["all"]' - rust_toolchains: ${{inputs.rust_toolchains}} + rust_toolchains: '["stable"]' sys_names: ${{inputs.sys_names}} sys_versions: ${{inputs.sys_versions}} rust_targets: ${{inputs.rust_targets}} @@ -56,14 +56,14 @@ jobs: includes: ${{inputs.includes}} rpm: - if: ${{ !failure() && !cancelled() && contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0]) && contains(fromJSON(inputs.cargo_profiles), fromJSON('["release"]')[0]) }} + if: ${{ !failure() && !cancelled() && contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0]) && contains(fromJSON(inputs.cargo_profiles), fromJSON('["release"]')[0]) && contains(fromJSON(inputs.rust_toolchains), fromJSON('["stable"]')[0]) }} name: RPM uses: ./.github/workflows/bake.yml with: bake_targets: '["pkg-rpm"]' cargo_profiles: '["release"]' feat_sets: '["all"]' - rust_toolchains: ${{inputs.rust_toolchains}} + rust_toolchains: '["stable"]' sys_names: ${{inputs.sys_names}} sys_versions: ${{inputs.sys_versions}} rust_targets: ${{inputs.rust_targets}} diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 488d5589..cca09f3c 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -102,6 +102,7 @@ jobs: if: ${{ !failure() && !cancelled() && contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0]) }} name: Publish packages runs-on: ${{matrix.machine}} + continue-on-error: true strategy: fail-fast: false matrix: @@ -130,5 +131,5 @@ jobs: - name: Upload Artifacts uses: actions/upload-artifact@v4 with: - name: ${{matrix.target[1]}} + name: ${{matrix.target[1]}}-${{matrix.cargo_profile}} path: ${{matrix.target[1]}} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index bc3e23fd..03e90086 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -73,7 +73,7 @@ jobs: rust_targets: ${{inputs.rust_targets}} sys_targets: ${{inputs.sys_targets}} machines: ${{inputs.machines}} - excludes: '[{"cargo_profile": "release", "rust_toolchain": "nightly"}, {"cargo_profile": "release-debuginfo", "rust_toolchain": "nightly"}, {"cargo_profile": "test", "feat_set": "default"}]' + excludes: '[{"cargo_profile": "release", "rust_toolchain": "nightly"}, {"cargo_profile": "release-debuginfo", "rust_toolchain": "nightly"}, {"cargo_profile": "test", "feat_set": "default"}, {"cargo_profile": "release-max-perf", "rust_toolchain": "stable"}, {"cargo_profile": "release-max-perf", "feat_set": "none"}]' includes: ${{inputs.includes}} complement: diff --git a/docker/Dockerfile.rocksdb b/docker/Dockerfile.rocksdb index b213b597..54a786d5 100644 --- a/docker/Dockerfile.rocksdb +++ b/docker/Dockerfile.rocksdb @@ -37,7 +37,7 @@ ENV CXX="clang++" WORKDIR /usr/src/rocksdb/librocksdb-sys/rocksdb ENV nprocs=${nprocs} RUN \ ---mount=type=cache,dst=/var/lock/uwu/${rocksdb_jemalloc}/${rocksdb_iouring},sharing=locked \ +--mount=type=cache,dst=/var/lock/uwu/${rocksdb_jemalloc}/${rocksdb_iouring}/${rocksdb_portable},sharing=locked \ <