funkwhale/.gitlab-ci.yml

72 lines
1.7 KiB
YAML

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:
tags: [docker, multiarch]
parallel:
matrix:
- DOCKER_PLATFORM: [amd64, arm64v8] # arm32v7, riscv64]
image: ${DOCKER_PLATFORM}/alpine:3.17
before_script:
->
apk add
musl-dev
gcc
postgresql-dev
python3-dev
py3-psycopg2
py3-cryptography
py3-lxml
py3-pillow
libldap
libffi-dev
make
zlib-dev
jpeg-dev
openldap-dev
openssl-dev
cargo
libxml2-dev
libxslt-dev
curl
poetry
pip
- poetry export --without-hashes > requirements.txt
- python -m venv venv
- source venv/bin/activate
- pip install --upgrade pip
script:
- source venv/bin/activate
- pip wheel --check-build-dependencies -w wheelhome -r requirements.txt
- rm wheelhome/*-none-any.whl wheelhome/*-musllinux_*.whl
- ls -l wheelhome
artifacts:
paths:
- wheelhome