Skip to content

Tests

Tests #7472

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@master
with:
submodules: true
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
default: true
- name: Install EdgeDB
uses: edgedb/setup-edgedb@v1
if: ${{ matrix.os != 'windows-2019' }}
with:
server-version: ${{ matrix.edgedb-version }}
- uses: actions-rs/cargo@v1
with:
command: test
args: --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@master
with:
submodules: true
- name: Install musl-tools
run: "sudo apt-get install musl-tools"
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
target: x86_64-unknown-linux-musl
default: true
- uses: actions-rs/cargo@v1
with:
command: build
args: --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 }}
- uses: actions-rs/cargo@v1
with:
command: test
args: --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@master
with:
submodules: true
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
default: true
- uses: actions-rs/cargo@v1
with:
command: build
args: --tests --features docker_test_wrapper,portable_tests
- uses: actions-rs/cargo@v1
with:
command: test
args: --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@master
with:
submodules: true
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
default: true
- uses: actions-rs/cargo@v1
with:
command: build
args: --tests --features portable_tests
- run: |
sudo cp target/debug/edgedb /usr/local/bin/
mkdir home_edgedb
sudo mv home_edgedb /Users/edgedb
- uses: actions-rs/cargo@v1
with:
command: test
args: --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@master
with:
submodules: true
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
default: true
- uses: actions-rs/cargo@v1
with:
command: build
args: --tests --features portable_tests
- uses: actions-rs/cargo@v1
with:
command: run
args: -- 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
- uses: actions-rs/cargo@v1
with:
command: test
args: --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@master
with:
submodules: true
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
default: true
- uses: actions-rs/cargo@v1
with:
command: install
args: "--locked --path=. --root=$TMPDIR"