Skip to content

feat: land repo-plane setup, yaml families, and a required Lade version #429

feat: land repo-plane setup, yaml families, and a required Lade version

feat: land repo-plane setup, yaml families, and a required Lade version #429

Workflow file for this run

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