mirror of
				https://github.com/0glabs/0g-chain.git
				synced 2025-04-04 15:55:23 +00:00 
			
		
		
		
	github action for ci (#1398)
* add workflow for CI on PRs to master or release branch, and every push to master * sprint demo
This commit is contained in:
		
							parent
							
								
									0e41374baf
								
							
						
					
					
						commit
						3a766030a3
					
				
							
								
								
									
										12
									
								
								.github/.workflows/lint.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								.github/.workflows/lint.yml
									
									
									
									
										vendored
									
									
								
							| @ -1,12 +0,0 @@ | |||||||
| name: Lint |  | ||||||
| on: [pull_request] |  | ||||||
| jobs: |  | ||||||
|   golangci-lint: |  | ||||||
|     runs-on: ubuntu-latest |  | ||||||
|     steps: |  | ||||||
|       - uses: actions/checkout@master |  | ||||||
|       - name: golangci-lint |  | ||||||
|         uses: reviewdog/action-golangci-lint@v1 |  | ||||||
|         with: |  | ||||||
|           github_token: ${{ secrets.github_token }} |  | ||||||
|           reporter: github-pr-review |  | ||||||
							
								
								
									
										15
									
								
								.github/scripts/install-rocksdb.sh
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										15
									
								
								.github/scripts/install-rocksdb.sh
									
									
									
									
										vendored
									
									
										Executable file
									
								
							| @ -0,0 +1,15 @@ | |||||||
|  | #!/bin/bash | ||||||
|  | set -x | ||||||
|  | 
 | ||||||
|  | # install build dependencies | ||||||
|  | sudo apt-get install -y libgflags-dev libsnappy-dev zlib1g-dev libbz2-dev liblz4-dev libzstd-dev | ||||||
|  | 
 | ||||||
|  | # get rocksdb sources | ||||||
|  | git clone https://github.com/facebook/rocksdb.git /home/runner/rocksdb | ||||||
|  | 
 | ||||||
|  | cd /home/runner/rocksdb | ||||||
|  | 
 | ||||||
|  | git checkout v7.7.3 | ||||||
|  | 
 | ||||||
|  | # install rocksdb locally | ||||||
|  | sudo make -j $(nproc --all) install-shared | ||||||
							
								
								
									
										14
									
								
								.github/scripts/publish-internal-release-artifacts.sh
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										14
									
								
								.github/scripts/publish-internal-release-artifacts.sh
									
									
									
									
										vendored
									
									
										Executable file
									
								
							| @ -0,0 +1,14 @@ | |||||||
|  | #!/bin/bash | ||||||
|  | set -x | ||||||
|  | 
 | ||||||
|  | archs=(amd64) | ||||||
|  | dbs=(goleveldb rocksdb) | ||||||
|  | OS=linux | ||||||
|  | 
 | ||||||
|  | for db in "${dbs[@]}" | ||||||
|  | do | ||||||
|  |     for arch in "${archs[@]}" | ||||||
|  |     do | ||||||
|  |         env GOOS=$OS GOARCH="$arch" make build COSMOS_BUILD_OPTIONS="$db" && aws s3 cp ./out/$OS/kava s3://releases.kava.io/kava/$OS/"$db"/"$BUILD_TAG" | ||||||
|  |     done | ||||||
|  | done | ||||||
							
								
								
									
										78
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,78 @@ | |||||||
|  | name: Continuous Integration | ||||||
|  | on: | ||||||
|  |   pull_request: | ||||||
|  |     # run CI on pull requests to master or a release branch | ||||||
|  |     branches: | ||||||
|  |       - master | ||||||
|  |       - 'releases/**' | ||||||
|  |   push: | ||||||
|  |     # run CI on any push to the master branch | ||||||
|  |     branches: | ||||||
|  |       - master | ||||||
|  | # concurrently lint, build, and run tests against kava based off current commit | ||||||
|  | jobs: | ||||||
|  |   golangci-lint: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     steps: | ||||||
|  |       - uses: actions/checkout@master | ||||||
|  |       - name: golangci-lint | ||||||
|  |         uses: reviewdog/action-golangci-lint@v1 | ||||||
|  |         with: | ||||||
|  |           github_token: ${{ secrets.github_token }} | ||||||
|  |           reporter: github-pr-review | ||||||
|  |   build: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     steps: | ||||||
|  |       - name: checkout repo from current commit | ||||||
|  |         uses: actions/checkout@v3 | ||||||
|  |       - name: Set up Go | ||||||
|  |         uses: actions/setup-go@v3 | ||||||
|  |         with: | ||||||
|  |           go-version: '1.18' | ||||||
|  |           check-latest: true | ||||||
|  |           cache: true | ||||||
|  |       - name: build application | ||||||
|  |         run: make build | ||||||
|  |   test: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     steps: | ||||||
|  |       - name: checkout repo from current commit | ||||||
|  |         uses: actions/checkout@v3 | ||||||
|  |       - name: Set up Go | ||||||
|  |         uses: actions/setup-go@v3 | ||||||
|  |         with: | ||||||
|  |           go-version: '1.18' | ||||||
|  |           check-latest: true | ||||||
|  |           cache: true | ||||||
|  |       - name: run unit tests | ||||||
|  |         run: make test | ||||||
|  |   # only run on merges to master | ||||||
|  |   publish: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     if: github.ref_name == 'master' | ||||||
|  |     steps: | ||||||
|  |       - name: checkout repo from current commit | ||||||
|  |         uses: actions/checkout@v3 | ||||||
|  |       - name: Set up Go | ||||||
|  |         uses: actions/setup-go@v3 | ||||||
|  |         with: | ||||||
|  |           go-version: '1.18' | ||||||
|  |           check-latest: true | ||||||
|  |           cache: true | ||||||
|  |       - name: build application | ||||||
|  |         run: make build | ||||||
|  |       - name: run unit tests | ||||||
|  |         run: make test | ||||||
|  |       - name: set build tag | ||||||
|  |         run: echo "BUILD_TAG=$(date +%s)-$(git rev-parse HEAD | cut -c 1-8)" >> $GITHUB_ENV | ||||||
|  |       - name: build rocksdb dependency | ||||||
|  |         run:  bash ${GITHUB_WORKSPACE}/.github/scripts/install-rocksdb.sh | ||||||
|  |         env: | ||||||
|  |           ROCKSDB_VERSION: v7.7.3 | ||||||
|  |       - name: Build and upload release artifacts | ||||||
|  |         run:  bash ${GITHUB_WORKSPACE}/.github/scripts/publish-internal-release-artifacts.sh | ||||||
|  |         env: | ||||||
|  |           BUILD_TAG: ${{ env.BUILD_TAG }} | ||||||
|  |           AWS_REGION: us-east-1 | ||||||
|  |           AWS_ACCESS_KEY_ID: ${{ secrets.CI_AWS_KEY_ID }} | ||||||
|  |           AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_AWS_KEY_SECRET }} | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Levi Schoen
						Levi Schoen