Pros: Ability to use Rust libraries from crates.io Problems: Need to lock library versions and document their reproducible building, either via Cargo.lock or vendoring.
		
			
				
	
	
		
			36 lines
		
	
	
		
			636 B
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			636 B
		
	
	
	
		
			YAML
		
	
	
	
	
	
image: debian:buster
 | 
						|
 | 
						|
stages:
 | 
						|
  - build
 | 
						|
  - test
 | 
						|
 | 
						|
.tags: &tags
 | 
						|
  tags:
 | 
						|
    - librem5
 | 
						|
 | 
						|
before_script:
 | 
						|
  - apt-get -y update
 | 
						|
  - apt-get -y install wget ca-certificates gnupg
 | 
						|
  - echo "deb http://ci.puri.sm/ scratch librem5" > /etc/apt/sources.list.d/ci.list
 | 
						|
  - wget -O- https://ci.puri.sm/ci-repo.key | apt-key add -
 | 
						|
  - apt-get -y update
 | 
						|
  - apt-get -y build-dep .
 | 
						|
 | 
						|
build_meson:
 | 
						|
  <<: *tags
 | 
						|
  stage: build
 | 
						|
  artifacts:
 | 
						|
    paths:
 | 
						|
      - _build
 | 
						|
  script:
 | 
						|
    - meson . _build/ -Ddepdatadir=/usr/share
 | 
						|
    - ninja -C _build install
 | 
						|
 | 
						|
test:
 | 
						|
  <<: *tags
 | 
						|
  stage: test
 | 
						|
  dependencies:
 | 
						|
    - build_meson
 | 
						|
  script:
 | 
						|
    - ninja -C _build test
 |