keybert/.gitlab-ci.yml

66 lines
1.9 KiB
YAML
Raw Permalink Normal View History

2023-07-23 16:01:28 -04:00
image: php:8.1
before_script:
# Install some stuff that the image doesn't come with
- apt update -yqq
- apt install git libpq-dev libzip-dev zip make wget gnupg -yqq
# Install phive
- wget -O phive.phar https://phar.io/releases/phive.phar
- wget -O phive.phar.asc https://phar.io/releases/phive.phar.asc
- gpg --keyserver hkps://keys.openpgp.org --recv-keys 0x9D8A98B29B2D5D79
- gpg --verify phive.phar.asc phive.phar
- chmod +x phive.phar
- mv phive.phar /usr/local/bin/phive
# Install phab
- phive install phpab --global --trust-gpg-keys 0x2A8299CE842DD38C
# Install the latest version of ncc (Nosial Code Compiler)
- git clone https://git.n64.cc/nosial/ncc.git
- cd ncc
- make redist
- php build/src/INSTALL --auto --install-composer
- cd .. && rm -rf ncc
# Prepare submodules
- git config --global url."https://${CI_ACCESS_USERNAME}:${CI_ACCESS_TOKEN}@git.n64.cc/".insteadOf "https://git.n64.cc/"
- git submodule sync --recursive
- git submodule update --init --recursive
build:
stage: build
script:
- ncc build --config release --log-level debug
artifacts:
paths:
- build/
rules:
- if: $CI_COMMIT_BRANCH
release:
stage: deploy
script:
- ncc build --config release --log-level debug
- >
curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file build/release/net.nosial.keybert.ncc "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/net.nosial.keybert/$CI_COMMIT_REF_NAME/net.nosial.keybert.ncc"
artifacts:
paths:
- build/
rules:
- if: $CI_COMMIT_TAG
docker-build:
stage: deploy
image: docker:latest
2023-07-23 17:52:37 -04:00
timeout: 2h
2023-07-23 16:01:28 -04:00
services:
- docker:dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- docker build --no-cache -t $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME .
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
only:
- branches
- tags