mirror of
https://github.com/kanidm/kanidm.git
synced 2025-02-23 12:37:00 +01:00
Run rust_build CI between multiple Rust versions (#2939)
* Add rust_build_next job to test upcoming Rust versions This way, build failures on a upcoming Rust version can be found earlier, and doesn't hold new Kanidm releases. * yamlllinttttt the GitHub workflows --------- Co-authored-by: James Hodgkinson <james@terminaloutcomes.com>
This commit is contained in:
parent
b669a681f1
commit
3298eecc8a
2
.github/workflows/debian_package_kanidm.yml
vendored
2
.github/workflows/debian_package_kanidm.yml
vendored
|
@ -59,7 +59,7 @@ jobs:
|
||||||
upload-to-releases:
|
upload-to-releases:
|
||||||
permissions:
|
permissions:
|
||||||
# https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs
|
# https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs
|
||||||
contents: write # allows the action to create a release
|
contents: write # allows the action to create a release
|
||||||
|
|
||||||
name: Upload to releases
|
name: Upload to releases
|
||||||
needs: build-deb-package
|
needs: build-deb-package
|
||||||
|
|
16
.github/workflows/docker_build_kanidm.yml
vendored
16
.github/workflows/docker_build_kanidm.yml
vendored
|
@ -16,11 +16,11 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
name: set lower case owner name
|
name: set lower case owner name
|
||||||
steps:
|
steps:
|
||||||
- id: step1
|
- id: step1
|
||||||
run: |
|
run: |
|
||||||
echo "OWNER_LC=${OWNER,,}" >> "${GITHUB_OUTPUT}"
|
echo "OWNER_LC=${OWNER,,}" >> "${GITHUB_OUTPUT}"
|
||||||
env:
|
env:
|
||||||
OWNER: '${{ github.repository_owner }}'
|
OWNER: '${{ github.repository_owner }}'
|
||||||
outputs:
|
outputs:
|
||||||
owner_lc: ${{ steps.step1.outputs.OWNER_LC }}
|
owner_lc: ${{ steps.step1.outputs.OWNER_LC }}
|
||||||
|
|
||||||
|
@ -69,5 +69,7 @@ jobs:
|
||||||
|
|
||||||
- name: Push image to GHCR
|
- name: Push image to GHCR
|
||||||
run: |
|
run: |
|
||||||
echo "${{ secrets.GITHUB_TOKEN }}" | oras login -u "${{ github.actor }}" --password-stdin ghcr.io
|
echo "${{ secrets.GITHUB_TOKEN }}" | \
|
||||||
oras copy --from-oci-layout "/tmp/kanidm-docker.tar:devel" "ghcr.io/${{ github.repository_owner }}/kanidm:devel"
|
oras login -u "${{ github.actor }}" --password-stdin ghcr.io
|
||||||
|
oras copy --from-oci-layout "/tmp/kanidm-docker.tar:devel" \
|
||||||
|
"ghcr.io/${{ github.repository_owner }}/kanidm:devel"
|
||||||
|
|
16
.github/workflows/docker_build_kanidmd.yml
vendored
16
.github/workflows/docker_build_kanidmd.yml
vendored
|
@ -16,11 +16,11 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
name: set lower case owner name
|
name: set lower case owner name
|
||||||
steps:
|
steps:
|
||||||
- id: step1
|
- id: step1
|
||||||
run: |
|
run: |
|
||||||
echo "OWNER_LC=${OWNER,,}" >> "${GITHUB_OUTPUT}"
|
echo "OWNER_LC=${OWNER,,}" >> "${GITHUB_OUTPUT}"
|
||||||
env:
|
env:
|
||||||
OWNER: '${{ github.repository_owner }}'
|
OWNER: '${{ github.repository_owner }}'
|
||||||
outputs:
|
outputs:
|
||||||
owner_lc: ${{ steps.step1.outputs.OWNER_LC }}
|
owner_lc: ${{ steps.step1.outputs.OWNER_LC }}
|
||||||
|
|
||||||
|
@ -85,5 +85,7 @@ jobs:
|
||||||
|
|
||||||
- name: Push image to GHCR
|
- name: Push image to GHCR
|
||||||
run: |
|
run: |
|
||||||
echo "${{ secrets.GITHUB_TOKEN }}" | oras login -u "${{ github.actor }}" --password-stdin ghcr.io
|
echo "${{ secrets.GITHUB_TOKEN }}" | \
|
||||||
oras copy --from-oci-layout "/tmp/kanidmd-docker.tar:devel" "ghcr.io/${{ github.repository_owner }}/kanidmd:devel"
|
oras login -u "${{ github.actor }}" --password-stdin ghcr.io
|
||||||
|
oras copy --from-oci-layout "/tmp/kanidmd-docker.tar:devel" \
|
||||||
|
"ghcr.io/${{ github.repository_owner }}/kanidmd:devel"
|
||||||
|
|
16
.github/workflows/docker_build_radiusd.yml
vendored
16
.github/workflows/docker_build_radiusd.yml
vendored
|
@ -16,11 +16,11 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
name: set lower case owner name
|
name: set lower case owner name
|
||||||
steps:
|
steps:
|
||||||
- id: step1
|
- id: step1
|
||||||
run: |
|
run: |
|
||||||
echo "OWNER_LC=${OWNER,,}" >> "${GITHUB_OUTPUT}"
|
echo "OWNER_LC=${OWNER,,}" >> "${GITHUB_OUTPUT}"
|
||||||
env:
|
env:
|
||||||
OWNER: '${{ github.repository_owner }}'
|
OWNER: '${{ github.repository_owner }}'
|
||||||
outputs:
|
outputs:
|
||||||
owner_lc: ${{ steps.step1.outputs.OWNER_LC }}
|
owner_lc: ${{ steps.step1.outputs.OWNER_LC }}
|
||||||
|
|
||||||
|
@ -69,5 +69,7 @@ jobs:
|
||||||
# features, but ORAS will: https://oras.land/docs/commands/oras_copy
|
# features, but ORAS will: https://oras.land/docs/commands/oras_copy
|
||||||
- name: Push image to GHCR
|
- name: Push image to GHCR
|
||||||
run: |
|
run: |
|
||||||
echo "${{ secrets.GITHUB_TOKEN }}" | oras login -u "${{ github.actor }}" --password-stdin ghcr.io
|
echo "${{ secrets.GITHUB_TOKEN }}" | \
|
||||||
oras copy --from-oci-layout "/tmp/radius-docker.tar:devel" "ghcr.io/${{ github.repository_owner }}/radius:devel"
|
oras login -u "${{ github.actor }}" --password-stdin ghcr.io
|
||||||
|
oras copy --from-oci-layout "/tmp/radius-docker.tar:devel" \
|
||||||
|
"ghcr.io/${{ github.repository_owner }}/radius:devel"
|
||||||
|
|
48
.github/workflows/rust_build.yml
vendored
48
.github/workflows/rust_build.yml
vendored
|
@ -55,6 +55,54 @@ jobs:
|
||||||
- name: "Check disk space at the end"
|
- name: "Check disk space at the end"
|
||||||
run:
|
run:
|
||||||
du -shc *
|
du -shc *
|
||||||
|
rust_build_next:
|
||||||
|
# build future versions to find possible next-version bugs
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
continue-on-error: true
|
||||||
|
env:
|
||||||
|
SCCACHE_GHA_ENABLED: true
|
||||||
|
RUSTC_WRAPPER: sccache
|
||||||
|
CARGO_INCREMENTAL: 0
|
||||||
|
CARGO_TERM_COLOR: always
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
rust_version: ['beta', 'nightly']
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Install Rust
|
||||||
|
uses: dtolnay/rust-toolchain@stable
|
||||||
|
with:
|
||||||
|
toolchain: ${{ matrix.rust_version }}
|
||||||
|
- name: Setup sccache
|
||||||
|
uses: mozilla-actions/sccache-action@v0.0.5
|
||||||
|
with:
|
||||||
|
version: "v0.4.2"
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt-get update && \
|
||||||
|
sudo apt-get install -y \
|
||||||
|
libpam0g-dev \
|
||||||
|
libudev-dev \
|
||||||
|
libssl-dev
|
||||||
|
|
||||||
|
- name: "Build the workspace"
|
||||||
|
run: cargo build --workspace
|
||||||
|
- name: "Check disk space and size of target, then clean it"
|
||||||
|
run: |
|
||||||
|
df -h
|
||||||
|
echo "Checking base dir"
|
||||||
|
du -shc *
|
||||||
|
echo "Checking target dir"
|
||||||
|
du -shc target/*
|
||||||
|
rm -rf target/*
|
||||||
|
|
||||||
|
- name: "Run cargo test"
|
||||||
|
run: cargo test
|
||||||
|
- name: "Check disk space at the end"
|
||||||
|
run:
|
||||||
|
du -shc *
|
||||||
|
|
||||||
run_release:
|
run_release:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
env:
|
env:
|
||||||
|
|
Loading…
Reference in a new issue