Skip to content

HouDocker Autobuild #1065

HouDocker Autobuild

HouDocker Autobuild #1065

name: HouDocker Autobuild
on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
jobs:
autobuild:
runs-on: ubuntu-latest
env:
SIDEFX_CLIENT: ${{secrets.SIDEFX_CLIENT}}
SIDEFX_SECRET: ${{secrets.SIDEFX_SECRET}}
DOCKER_USER: ${{secrets.DOCKER_USER}}
DOCKER_SECRET: ${{secrets.DOCKER_SECRET}}
DOCKER_REPO: ${{secrets.DOCKER_REPO}}
steps:
- name: Create additional disk space
run: |
sudo rm -rf /opt/hostedtoolcache || true
sudo rm -rf /opt/microsoft || true
sudo rm -rf /opt/az || true
sudo rm -rf /opt/pipx || true
sudo rm -rf /opt/google || true
sudo rm -rf /usr/local/lib/android || true
sudo rm -rf /usr/local/share/powershell || true
sudo rm -rf /usr/local/share/boost || true
sudo rm -rf /usr/local/.ghcup || true
sudo rm -rf /usr/share/dotnet || true
sudo rm -rf /usr/share/swift || true
sudo apt-get clean
sudo apt-get autoremove -y
docker system prune -af --volumes
df -h
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.11
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r ./hbuild/requirements.txt
- name: Run autobuild.py
id: autobuild
run: |
export PYTHONPATH="${PYTHONPATH}:$(pwd)"
export DOCKER_DEFAULT_PLATFORM="linux/amd64"
python ./hbuild/autobuild.py
outputs:
test_status: ${{ steps.autobuild.outputs.test_status }}
pingtest:
needs: autobuild
runs-on: ubuntu-latest
env:
DOCKER_USER: ${{secrets.DOCKER_USER}}
DOCKER_SECRET: ${{secrets.DOCKER_SECRET}}
DOCKER_REPO: ${{secrets.DOCKER_REPO}}
if: needs.autobuild.outputs.test_status == 'cont'
outputs:
pingtest_status: ${{ steps.pingtest.outputs.pingtest_status }}
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.11
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Run tests
id: pingtest
run: |
pytest tests/build/
echo "pingtest_status=cont" >> $GITHUB_OUTPUT
hython_test:
needs: pingtest
runs-on: ubuntu-latest
env:
SIDEFX_CLIENT: ${{secrets.SIDEFX_CLIENT}}
SIDEFX_SECRET: ${{secrets.SIDEFX_SECRET}}
DOCKER_USER: ${{secrets.DOCKER_USER}}
DOCKER_SECRET: ${{secrets.DOCKER_SECRET}}
DOCKER_REPO: ${{secrets.DOCKER_REPO}}
if: needs.pingtest.outputs.pingtest_status == 'cont'
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.11
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Run hython tests
uses: nick-fields/retry@v3
with:
timeout_minutes: 5
max_attempts: 3
command: pytest tests/hython/