72 lines
2.7 KiB
YAML
72 lines
2.7 KiB
YAML
stages:
|
|
- compiling
|
|
- packaging
|
|
- signing
|
|
- publishing
|
|
|
|
image: node:latest
|
|
|
|
compiling:
|
|
stage: compiling
|
|
script:
|
|
- npm install
|
|
- make build-js
|
|
cache:
|
|
paths:
|
|
- node_modules/
|
|
|
|
packaging:
|
|
stage: packaging
|
|
script:
|
|
- apt update
|
|
- DEBIAN_FRONTEND="noninteractive" apt install -y wget sudo
|
|
- wget http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u12_amd64.deb
|
|
- wget https://github.com/ChristophWurst/krankerl/releases/download/v0.12.3/krankerl_0.12.3_amd64.deb
|
|
- sudo dpkg -i libssl1.0.0_1.0.1t-1+deb8u12_amd64.deb krankerl_0.12.3_amd64.deb
|
|
- krankerl package
|
|
artifacts:
|
|
paths:
|
|
- build/artifacts/radio.tar.gz
|
|
|
|
signing:
|
|
stage: signing
|
|
script:
|
|
- apt update
|
|
- DEBIAN_FRONTEND="noninteractive" apt install -y wget apt-transport-https
|
|
- wget -q -O- https://packages.sury.org/php/apt.gpg | apt-key add -
|
|
- echo "deb https://packages.sury.org/php/ stretch main" | tee /etc/apt/sources.list.d/php.list
|
|
- apt-get update
|
|
- DEBIAN_FRONTEND="noninteractive" apt install -y php7.2 php7.2-gd php7.2-json php7.2-mysql php7.2-curl php7.2-intl php7.2-imagick php7.2-zip php7.2-xmlwriter php7.2-xmlreader php7.2-xml php7.2-mbstring php7.2-simplexml
|
|
- wget https://download.nextcloud.com/server/releases/nextcloud-20.0.2.tar.bz2
|
|
- tar xvf nextcloud-20.0.2.tar.bz2
|
|
- echo "-----BEGIN PRIVATE KEY-----" > sign.key
|
|
- echo $SIGN_KEY | tr " " "\n" >> sign.key
|
|
- echo "-----END PRIVATE KEY-----" >> sign.key
|
|
- echo "-----BEGIN CERTIFICATE-----" > sign.crt
|
|
- echo $SIGN_CRT | tr " " "\n" >> sign.crt
|
|
- echo "-----END CERTIFICATE-----" >> sign.crt
|
|
- tar xvf build/artifacts/radio.tar.gz
|
|
- php nextcloud/occ integrity:sign-app --path=$(pwd)/radio --privateKey=$(pwd)/sign.key --certificate=$(pwd)/sign.crt
|
|
- ls $(pwd)/radio/appinfo
|
|
- tar -czvf build/artifacts/radio.tar.gz radio
|
|
- rm -r sign.key sign.crt radio
|
|
- echo CI_PACKAGING_JOBID="${CI_JOB_ID}" > $CI_PROJECT_DIR/variables.env
|
|
artifacts:
|
|
paths:
|
|
- build/artifacts/radio.tar.gz
|
|
expire_in: never
|
|
reports:
|
|
dotenv: variables.env
|
|
|
|
publishing:
|
|
stage: publishing
|
|
image: registry.gitlab.com/gitlab-org/release-cli:latest
|
|
rules:
|
|
- if: $CI_COMMIT_TAG
|
|
script:
|
|
- EXTRA_DESCRIPTION="$(sed '1,/^## /!d;/^## /d' CHANGELOG.md)";
|
|
- >
|
|
release-cli create --name "v$CI_COMMIT_TAG" --description "$EXTRA_DESCRIPTION"
|
|
--tag-name $CI_COMMIT_TAG --ref $CI_COMMIT_SHA
|
|
--assets-link "{\"name\":\"radio\",\"url\":\"https://git.project-insanity.org/onny/nextcloud-app-radio/-/jobs/${CI_PACKAGING_JOBID}/artifacts/raw/build/artifacts/radio.tar.gz\",\"link_type\":\"other\"}"
|