Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
.gitlab-ci.yml 15.67 KiB
stages:
  - build
  - sign
  - deploy

variables:
  CCACHE_COMPILERCHECK: content
  CCACHE_DIR: "${CI_PROJECT_DIR}/.ccache"
  # prevent configure tzdata hanging apt install commands
  DEBIAN_FRONTEND: noninteractive
  FF_SCRIPT_SECTIONS: 1
  FF_USE_FASTZIP: 1

build-windows:
  stage: build
  image: win10-base
  tags: [libvirt,powershell]
  rules:
    - if : '$CI_PIPELINE_TRIGGERED == null'
  variables:
    APPVEYOR_REPO_BRANCH: "${CI_COMMIT_REF_NAME}"
    APPVEYOR_REPO_COMMIT: "${CI_COMMIT_SHORT_SHA}"
    CMAKE_BUILD_PARALLEL_LEVEL: 8
  before_script:
    - mkdir -p hunter -f
    - Move-Item -Path hunter -Destination C:/hunter
  script:
    - ./.ci/windows/build.bat
  after_script:
    - ./.ci/upload-nightly.ps1
    - Move-Item -Path C:/hunter -Destination hunter -Force
  cache:
    key: "$CI_JOB_NAME"
    paths:
      - hunter/
      - build/_deps
  artifacts:
    paths:
      - nheko.msix
      - nheko_win_64.zip
    name: nheko-${CI_COMMIT_SHORT_SHA}-windows-unsigned
    expose_as: 'windows-app-unsigned'

codesign-windows:
  stage: sign
  image: win10-base
  tags: [libvirt,powershell]
  rules:
    - if : '$CI_PIPELINE_TRIGGERED == null && $CI_COMMIT_REF_PROTECTED == "true"'
  resource_group: windows_signing
  environment: 
    name: windows_signing
  #variables:
  #  GIT_STRATEGY: none
  script:
    - Get-ChildItem -Path Cert:CurrentUser\My
    - ./.ci/windows/sign.bat
    - mkdir -p artifacts
    - mv nheko.msix artifacts/nheko.msix
  needs:
    - job: build-windows
  artifacts:
    paths:
      - artifacts/nheko.msix
    name: nheko-${CI_COMMIT_SHORT_SHA}-windows
    expose_as: 'windows-app'

upload-windows:
  stage: deploy
  image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/alpine:latest