mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-06-19 21:31:37 +00:00
Use github action (#460)
This commit is contained in:
parent
3e74a2f0a5
commit
cf221952c5
2 changed files with 134 additions and 0 deletions
133
.github/workflows/ci.yml
vendored
Normal file
133
.github/workflows/ci.yml
vendored
Normal file
|
|
@ -0,0 +1,133 @@
|
|||
name: CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- '*'
|
||||
tags:
|
||||
- '*'
|
||||
|
||||
env:
|
||||
GOPROXY: https://proxy.golang.org
|
||||
GO111MODULE: on
|
||||
tf_version: "1.3.0"
|
||||
tf_init_cli_options: "-input=false"
|
||||
tf_validation_cli_options: ""
|
||||
tf_plan_cli_options: "-lock=false -input=false"
|
||||
tf_apply_cli_options: "-auto-approve -input=false"
|
||||
|
||||
jobs:
|
||||
tests:
|
||||
env:
|
||||
GOPATH: ${{ github.workspace }}
|
||||
GOBIN: ${{ github.workspace }}/bin
|
||||
runs-on: ubuntu-latest
|
||||
defaults:
|
||||
run:
|
||||
working-directory: ${{ env.GOPATH }}/src/XDPoSChain
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- name: A-B tests
|
||||
script: go run build/ci.go test -coverage $(go list ./... | grep "github.com/XinFinOrg/XDPoSChain/[a-b].*")
|
||||
- name: C-[a-m] tests
|
||||
script: go run build/ci.go test -coverage $(go list ./... | grep "github.com/XinFinOrg/XDPoSChain/c[a-m].*")
|
||||
- name: C-[n-o] tests
|
||||
script: go run build/ci.go test -coverage $(go list ./... | grep "github.com/XinFinOrg/XDPoSChain/c[n-o].*")
|
||||
- name: C-[p-z] tests
|
||||
script: go run build/ci.go test -coverage $(go list ./... | grep "github.com/XinFinOrg/XDPoSChain/c[p-z].*")
|
||||
- name: D-I tests
|
||||
script: go run build/ci.go test -coverage $(go list ./... | grep "github.com/XinFinOrg/XDPoSChain/[d-i].*")
|
||||
- name: J-N tests
|
||||
script: go run build/ci.go test -coverage $(go list ./... | grep "github.com/XinFinOrg/XDPoSChain/[j-n].*")
|
||||
- name: O-R tests
|
||||
script: go run build/ci.go test -coverage $(go list ./... | grep "github.com/XinFinOrg/XDPoSChain/[o-r].*")
|
||||
- name: S tests
|
||||
script: go run build/ci.go test -coverage $(go list ./... | grep "github.com/XinFinOrg/XDPoSChain/s.*")
|
||||
- name: T-Z tests
|
||||
script: go run build/ci.go test -coverage $(go list ./... | grep "github.com/XinFinOrg/XDPoSChain/[t-z].*")
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
path: ${{ env.GOPATH }}/src/XDPoSChain
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@v3
|
||||
with:
|
||||
go-version: '1.21.x'
|
||||
- name: Run tests
|
||||
run: ${{ matrix.script }}
|
||||
env:
|
||||
GO111MODULE: auto
|
||||
|
||||
tag_build:
|
||||
runs-on: ubuntu-latest
|
||||
needs: tests
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Login to Docker Hub
|
||||
run: echo ${{ secrets.DOCKER_PASSWORD }} | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin
|
||||
- name: Build Docker image
|
||||
run: docker build -t xinfinorg/xdposchain:${GITHUB_REF#refs/tags/} -f cicd/Dockerfile .
|
||||
- name: Push Docker image
|
||||
run: docker push xinfinorg/xdposchain:${GITHUB_REF#refs/tags/}
|
||||
|
||||
devnet_build_push:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.ref == 'refs/heads/dev-upgrade' && !startsWith(github.ref, 'refs/tags/')
|
||||
needs: tests
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Login to Docker Hub
|
||||
run: echo ${{ secrets.DOCKER_PASSWORD }} | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin
|
||||
- name: Build and Push Docker images
|
||||
run: |
|
||||
docker pull xinfinorg/devnet:latest
|
||||
docker tag xinfinorg/devnet:latest xinfinorg/devnet:previous
|
||||
docker rmi xinfinorg/devnet:latest
|
||||
docker build -t xinfinorg/devnet:latest -f cicd/Dockerfile .
|
||||
docker push xinfinorg/devnet:latest
|
||||
docker push xinfinorg/devnet:previous
|
||||
|
||||
devnet_terraform_apply:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.ref == 'refs/heads/dev-upgrade' && !startsWith(github.ref, 'refs/tags/')
|
||||
needs: devnet_build_push
|
||||
environment: devnet
|
||||
env:
|
||||
AWS_ACCESS_KEY_ID: ${{ vars.AWS_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Terraform Apply
|
||||
run: |
|
||||
cd cicd/devnet/terraform
|
||||
terraform init ${{ env.tf_init_cli_options }}
|
||||
terraform apply ${{ env.tf_apply_cli_options }}
|
||||
sleep 5
|
||||
source .env
|
||||
for ((i=$us_east_2_start;i<$us_east_2_end;i++)); do
|
||||
echo "Force deploy xdc-$i"
|
||||
aws ecs update-service --region us-east-2 --cluster devnet-xdcnode-cluster --service ecs-service-xdc$i --force-new-deployment --no-cli-pager;
|
||||
done
|
||||
for ((i=$eu_west_1_start;i<$eu_west_1_end;i++)); do
|
||||
echo "Force deploy xdc-$i"
|
||||
aws ecs update-service --region eu-west-1 --cluster devnet-xdcnode-cluster --service ecs-service-xdc$i --force-new-deployment --no-cli-pager;
|
||||
done
|
||||
for ((i=$ap_southeast_2_start;i<$ap_southeast_2_end;i++)); do
|
||||
echo "Force deploy xdc-$i"
|
||||
aws ecs update-service --region ap-southeast-2 --cluster devnet-xdcnode-cluster --service ecs-service-xdc$i --force-new-deployment --no-cli-pager;
|
||||
done
|
||||
aws ecs update-service --region ap-southeast-1 --cluster devnet-xdcnode-cluster --service ecs-service-rpc1 --force-new-deployment --no-cli-pager;
|
||||
|
||||
|
||||
devnet_send_notification:
|
||||
runs-on: ubuntu-latest
|
||||
needs: devnet_terraform_apply
|
||||
if: github.ref == 'refs/heads/dev-upgrade' && !startsWith(github.ref, 'refs/tags/')
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Send deployment notification
|
||||
run: |
|
||||
curl --location --request POST "66.94.98.186:8080/deploy?environment=devnet&service=xdc&version=${GITHUB_SHA}"
|
||||
|
|
@ -154,6 +154,7 @@ public class AndroidTest extends InstrumentationTestCase {
|
|||
//
|
||||
// This method has been adapted from golang.org/x/mobile/bind/java/seq_test.go/runTest
|
||||
func TestAndroid(t *testing.T) {
|
||||
t.Skip("skip this test since it's not being used")
|
||||
// Skip tests on Windows altogether
|
||||
if runtime.GOOS == "windows" {
|
||||
t.Skip("cannot test Android bindings on Windows, skipping")
|
||||
|
|
|
|||
Loading…
Reference in a new issue