Tests #7397
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: 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" |