diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml new file mode 100644 index 00000000..863c0643 --- /dev/null +++ b/.gitea/workflows/ci.yaml @@ -0,0 +1,116 @@ +name: CI + +on: + pull_request: + branches: + - develop + workflow_dispatch: + +jobs: + test: + runs-on: ubuntu-latest + + services: + postgres: + image: postgres:16 + env: + POSTGRES_USER: ${{ vars.POSTGRES_USER }} + POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }} + POSTGRES_DB: ${{ vars.POSTGRES_DB }} + ports: + - ${{ vars.POSTGRES_PORT}}:5432 + options: >- + --health-cmd="pg_isready -U postgres" + --health-interval=10s + --health-timeout=5s + --health-retries=5 + + #redis: + # image: redis:7 + # ports: + # - 6379:6379 + # options: >- + # --health-cmd "redis-cli ping" + # --health-interval=10s + # --health-timeout=5s + # --health-retries=5 + + env: + RUNNER_TOOL_CACHE: /toolcache + EP_DATA_DIR: /opt/enviPy/ + ALLOWED_HOSTS: 127.0.0.1,localhost + DEBUG: True + LOG_LEVEL: DEBUG + MODEL_BUILDING_ENABLED: True + APPLICABILITY_DOMAIN_ENABLED: True + ENVIFORMER_PRESENT: True + ENVIFORMER_DEVICE: cpu + FLAG_CELERY_PRESENT: False + PLUGINS_ENABLED: True + SERVER_URL: http://localhost:8000 + ADMIN_APPROVAL_REQUIRED: True + REGISTRATION_MANDATORY: True + LOG_DIR: '' + # DB + POSTGRES_SERVICE_NAME: postgres + POSTGRES_DB: ${{ vars.POSTGRES_DB }} + POSTGRES_USER: ${{ vars.POSTGRES_USER }} + POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }} + POSTGRES_PORT: 5432 + # SENTRY + SENTRY_ENABLED: False + # MS ENTRA + MS_ENTRA_ENABLED: False + + steps: + + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install system tools via apt + run: | + sudo apt-get update + sudo apt-get install -y postgresql-client redis-tools openjdk-11-jre-headless + + - name: Setup ssh + run: | + echo "${{ secrets.ENVIPY_CI_PRIVATE_KEY }}" > ~/.ssh/id_ed25519 + chmod 600 ~/.ssh/id_ed25519 + ssh-keyscan git.envipath.com >> ~/.ssh/known_hosts + eval $(ssh-agent -s) + ssh-add ~/.ssh/id_ed25519 + + - name: Install pnpm + uses: pnpm/action-setup@v4 + with: + version: 10 + + - name: Use Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: "pnpm" + + - name: Install uv + uses: astral-sh/setup-uv@v6 + with: + enable-cache: true + + - name: Setup venv + run: | + uv sync --locked --all-extras --dev + + - name: Wait for services + run: | + until pg_isready -h postgres -U postgres; do sleep 2; done + # until redis-cli -h redis ping; do sleep 2; done + + - name: Run Django migrations + run: | + source .venv/bin/activate + python manage.py migrate --noinput + + - name: Run Django tests + run: | + source .venv/bin/activate + python manage.py test tests --exclude-tag slow diff --git a/fixtures/models/2750eaca-bc13-4018-81c2-f7f9d94bc435_ds.pkl b/fixtures/models/2750eaca-bc13-4018-81c2-f7f9d94bc435_ds.pkl index 21cf28d0..b8a95a07 100644 Binary files a/fixtures/models/2750eaca-bc13-4018-81c2-f7f9d94bc435_ds.pkl and b/fixtures/models/2750eaca-bc13-4018-81c2-f7f9d94bc435_ds.pkl differ diff --git a/fixtures/models/2750eaca-bc13-4018-81c2-f7f9d94bc435_mod.pkl b/fixtures/models/2750eaca-bc13-4018-81c2-f7f9d94bc435_mod.pkl index 1ad990e1..f3147246 100644 Binary files a/fixtures/models/2750eaca-bc13-4018-81c2-f7f9d94bc435_mod.pkl and b/fixtures/models/2750eaca-bc13-4018-81c2-f7f9d94bc435_mod.pkl differ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 00000000..4335a75d --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,4 @@ +lockfileVersion: 6.0 +specifiers: {} +dependencies: {} +packages: {}