mirror of
https://github.com/kanidm/kanidm.git
synced 2025-02-23 12:37:00 +01:00
use sccache, merge "test" actions into "build", remove homebrew caching (#1578)
* use sccache, merge "test" actions into "build", remove homebrew caching * rename some actions, make windows build in debug mode to be consistent with tests * run CI on Windows for pull requests, only upload to releases for the correct repo * Don't need rust on ubuntu-latest
This commit is contained in:
parent
49a767179c
commit
850a985692
19
.github/workflows/clippy.yml
vendored
19
.github/workflows/clippy.yml
vendored
|
@ -8,6 +8,9 @@ name: Clippy
|
||||||
- master
|
- master
|
||||||
pull_request:
|
pull_request:
|
||||||
|
|
||||||
|
env:
|
||||||
|
SCCACHE_GHA_ENABLED: "true"
|
||||||
|
RUSTC_WRAPPER: "sccache"
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.ref }}
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
|
@ -17,20 +20,12 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: Restore our cache
|
- name: Setup sccache
|
||||||
uses: actions/cache@v3
|
uses: mozilla-actions/sccache-action@v0.0.3
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
~/.cargo/bin/
|
|
||||||
~/.cargo/registry/index/
|
|
||||||
~/.cargo/registry/cache/
|
|
||||||
~/.cargo/git/db/
|
|
||||||
target/
|
|
||||||
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
|
|
||||||
- name: Update package manager
|
|
||||||
run: sudo apt-get update
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
|
sudo apt-get update && \
|
||||||
sudo apt-get install -y \
|
sudo apt-get install -y \
|
||||||
libpam0g-dev \
|
libpam0g-dev \
|
||||||
libudev-dev \
|
libudev-dev \
|
||||||
|
|
13
.github/workflows/debian_package_kanidm.yml
vendored
13
.github/workflows/debian_package_kanidm.yml
vendored
|
@ -5,6 +5,10 @@ name: "Build Debian Packages"
|
||||||
push:
|
push:
|
||||||
pull_request:
|
pull_request:
|
||||||
|
|
||||||
|
env:
|
||||||
|
SCCACHE_GHA_ENABLED: "true"
|
||||||
|
RUSTC_WRAPPER: "sccache"
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.ref }}
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
|
@ -27,10 +31,9 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
- name: Update package manager
|
|
||||||
run: apt-get update
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
|
apt-get update && \
|
||||||
apt-get install -y \
|
apt-get install -y \
|
||||||
lsb-release \
|
lsb-release \
|
||||||
libpam0g-dev \
|
libpam0g-dev \
|
||||||
|
@ -43,7 +46,9 @@ jobs:
|
||||||
sudo
|
sudo
|
||||||
- name: Install Rust
|
- name: Install Rust
|
||||||
uses: dtolnay/rust-toolchain@stable
|
uses: dtolnay/rust-toolchain@stable
|
||||||
- name: "Doing the package build"
|
- name: Setup sccache
|
||||||
|
uses: mozilla-actions/sccache-action@v0.0.3
|
||||||
|
- name: Build packages
|
||||||
run: |
|
run: |
|
||||||
make -f platform/debian/Makefile debs/all
|
make -f platform/debian/Makefile debs/all
|
||||||
- name: Upload debs
|
- name: Upload debs
|
||||||
|
@ -56,7 +61,7 @@ jobs:
|
||||||
name: Upload to releases
|
name: Upload to releases
|
||||||
needs: build-deb-package
|
needs: build-deb-package
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: ${{ github.ref == 'refs/heads/master' }}
|
if: github.ref == 'refs/heads/master' && github.repository == 'kanidm/kanidm'
|
||||||
steps:
|
steps:
|
||||||
- name: Download previously built debs
|
- name: Download previously built debs
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v3
|
||||||
|
|
28
.github/workflows/rust_build.yml
vendored
28
.github/workflows/rust_build.yml
vendored
|
@ -1,5 +1,5 @@
|
||||||
---
|
---
|
||||||
name: "Rust Build"
|
name: "Linux Build and Test"
|
||||||
# Trigger the workflow on push to master or pull request
|
# Trigger the workflow on push to master or pull request
|
||||||
"on":
|
"on":
|
||||||
push:
|
push:
|
||||||
|
@ -7,6 +7,10 @@ name: "Rust Build"
|
||||||
- master
|
- master
|
||||||
pull_request:
|
pull_request:
|
||||||
|
|
||||||
|
env:
|
||||||
|
SCCACHE_GHA_ENABLED: "true"
|
||||||
|
RUSTC_WRAPPER: "sccache"
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.ref }}
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
|
@ -14,28 +18,20 @@ jobs:
|
||||||
rust_build:
|
rust_build:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
- name: Restore our cache
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
~/.cargo/bin/
|
|
||||||
~/.cargo/registry/index/
|
|
||||||
~/.cargo/registry/cache/
|
|
||||||
~/.cargo/git/db/
|
|
||||||
target/
|
|
||||||
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
|
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
|
- name: Install Rust
|
||||||
- name: Update package manager
|
uses: dtolnay/rust-toolchain@stable
|
||||||
run: sudo apt-get update
|
- name: Setup sccache
|
||||||
|
uses: mozilla-actions/sccache-action@v0.0.3
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
|
sudo apt-get update && \
|
||||||
sudo apt-get install -y \
|
sudo apt-get install -y \
|
||||||
libpam0g-dev \
|
libpam0g-dev \
|
||||||
libudev-dev \
|
libudev-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libsqlite3-dev
|
libsqlite3-dev
|
||||||
|
|
||||||
- name: Run build
|
- run: cargo build --workspace
|
||||||
run: cargo build --verbose --workspace
|
- run: cargo test
|
||||||
|
|
40
.github/workflows/rust_test.yml
vendored
40
.github/workflows/rust_test.yml
vendored
|
@ -1,40 +0,0 @@
|
||||||
---
|
|
||||||
name: "Rust Test"
|
|
||||||
|
|
||||||
# Trigger the workflow on push to master or pull request
|
|
||||||
"on":
|
|
||||||
push:
|
|
||||||
pull_request:
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.ref }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
jobs:
|
|
||||||
rust_test:
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
steps:
|
|
||||||
- name: Restore our cache
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
~/.cargo/bin/
|
|
||||||
~/.cargo/registry/index/
|
|
||||||
~/.cargo/registry/cache/
|
|
||||||
~/.cargo/git/db/
|
|
||||||
target/
|
|
||||||
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Update package manager
|
|
||||||
run: sudo apt-get update
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
sudo apt-get install -y \
|
|
||||||
libpam0g-dev \
|
|
||||||
libudev-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libsqlite3-dev
|
|
||||||
|
|
||||||
- name: Run tests
|
|
||||||
run: cargo test --release
|
|
14
.github/workflows/wasm_test.yml
vendored
14
.github/workflows/wasm_test.yml
vendored
|
@ -4,17 +4,18 @@ name: WASM Testing
|
||||||
# Trigger the workflow on push or pull request
|
# Trigger the workflow on push or pull request
|
||||||
"on": [push, pull_request]
|
"on": [push, pull_request]
|
||||||
|
|
||||||
|
env:
|
||||||
|
SCCACHE_GHA_ENABLED: "true"
|
||||||
|
RUSTC_WRAPPER: "sccache"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
wasm_test:
|
wasm_test:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Update package manager
|
|
||||||
run: sudo apt-get update
|
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
|
sudo apt-get update &&
|
||||||
sudo apt-get install -y \
|
sudo apt-get install -y \
|
||||||
libpam0g-dev \
|
libpam0g-dev \
|
||||||
libudev-dev \
|
libudev-dev \
|
||||||
|
@ -23,6 +24,8 @@ jobs:
|
||||||
pkg-config
|
pkg-config
|
||||||
- name: Install Rust
|
- name: Install Rust
|
||||||
uses: dtolnay/rust-toolchain@stable
|
uses: dtolnay/rust-toolchain@stable
|
||||||
|
- name: Setup sccache
|
||||||
|
uses: mozilla-actions/sccache-action@v0.0.3
|
||||||
|
|
||||||
- name: Install wasm-pack
|
- name: Install wasm-pack
|
||||||
run: cargo install wasm-pack
|
run: cargo install wasm-pack
|
||||||
|
@ -40,6 +43,5 @@ jobs:
|
||||||
|
|
||||||
# docs here:
|
# docs here:
|
||||||
# https://rustwasm.github.io/docs/wasm-bindgen/wasm-bindgen-test/browsers.html
|
# https://rustwasm.github.io/docs/wasm-bindgen/wasm-bindgen-test/browsers.html
|
||||||
- name: "Run clippy (ignores errors, this is just a check)"
|
- run: wasm-pack test --headless --chrome
|
||||||
run: wasm-pack test --headless --chrome
|
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
31
.github/workflows/windows_build.yml
vendored
31
.github/workflows/windows_build.yml
vendored
|
@ -6,33 +6,30 @@ name: Windows Build and Test
|
||||||
# it builds and be able to administer Kanidm from
|
# it builds and be able to administer Kanidm from
|
||||||
# Windows-land
|
# Windows-land
|
||||||
|
|
||||||
|
# Trigger the workflow on push to master or pull request
|
||||||
"on":
|
"on":
|
||||||
push:
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
env:
|
||||||
|
SCCACHE_GHA_ENABLED: "true"
|
||||||
|
RUSTC_WRAPPER: "sccache"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
windows_build_kanidm:
|
windows_build_kanidm:
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: ensure openssl and vcpkg is good
|
- name: Install OpenSSL
|
||||||
run: |
|
run: |
|
||||||
vcpkg integrate install
|
vcpkg integrate install
|
||||||
vcpkg install openssl:x64-windows-static-md
|
vcpkg install openssl:x64-windows-static-md
|
||||||
- name: Install Rust
|
- name: Install Rust
|
||||||
uses: dtolnay/rust-toolchain@stable
|
uses: dtolnay/rust-toolchain@stable
|
||||||
- name: build
|
- name: Setup sccache
|
||||||
# yamllint disable-line rule:line-length
|
uses: mozilla-actions/sccache-action@v0.0.3
|
||||||
run: cargo build --release -p kanidm_client -p kanidm_tools -p orca -p daemon
|
- run: cargo build -p kanidm_client -p kanidm_tools -p orca -p daemon
|
||||||
windows_test_kanidm:
|
# yamllint disable-line rule:line-length
|
||||||
runs-on: windows-latest
|
- run: cargo test -p kanidm_client -p kanidm_tools -p orca -p daemon -p kanidmd_core
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- name: ensure openssl and vcpkg is good
|
|
||||||
run: |
|
|
||||||
vcpkg integrate install
|
|
||||||
vcpkg install openssl:x64-windows-static-md
|
|
||||||
- name: Install Rust
|
|
||||||
uses: dtolnay/rust-toolchain@stable
|
|
||||||
- name: Run cargo test
|
|
||||||
# yamllint disable-line rule:line-length
|
|
||||||
run: cargo test -p kanidm_client -p kanidm_tools -p orca -p daemon -p kanidmd_core
|
|
||||||
|
|
Loading…
Reference in a new issue