72 lines
1.7 KiB
YAML
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
|
|
py3-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 |