Bookworm will be the basis for the next PureOS. Plus, there was some persistent network error when running sid jobs.
		
			
				
	
	
		
			181 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			181 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
image: pureos/byzantium
 | 
						|
 | 
						|
stages:
 | 
						|
  - build
 | 
						|
  - test
 | 
						|
  - deploy
 | 
						|
 | 
						|
before_script:
 | 
						|
  - apt-get -y update
 | 
						|
  - apt-get -y install ca-certificates
 | 
						|
 | 
						|
build_docs:
 | 
						|
  stage: build
 | 
						|
  artifacts:
 | 
						|
    paths:
 | 
						|
      - _build
 | 
						|
  script:
 | 
						|
    - apt-get -y install python3-pip python3-sphinx
 | 
						|
    - pip3 install recommonmark
 | 
						|
    - ./doc/build.sh _build
 | 
						|
  except:
 | 
						|
    variables:
 | 
						|
      - $PKG_ONLY == "1"
 | 
						|
 | 
						|
build_meson:
 | 
						|
  image: debian:bookworm
 | 
						|
  stage: build
 | 
						|
  artifacts:
 | 
						|
    paths:
 | 
						|
      - _build
 | 
						|
    expire_in: 3h
 | 
						|
  script:
 | 
						|
    - mv debian/control-newer debian/control
 | 
						|
    - apt-get -y build-dep .
 | 
						|
    - meson . _build/ -Ddepdatadir=/usr/share --werror
 | 
						|
    - ninja -C _build install
 | 
						|
  except:
 | 
						|
    variables:
 | 
						|
      - $PKG_ONLY == "1"
 | 
						|
 | 
						|
build_deb:
 | 
						|
  stage: build
 | 
						|
  artifacts:
 | 
						|
    paths:
 | 
						|
      - '*.deb'
 | 
						|
  script:
 | 
						|
    - rm -f ../*.deb
 | 
						|
    - apt-get -y build-dep .
 | 
						|
    - apt-get -y install devscripts
 | 
						|
    - REV=$(git log -1 --format=%h)
 | 
						|
    - VER=$(dpkg-parsechangelog -SVersion)
 | 
						|
    - DEBFULLNAME="Librem5 CI"
 | 
						|
    - EMAIL="librem5-builds@lists.community.puri.sm"
 | 
						|
    - dch -v"$VER+librem5ci$CI_PIPELINE_ID.$REV" "$MSG"
 | 
						|
    - debuild -i -us -uc -b
 | 
						|
    - cp ../*.deb .
 | 
						|
 | 
						|
build_deb:arm64:
 | 
						|
  image: pureos/byzantium
 | 
						|
  tags:
 | 
						|
    - aarch64
 | 
						|
  stage: build
 | 
						|
  artifacts:
 | 
						|
    paths:
 | 
						|
      - '*.deb'
 | 
						|
  script:
 | 
						|
    - rm -f ../*.deb
 | 
						|
    - apt-get -y build-dep .
 | 
						|
    - apt-get -y install devscripts
 | 
						|
    - REV=$(git log -1 --format=%h)
 | 
						|
    - VER=$(dpkg-parsechangelog -SVersion)
 | 
						|
    - DEBFULLNAME="Librem5 CI"
 | 
						|
    - EMAIL="librem5-builds@lists.community.puri.sm"
 | 
						|
    - dch -v"$VER+librem5ci$CI_PIPELINE_ID.$REV" "$MSG"
 | 
						|
    - debuild -i -us -uc -b
 | 
						|
    - cp ../*.deb .
 | 
						|
 | 
						|
build_deb:future:
 | 
						|
  image: debian:bookworm
 | 
						|
  allow_failure: true
 | 
						|
  tags:
 | 
						|
    - aarch64
 | 
						|
  stage: build
 | 
						|
  artifacts:
 | 
						|
    paths:
 | 
						|
      - '*.deb'
 | 
						|
  script:
 | 
						|
    - rm -f ../*.deb
 | 
						|
    - mv debian/control-newer debian/control
 | 
						|
    - apt-get -y build-dep .
 | 
						|
    - apt-get -y install devscripts
 | 
						|
    - REV=$(git log -1 --format=%h)
 | 
						|
    - VER=$(dpkg-parsechangelog -SVersion)
 | 
						|
    - DEBFULLNAME="Librem5 CI"
 | 
						|
    - EMAIL="librem5-builds@lists.community.puri.sm"
 | 
						|
    - dch -v"$VER+librem5ci$CI_PIPELINE_ID.$REV" "$MSG"
 | 
						|
    - debuild -i -us -uc -b
 | 
						|
    - cp ../*.deb .
 | 
						|
 | 
						|
build_reference:
 | 
						|
  image: debian:bookworm
 | 
						|
  stage: build
 | 
						|
  needs:
 | 
						|
    - job: build_meson
 | 
						|
      artifacts: true
 | 
						|
  artifacts:
 | 
						|
    paths:
 | 
						|
      - _build/doc
 | 
						|
  script:
 | 
						|
    - apt-get -y install cargo
 | 
						|
    - cd _build
 | 
						|
    - ../cargo.sh doc --no-deps --document-private-items
 | 
						|
  except:
 | 
						|
    variables:
 | 
						|
      - $PKG_ONLY == "1"
 | 
						|
 | 
						|
test_lintian:
 | 
						|
  stage: test
 | 
						|
  needs:
 | 
						|
    - job: build_deb
 | 
						|
      artifacts: true
 | 
						|
  script:
 | 
						|
    - apt-get -y install lintian
 | 
						|
    - lintian *.deb
 | 
						|
  except:
 | 
						|
    variables:
 | 
						|
      - $PKG_ONLY == "1"
 | 
						|
 | 
						|
test:
 | 
						|
  image: debian:bookworm
 | 
						|
  stage: test
 | 
						|
  needs:
 | 
						|
    - job: build_meson
 | 
						|
      artifacts: true
 | 
						|
  script:
 | 
						|
    - mv debian/control-newer debian/control
 | 
						|
    - apt-get -y build-dep .
 | 
						|
    - apt-get -y install clang-tidy
 | 
						|
    - ninja -C _build test
 | 
						|
    - tools/style-check_build _build
 | 
						|
  except:
 | 
						|
    variables:
 | 
						|
      - $PKG_ONLY == "1"
 | 
						|
 | 
						|
test_style:
 | 
						|
  stage: test
 | 
						|
  needs: []
 | 
						|
  script:
 | 
						|
    - apt-get -y build-dep .
 | 
						|
    - tools/style-check_source
 | 
						|
  except:
 | 
						|
    variables:
 | 
						|
      - $PKG_ONLY == "1"
 | 
						|
 | 
						|
check_release:
 | 
						|
  stage: test
 | 
						|
  needs: []
 | 
						|
  only:
 | 
						|
    refs:
 | 
						|
      - master
 | 
						|
  script:
 | 
						|
    - apt-get -y install git python3
 | 
						|
    - (head -n 1 ./debian/changelog && git tag) | ./debian/check_release.py
 | 
						|
  except:
 | 
						|
    variables:
 | 
						|
      - $PKG_ONLY == "1"
 | 
						|
 | 
						|
pages:
 | 
						|
  stage: deploy
 | 
						|
  needs:
 | 
						|
    - build_docs
 | 
						|
    - build_reference
 | 
						|
  script:
 | 
						|
    - mv _build/ public/
 | 
						|
  artifacts:
 | 
						|
    paths:
 | 
						|
      - public
 | 
						|
  only:
 | 
						|
    refs:
 | 
						|
      - master
 |