Skip to content

Commit

Permalink
CI steps re-ordering
Browse files Browse the repository at this point in the history
  • Loading branch information
bobozaur committed Sep 10, 2023
1 parent 3385648 commit 1db0bb1
Showing 1 changed file with 42 additions and 31 deletions.
73 changes: 42 additions & 31 deletions .github/workflows/main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,6 @@ jobs:
name: Tests
runs-on: ubuntu-20.04
steps:
- name: Diskspace before freeing
run: df . -h

- name: Free disk space
run: |
sudo rm -rf \
Expand Down Expand Up @@ -43,8 +40,33 @@ jobs:
# sudo apt-get autoremove -y >/dev/null 2>&1
# sudo apt-get autoclean -y >/dev/null 2>&1
- name: Diskspace after freeing
run: df . -h
- name: Restore Exasol image
id: cache-docker-exasol
uses: actions/cache@v3
with:
path: ~/ci/cache/docker
key: cache-docker-exasol-7.0.22

- name: Store Exasol image if cache miss
if: steps.cache-docker-exasol.outputs.cache-hit != 'true'
run: docker pull exasol/docker-db:7.0.22 && mkdir -p ~/ci/cache/docker && docker image save exasol/docker-db:7.0.22 --output ~/ci/cache/docker/exasol-7.0.22.tar

- name: Load Exasol image
run: docker image load --input ~/ci/cache/docker/exasol-7.0.22.tar

- name: Restore Rust Image
id: cache-docker-rust
uses: actions/cache@v3
with:
path: ~/ci/cache/docker
key: cache-docker-rust-1.72.0

- name: Store Rust image if cache miss
if: steps.cache-docker-rust.outputs.cache-hit != 'true'
run: docker pull rust:1.72.0 && mkdir -p ~/ci/cache/docker && docker image save rust:1.72.0 --output ~/ci/cache/docker/rust-1.72.0.tar

- name: Load Rust image
run: docker image load --input ~/ci/cache/docker/rust-1.72.0.tar

- name: Set up Python 3.10
uses: actions/setup-python@v3
Expand All @@ -61,24 +83,18 @@ jobs:
repository: Exasol/docker-db
ref: "7.0.22"

- name: Restore Exasol Image Cache if it exists
id: cache-docker-exasol
uses: actions/cache@v3
with:
path: ~/ci/cache/docker
key: cache-docker-exasol-7.0.22

- name: Update Exasol Image Cache if cache miss
if: steps.cache-docker-exasol.outputs.cache-hit != 'true'
run: docker pull exasol/docker-db:7.0.22 && mkdir -p ~/ci/cache/docker && docker image save exasol/docker-db:7.0.22 --output ~/ci/cache/docker/exasol-7.0.22.tar

- name: Set up Exasol Cluster
run: |
docker image load --input ~/ci/cache/docker/exasol-7.0.22.tar
pipenv install -r exadt_requirements.txt
pipenv run ./exadt create-cluster --root ~/sqlx/ --create-root sqlx
pipenv run ./exadt create-cluster --root ~/sqlx --create-root sqlx
pipenv run ./exadt init-cluster --image exasol/docker-db:7.0.22 --license ./license/license.xml --num-nodes 3 --auto-storage sqlx
pipenv run ./exadt start-cluster sqlx
pipenv run ./exadt stop-cluster sqlx
docker network create sqlx --subnet=10.10.10.0/16
docker run --rm --privileged --detach --network=sqlx --ip 10.10.10.11 --hostname n11 --name sqlx_11 --label ClusterName=sqlx --label NodeID=11 --label Name=n11 -e EXA_NODE_ID=11 -v ~/sqlx/n11:/exa -v /run/udev:/run/udev -v /run/lvm:/run/lvm -v /lib/modules:/lib/modules --entrypoint /usr/opt/EXASuite-7/EXARuntime-7.0.22/bin/numactl exasol/docker-db:7.0.22 --interleave=all /usr/opt/EXASuite-7/EXAClusterOS-7.0.22/libexec/exainit.py
docker run --rm --privileged --detach --network=sqlx --ip 10.10.10.12 --hostname n12 --name sqlx_12 --label ClusterName=sqlx --label NodeID=12 --label Name=n12 -e EXA_NODE_ID=12 -v ~/sqlx/n12:/exa -v /run/udev:/run/udev -v /run/lvm:/run/lvm -v /lib/modules:/lib/modules --entrypoint /usr/opt/EXASuite-7/EXARuntime-7.0.22/bin/numactl exasol/docker-db:7.0.22 --interleave=all /usr/opt/EXASuite-7/EXAClusterOS-7.0.22/libexec/exainit.py
docker run --rm --privileged --detach --network=sqlx --ip 10.10.10.13 --hostname n13 --name sqlx_13 --label ClusterName=sqlx --label NodeID=13 --label Name=n13 -e EXA_NODE_ID=13 -v ~/sqlx/n13:/exa -v /run/udev:/run/udev -v /run/lvm:/run/lvm -v /lib/modules:/lib/modules --entrypoint /usr/opt/EXASuite-7/EXARuntime-7.0.22/bin/numactl exasol/docker-db:7.0.22 --interleave=all /usr/opt/EXASuite-7/EXAClusterOS-7.0.22/libexec/exainit.py
- name: Create connection strings
run: |
Expand All @@ -87,20 +103,15 @@ jobs:
echo "NO_TLS_URL=exa://sys:exasol@$EXA_IP:8563?ssl-mode=disabled" >> $GITHUB_ENV
echo "TLS_URL=exa://sys:exasol@$EXA_IP:8563" >> $GITHUB_ENV
- name: Restore Rust Image Cache if it exists
id: cache-docker-rust
uses: actions/cache@v3
with:
path: ~/ci/cache/docker
key: cache-docker-rust-1.72.0

- name: Update Rust Image Cache if cache miss
if: steps.cache-docker-rust.outputs.cache-hit != 'true'
run: docker pull rust:1.72.0 && mkdir -p ~/ci/cache/docker && docker image save rust:1.72.0 --output ~/ci/cache/docker/rust-1.72.0.tar

- uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2

- run: sleep 300

- name: Run tests
run: |
docker image load --input ~/ci/cache/docker/rust/rust-1.72.0.tar
docker run --rm --network=sqlx_priv -e DATABASE_URL=${{ env.TLS_URL }} -v "$PWD":/usr/src/sqlx-exasol -w /usr/src/sqlx-exasol rust:1.72.0 cargo test --features migrate,compression,etl_native_tls -- --ignored --nocapture --test-threads 4
docker logs sqlx_11
docker logs sqlx_12
docker logs sqlx_13
docker ps -a
docker run --rm --network=sqlx -e DATABASE_URL="exa://sys:[email protected]:8563" -v "$PWD":/usr/src/sqlx-exasol -w /usr/src/sqlx-exasol rust:1.72.0 cargo test --features migrate -- --nocapture

0 comments on commit 1db0bb1

Please sign in to comment.