Skip to content

now test from the db #23

now test from the db

now test from the db #23

Workflow file for this run

name: Test building and runnint dojo
on: push
jobs:
smoketest:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Info gathering
run: |
ls -la /tmp
df -h
- name: Install test dependencies
run: |
python -m pip install --upgrade pip
pip install pytest
# - name: Set up Docker Buildx
# id: buildx
# # Use the action from the master, as we've seen some inconsistencies with @v1
# # Issue: https://github.com/docker/build-push-action/issues/286
# uses: docker/setup-buildx-action@master
# # It only worked for us with this option on 🤷‍♂️
# with:
# install: true
# - name: Cache Docker layers
# uses: actions/cache@v3
# with:
# path: /tmp/.buildx-cache
# # Key is named differently to avoid collision
# key: ${{ runner.os }}-multi-buildx-outer-${{ github.sha }}
# restore-keys: |
# ${{ runner.os }}-multi-buildx
# - name: Build container
# uses: docker/build-push-action@v2
# with:
# context: .
# builder: ${{ steps.buildx.outputs.name }}
# file: Dockerfile
# # Set the desired build target here
# push: false
# load: true # we want this tag to be loaded to docker images
# tags: dojo-test
# cache-from: type=local,src=/tmp/.buildx-cache
# # Note the mode=max here
# # More: https://github.com/moby/buildkit#--export-cache-options
# # And: https://github.com/docker/buildx/blob/master/docs/reference/buildx_build.md#cache-to
# cache-to: type=local,mode=max,dest=/tmp/.buildx-cache-new
# - name: Move outer cache
# run: |
# rm -rf /tmp/.buildx-cache
# mv /tmp/.buildx-cache-new /tmp/.buildx-cache
# - name: Cache inner container docker layers
# uses: actions/cache@v3
# with:
# path: /tmp/.buildx-cache-inner
# # Key is named differently to avoid collision
# key: ${{ runner.os }}-multi-buildx-inner-${{ github.sha }}
# restore-keys: |
# ${{ runner.os }}-multi-buildx-inner
- name: Build container
run:
docker build -t dojo-test .
- name: Run Container
run: "docker run --privileged -d -v $PWD:/opt/pwn.college:shared -p 2222:22 -p 80:80 -p 443:443 --name dojo dojo-test"
- name: Wait for container to be ready
run: |
until docker exec dojo dojo is-setup-finished
do
sleep 5
docker exec dojo journalctl -u pwn.college | tail -n 5
done
- name: Wait for db to be ready
run: |
until docker exec dojo docker exec db mysql -h localhost -u ctfd -pctfd ctfd
do
sleep 5
docker exec dojo docker logs db | tail -n 5
done
# - name: Move inner cache
# run: |
# rm -rf /tmp/.buildx-cache-inner
# mv /tmp/.buildx-cache-inner-new /tmp/.buildx-cache-inner
- name: Run tests against container
run: |
pytest ./test || docker exec dojo docker compose logs