name: CI on: push: branches: - "master" pull_request: branches: - "*" defaults: run: shell: bash env: # go needs absolute directories, using the $HOME variable doesn't work here. GOCACHE: /home/runner/work/go/pkg/build GOPATH: /home/runner/work/go GO111MODULE: on # If you change this value, please change it in the following files as well: # /Dockerfile GO_VERSION: 1.24.0 jobs: ######################## # RPC compile and check ######################## rpc-check: name: RPC compilation check runs-on: ubuntu-latest steps: - name: git checkout uses: actions/checkout@v2 - name: setup go ${{ env.GO_VERSION }} uses: actions/setup-go@v2 with: go-version: '~${{ env.GO_VERSION }}' - name: RPC for JS compilation run: make rpc-js-compile - name: run check run: make rpc-check ######################## # go mod check ######################## mod-check: name: go mod check runs-on: ubuntu-latest steps: - name: git checkout uses: actions/checkout@v2 - name: setup go ${{ env.GO_VERSION }} uses: actions/setup-go@v2 with: go-version: '~${{ env.GO_VERSION }}' - name: run check run: make mod-check ######################## # build and lint code ######################## lint: name: build and lint code runs-on: ubuntu-latest steps: - name: git checkout uses: actions/checkout@v2 with: fetch-depth: 0 - name: setup go ${{ env.GO_VERSION }} uses: actions/setup-go@v5 with: go-version: '~${{ env.GO_VERSION }}' - name: build run: make build tags=dev - name: lint run: make lint ######################## # run unit tests ######################## unit-test: name: run unit tests runs-on: ubuntu-latest steps: - name: git checkout uses: actions/checkout@v2 - name: setup go ${{ env.GO_VERSION }} uses: actions/setup-go@v5 with: go-version: '~${{ env.GO_VERSION }}' - name: run unit tests run: make unit-race - name: run unit test with postgres run: make unit-postgres-race