Add GitHub Actions CI rules (#70)
* Prepare Dockerfile for GitHub Actions * Add Action * Add CI rules * Move docker files into the docker directory to prevent fetching build artifacts * Cache Docker layers Co-authored-by: aanper <mail@s3f.ru>
This commit is contained in:
		
							parent
							
								
									b13925f7ab
								
							
						
					
					
						commit
						a008c38078
					
				
							
								
								
									
										11
									
								
								.github/actions/docker/action.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								.github/actions/docker/action.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | |||||||
|  | name: 'Run in docker' | ||||||
|  | inputs: | ||||||
|  |   run:  # id of input | ||||||
|  |     description: 'A command to run' | ||||||
|  |     required: true | ||||||
|  |     default: '' | ||||||
|  | runs: | ||||||
|  |   using: 'docker' | ||||||
|  |   image: '../../../docker/Dockerfile' | ||||||
|  |   args: | ||||||
|  |     - ${{ inputs.run }} | ||||||
							
								
								
									
										29
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,29 @@ | |||||||
|  | name: 'CI' | ||||||
|  | 
 | ||||||
|  | on: | ||||||
|  |   push: | ||||||
|  |     branches: [ master ] | ||||||
|  |   pull_request: | ||||||
|  | 
 | ||||||
|  | jobs: | ||||||
|  |   build: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     steps: | ||||||
|  |       - name: Checkout code | ||||||
|  |         uses: actions/checkout@v2 | ||||||
|  | 
 | ||||||
|  |       - name: Cache Docker layers | ||||||
|  |         uses: satackey/action-docker-layer-caching@v0.0.8 | ||||||
|  | 
 | ||||||
|  |       - name: Build docker image | ||||||
|  |         uses: ./.github/actions/docker | ||||||
|  | 
 | ||||||
|  |       - name: Build target_lo in docker | ||||||
|  |         uses: ./.github/actions/docker | ||||||
|  |         with: | ||||||
|  |           run: make -C target_lo | ||||||
|  | 
 | ||||||
|  |       - name: Build target_f1 in docker | ||||||
|  |         uses: ./.github/actions/docker | ||||||
|  |         with: | ||||||
|  |           run: make -C target_f1 | ||||||
| @ -1,7 +1,7 @@ | |||||||
| version: '3' | version: '3' | ||||||
| services: | services: | ||||||
|   dev: |   dev: | ||||||
|     build: . |     build: docker | ||||||
|     network_mode: "host" |     network_mode: "host" | ||||||
|     privileged: true |     privileged: true | ||||||
|     tty: true |     tty: true | ||||||
|  | |||||||
| @ -22,5 +22,5 @@ RUN apt-get update && \ | |||||||
| 
 | 
 | ||||||
| RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --profile=minimal --target thumbv7em-none-eabi thumbv7em-none-eabihf | RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --profile=minimal --target thumbv7em-none-eabi thumbv7em-none-eabihf | ||||||
| 
 | 
 | ||||||
| ENV PATH="/root/.cargo/bin:${PATH}" | COPY entrypoint.sh /entrypoint.sh | ||||||
| ENV USER=root | ENTRYPOINT ["/entrypoint.sh"] | ||||||
							
								
								
									
										17
									
								
								docker/entrypoint.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										17
									
								
								docker/entrypoint.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,17 @@ | |||||||
|  | #!/bin/bash | ||||||
|  | 
 | ||||||
|  | # A hack for GitHub Actions to not install Rust twice | ||||||
|  | if [ "$HOME" != "/root" ]; then | ||||||
|  |     ln -sf /root/.rustup "$HOME/.rustup" | ||||||
|  |     ln -sf /root/.cargo "$HOME/.cargo" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | PATH="$HOME/.cargo/bin:${PATH}" | ||||||
|  | 
 | ||||||
|  | if [ -z "$1" ]; then | ||||||
|  |     bash | ||||||
|  | else | ||||||
|  |     echo "Running $1" | ||||||
|  |     set -ex | ||||||
|  |     bash -c "$1" | ||||||
|  | fi | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Vadim Kaushan
						Vadim Kaushan