| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- name: Build
- on:
- workflow_dispatch:
- pull_request:
- push:
- branches:
- - dev.v2
- - switch-to-gha # XXX
- jobs:
- # Run the full Tilt build and wait for it to converge
- tilt:
- runs-on: tilt-kube-public
- # Cancel previous builds on the same branch/ref. Full runs are expensive
- # and capacity is limited, so we want to avoid running multiple builds
- # in parallel even if it means skipping CI runs on permanent branches
- # (unfortunately, we can't differentiate between temporary and permanent
- # refs without duplicating the entire logic).
- concurrency:
- group: tilt-${{ github.ref }}
- cancel-in-progress: true
- steps:
- - uses: actions/checkout@v2
- - name: Expand for link to Tilt dashboard (only available during build)
- run: >
- echo "Tilt progress dashboard: https://$DASHBOARD_URL"
- - run: |
- kubectl config set-context ci --namespace=$DEPLOY_NS
- kubectl config use-context ci
- # TODO: Work around what is presumably a bug in the explorer Tilt code -
- # Buildpack won't pull the image itself on a cold cache
- # https://github.com/certusone/wormhole/issues/575
- - run: docker pull gcr.io/buildpacks/builder:v1
- - run: tilt ci -- --ci --namespace=$DEPLOY_NS --num=1
- timeout-minutes: 60
- # Clean up k8s resources
- - run: kubectl delete --namespace=$DEPLOY_NS service,statefulset,configmap,pod --all
- if: always()
- # Verify whether the Makefile builds the node (no dependencies other than Go)
- node:
- runs-on: ubuntu-20.04
- steps:
- - uses: actions/checkout@v2
- - uses: actions/setup-go@v2
- with:
- go-version: '1.17.5'
- - run: make node
- # Run linters. This is just Go and Protobuf for now, but could include things
- # like rustfmt as well.
- lint:
- # The linter is slow enough that we want to run it on the self-hosted runner
- runs-on: tilt-kube-public
- concurrency:
- group: tilt-${{ github.ref }}
- cancel-in-progress: true
- steps:
- - uses: actions/checkout@v2
- - uses: actions/setup-go@v2
- with:
- go-version: '1.17.5'
- - run: make generate && ./lint.sh
|