variables: IMAGE_NAME: funkwhale/funkwhale IMAGE: $IMAGE_NAME:$CI_COMMIT_REF_NAME IMAGE_LATEST: $IMAGE_NAME:latest ALL_IN_ONE_IMAGE_NAME: funkwhale/all-in-one ALL_IN_ONE_IMAGE: $ALL_IN_ONE_IMAGE_NAME:$CI_COMMIT_REF_NAME ALL_IN_ONE_IMAGE_LATEST: $ALL_IN_ONE_IMAGE_NAME:latest PIP_CACHE_DIR: "$CI_PROJECT_DIR/pip-cache" PYTHONDONTWRITEBYTECODE: "true" REVIEW_DOMAIN: preview.funkwhale.audio REVIEW_INSTANCE_URL: https://funkwhale.juniorjpdj.pl DOCKER_HOST: tcp://docker:2375/ DOCKER_DRIVER: overlay2 DOCKER_TLS_CERTDIR: "" DOCKER_BUILD_PLATFORMS: linux/amd64,linux/arm64,linux/arm/v7 workflow: rules: - if: $CI_PIPELINE_SOURCE == "merge_request_event" - if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS when: never - if: $CI_COMMIT_BRANCH stages: - deploy - lint - test - build - publish build_dep_wheels: variables: PIP_CACHE_DIR: "$CI_PROJECT_DIR/.pip" CARGO_HOME: "$CI_PROJECT_DIR/.cargo" cache: - key: dep-cargo paths: - .cargo/registry/index - .cargo/registry/cache - .cargo/git/db - key: dep-pip paths: - .pip stage: build parallel: matrix: - DOCKER_PLATFORM: [amd64, i386, arm64v8, arm32v7]#, riscv64] tags: [docker, $DOCKER_PLATFORM] image: ${DOCKER_PLATFORM}/alpine:3.17 before_script: - > apk add alpine-sdk python3-dev postgresql-dev libffi-dev zlib-dev jpeg-dev openldap-dev openssl-dev cargo libxml2-dev libxslt-dev poetry py3-pip - cd api - poetry export --without-hashes > ../requirements.txt - cd .. - python -m venv venv - venv/bin/pip install --upgrade pip wheel script: - venv/bin/pip wheel --check-build-dependencies -w wheelhome -r requirements.txt - rm -f wheelhome/*-none-any.whl wheelhome/*-musllinux_*.whl - ls -l wheelhome artifacts: paths: - wheelhome