.gitlab-ci.yml 6.41 KiB
stages:
- test
- release
- build
services:
- name: ghcr.io/griefed/gitlab-ci-cd:2.0.8
alias: docker
workflow:
rules:
- if: '$CI_MERGE_REQUEST_EVENT_TYPE == "detached"'
when: never
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
when: never
- when: always
test quasar:
image: ghcr.io/griefed/gitlab-ci-cd:2.0.8
stage: test
cache:
paths:
- node_modules/
before_script:
- npm install
- rm -Rf dist
script:
- quasar build
test docker:
stage: test
image: ghcr.io/griefed/gitlab-ci-cd:2.0.8
variables:
project_name: $CI_PROJECT_NAME
SEMANTIC_RELEASE_PACKAGE: $CI_PROJECT_NAME
before_script:
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
- docker buildx create --use --name grfdbuilder
script:
- docker buildx build --no-cache --platform linux/amd64,linux/arm/v7,linux/arm64
--build-arg BRANCH_OR_TAG=$CI_COMMIT_REF_NAME
--build-arg HOSTER=$CI_SERVER_HOST
--file Dockerfile .
rules:
- if: '$CI_SERVER_HOST == "git.griefed.de"'
pages:
image: ghcr.io/griefed/gitlab-ci-cd:2.0.8
stage: build
cache:
paths:
- node_modules/
before_script:
- npm install
- rm -Rf dist
script:
- quasar build
- cp -Rf dist/spa/* public/
artifacts:
paths:
- public
expire_in: 1 week
release:
needs: ['test docker','test quasar']
stage: release
image: ghcr.io/griefed/gitlab-ci-cd:2.0.8
variables:
project_name: $CI_PROJECT_NAME
SEMANTIC_RELEASE_PACKAGE: $CI_PROJECT_NAME