Skip to content

Branching

Branching #7547

Workflow file for this run

name: Tests
on:
push:
branches:
- master
- ci
- "releases/*"
pull_request:
branches:
- '*'
schedule:
- cron: "0 */6 * * *"
env:
RUST_TEST_THREADS: 3
RUST_BACKTRACE: 1
jobs:
test:
runs-on: ${{ matrix.os }}
timeout-minutes: 45
strategy:
matrix:
os: [ubuntu-20.04, ubuntu-latest, macos-latest, windows-2019]
# migrations tests work only on nightly
edgedb-version: ["nightly"]
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@be73d7920c329f220ce78e0234b8f96b7ae60248
with:
components: "cargo,rustc,rust-std"
toolchain: "stable"
- name: Install EdgeDB
uses: edgedb/setup-edgedb@v1
if: ${{ matrix.os != 'windows-2019' }}
with:
server-version: ${{ matrix.edgedb-version }}
- run: |
cargo test --features github_action_install
musl-test:
runs-on: ${{ matrix.os }}
timeout-minutes: 35
strategy:
max-parallel: 4
matrix:
os: [ubuntu-latest]
# migrations tests work only on nightly
edgedb-version: ["nightly"]
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install musl-tools
run: "sudo apt-get install musl-tools"
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@be73d7920c329f220ce78e0234b8f96b7ae60248
with:
components: "cargo,rustc,rust-std"
toolchain: "stable"
targets: "x86_64-unknown-linux-musl"
- run: |
cargo build --target=x86_64-unknown-linux-musl
- uses: actions/upload-artifact@v2
with:
name: edgedb-linux-binary
path: target/x86_64-unknown-linux-musl/debug/edgedb
- name: Install EdgeDB
uses: edgedb/setup-edgedb@v1
if: ${{ matrix.os != 'windows-2019' }}
with:
server-version: ${{ matrix.edgedb-version }}
- run: |
cargo test --target=x86_64-unknown-linux-musl
portable-install-tests:
runs-on: ${{ matrix.os }}
timeout-minutes: 35
strategy:
matrix:
os: [ubuntu-20.04]
fail-fast: false
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@be73d7920c329f220ce78e0234b8f96b7ae60248
with:
components: "cargo,rustc,rust-std"
toolchain: "stable"
- run: |
cargo build --tests --features docker_test_wrapper,portable_tests
- run: |
cargo test --test=docker_portable_wrapper \
--features docker_test_wrapper,portable_tests
portable-tests-macos:
runs-on: macos-latest
timeout-minutes: 45
strategy:
matrix:
test: [portable_smoke, portable_project, portable_project_dir, portable_shared]
fail-fast: false
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@be73d7920c329f220ce78e0234b8f96b7ae60248
with:
components: "cargo,rustc,rust-std"
toolchain: "stable"
- run: |
cargo build --tests --features portable_tests
- run: |
sudo cp target/debug/edgedb /usr/local/bin/
mkdir home_edgedb
sudo mv home_edgedb /Users/edgedb
- run: |
cargo test --test=${{ matrix.test }} --features portable_tests
portable-tests-windows:
needs: musl-test
runs-on: windows-2019
timeout-minutes: 45
strategy:
matrix:
test: [portable_smoke, portable_project, portable_project_dir, portable_shared]
fail-fast: false
env:
_EDGEDB_WSL_DISTRO: Debian
_EDGEDB_WSL_LINUX_BINARY: ./linux-binary/edgedb
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@be73d7920c329f220ce78e0234b8f96b7ae60248
with:
components: "cargo,rustc,rust-std"
toolchain: "stable"
- run: |
cargo build --tests --features portable_tests
- run: |
cargo run -- cli install -y --no-wait-for-exit-prompt
- uses: actions/download-artifact@v2
with:
name: edgedb-linux-binary
path: linux-binary
- run: |
ls linux-binary
- run: |
echo "$HOME\\AppData\\Roaming\\bin" >> $GITHUB_PATH
- uses: Vampire/setup-wsl@v1
with:
distribution: Debian
- run: |
cargo test --test=${{ matrix.test }} --features portable_tests
test-bin-installable:
runs-on: ${{ matrix.os }}
timeout-minutes: 45
strategy:
matrix:
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@be73d7920c329f220ce78e0234b8f96b7ae60248
with:
components: "cargo,rustc,rust-std"
toolchain: "stable"
- run: |
cargo install --locked --path=. --root=$TMPDIR