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' | ||||
| services: | ||||
|   dev: | ||||
|     build: . | ||||
|     build: docker | ||||
|     network_mode: "host" | ||||
|     privileged: 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 | ||||
| 
 | ||||
| ENV PATH="/root/.cargo/bin:${PATH}" | ||||
| ENV USER=root | ||||
| COPY entrypoint.sh /entrypoint.sh | ||||
| 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