stages: - compiling - packaging - 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 - echo CI_PACKAGING_JOBID="${CI_JOB_ID}" > $CI_PROJECT_DIR/variables.env artifacts: paths: - build/artifacts/radio.tar.gz reports: dotenv: variables.env expire_in: never publishing: stage: publishing image: registry.gitlab.com/gitlab-org/release-cli:latest needs: - job: packaging artifacts: true rules: - if: $CI_COMMIT_TAG script: - > 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\"}"