docs: Add endgame release process #54
This file contains 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
name: build | |
on: | |
push: | |
branches: ['trunk'] | |
pull_request: | |
branches: ['trunk'] | |
workflow_dispatch: | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
build_toolchains: | |
name: Clippy on ${{ matrix.toolchain }} | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
toolchain: | |
- stable | |
- beta | |
- nightly | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ matrix.toolchain }} | |
components: clippy | |
override: true | |
- name: Install required cargo | |
run: cargo install clippy-sarif sarif-fmt | |
- name: Run rust-clippy | |
run: cargo clippy | |
--all-features | |
--message-format=json | clippy-sarif | tee rust-clippy-results.sarif | sarif-fmt | |
continue-on-error: true | |
- name: Upload analysis results to GitHub | |
uses: github/codeql-action/upload-sarif@v1 | |
with: | |
sarif_file: rust-clippy-results.sarif | |
wait-for-processing: true | |
build_and_test: | |
name: Build and test ${{matrix.os}} on ${{ matrix.toolchain }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
toolchain: | |
- stable | |
- beta | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ matrix.toolchain }} | |
components: clippy | |
override: true | |
- name: Cargo clippy | |
run: cargo clippy --all-features | |
- name: Install Spice (https://install.spiceai.org) (Linux) | |
if: matrix.os == 'ubuntu-latest' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
curl https://install.spiceai.org | /bin/bash | |
echo "$HOME/.spice/bin" >> $GITHUB_PATH | |
$HOME/.spice/bin/spice install | |
- name: Install Spice (https://install.spiceai.org) (MacOS) | |
if: matrix.os == 'macos-latest' | |
run: | | |
brew install spiceai/spiceai/spice | |
brew install spiceai/spiceai/spiced | |
- name: install Spice (Windows) | |
if: matrix.os == 'windows-latest' | |
run: | | |
curl -L "https://install.spiceai.org/Install.ps1" -o Install.ps1 && PowerShell -ExecutionPolicy Bypass -File ./Install.ps1 | |
- name: add Spice bin to PATH (Windows) | |
if: matrix.os == 'windows-latest' | |
run: | | |
Add-Content $env:GITHUB_PATH (Join-Path $HOME ".spice\bin") | |
shell: pwsh | |
- name: Init and start spice app | |
if: matrix.os != 'windows-latest' | |
run: | | |
spice init spice_qs | |
cd spice_qs | |
spice add spiceai/quickstart | |
spiced &> spice.log & | |
# time to initialize added dataset | |
sleep 10 | |
- name: Init and start spice app (Windows) | |
if: matrix.os == 'windows-latest' | |
run: | | |
spice init spice_qs | |
cd spice_qs | |
spice add spiceai/quickstart | |
Start-Process -FilePath spice run | |
# time to initialize added dataset | |
Start-Sleep -Seconds 10 | |
shell: pwsh | |
- name: Run tests | |
run: cargo test | |
env: | |
API_KEY: ${{ secrets.TEST_API_KEY }} | |
- name: Stop spice and check logs | |
working-directory: spice_qs | |
if: matrix.os != 'windows-latest' && always() | |
run: | | |
killall spice || true | |
cat spice.log |