feat: land repo-plane setup, yaml families, and a required Lade version #429
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| types: | |
| - opened | |
| - synchronize | |
| - ready_for_review | |
| jobs: | |
| lint: | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt, clippy | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| key: lint | |
| - uses: pre-commit/action@v3.0.1 | |
| - uses: rhysd/actionlint@v1.7.12 | |
| test-native: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: ubuntu-24.04 | |
| - os: macos-15 | |
| runs-on: ${{ matrix.os }} | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| key: ${{ runner.os }}-native | |
| - uses: jdx/mise-action@v3 | |
| if: runner.os == 'Linux' | |
| with: | |
| install: true | |
| cache: true | |
| experimental: true | |
| mise_toml: | | |
| [tools] | |
| op = "2" | |
| "aqua:fish-shell/fish-shell" = "4" | |
| "github:romkatv/zsh-bin" = "6" | |
| - uses: jdx/mise-action@v3 | |
| if: runner.os == 'macOS' | |
| with: | |
| install: true | |
| cache: true | |
| experimental: true | |
| mise_toml: | | |
| [tools] | |
| op = "2" | |
| "github:romkatv/zsh-bin" = "6" | |
| - name: Install fish on macOS | |
| if: runner.os == 'macOS' | |
| run: brew install fish | |
| - name: Tool versions | |
| run: | | |
| bash --version | |
| fish --version | |
| zsh --version | |
| op --version | |
| - name: Run native tests | |
| run: | | |
| cargo run --no-default-features -- --help | |
| cargo test --workspace --locked --no-default-features | |
| test-docker: | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| key: ubuntu-docker | |
| - name: Set up Docker | |
| uses: docker/setup-docker-action@v5 | |
| - uses: jdx/mise-action@v3 | |
| with: | |
| install: true | |
| cache: true | |
| experimental: true | |
| mise_toml: | | |
| [tools] | |
| "aqua:fish-shell/fish-shell" = "4" | |
| "github:romkatv/zsh-bin" = "6" | |
| "aqua:kubernetes/kubectl" = "1" | |
| "aqua:k3d-io/k3d" = "5" | |
| - name: Install curl | |
| run: sudo apt-get update && sudo apt-get install -y curl | |
| - name: Tool versions | |
| run: | | |
| bash --version | |
| fish --version | |
| zsh --version | |
| docker info | |
| k3d version | |
| kubectl version --client=true | |
| - name: Run Docker tests | |
| run: cargo test -p lade --locked --no-default-features --features docker-tests --test docker | |
| installer-unit: | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Install shellcheck | |
| run: sudo apt-get update && sudo apt-get install -y shellcheck | |
| - name: Run installer unit test | |
| run: bash tests/installer_test.sh | |
| installer-e2e: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: ubuntu-24.04 | |
| - os: macos-15 | |
| runs-on: ${{ matrix.os }} | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Install wget on macOS | |
| if: runner.os == 'macOS' | |
| run: brew install wget | |
| - name: curl|bash the pushed commit (latest) | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| REF="${{ github.event.pull_request.head.sha || github.sha }}" | |
| REPO="${{ github.event.pull_request.head.repo.full_name || github.repository }}" | |
| mkdir -p "$HOME/lade-curl" | |
| for attempt in 1 2; do | |
| if curl -fsSL "https://raw.githubusercontent.com/$REPO/$REF/installer.sh" \ | |
| | CI=1 OUT_DIR="$HOME/lade-curl" bash; then | |
| break | |
| fi | |
| test "$attempt" -eq 1 | |
| done | |
| "$HOME/lade-curl/lade" --version | |
| - name: wget|bash the checked-out installer (latest) | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| mkdir -p "$HOME/lade-wget" | |
| for attempt in 1 2; do | |
| if CI=1 DOWNLOADER=wget OUT_DIR="$HOME/lade-wget" sh ./installer.sh; then | |
| break | |
| fi | |
| test "$attempt" -eq 1 | |
| done | |
| "$HOME/lade-wget/lade" --version |