feat: add github-based ci config
This commit is contained in:
69
.github/workflows/ci.yaml
vendored
Normal file
69
.github/workflows/ci.yaml
vendored
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
name: CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- '*'
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- '*'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
index: [0, 1, 2,3]
|
||||||
|
env:
|
||||||
|
GITHUB_NODE_INDEX: ${{ matrix.compiler }}
|
||||||
|
name: ci.${{ matrix.index }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: install ci-dependencies
|
||||||
|
run: make ci-dependencies
|
||||||
|
|
||||||
|
- name: setup tests
|
||||||
|
run: ./tests/ci/setup.sh
|
||||||
|
|
||||||
|
- name: dokku cleanup:skip
|
||||||
|
run: echo 'export DOKKU_SKIP_CLEANUP=true' | sudo tee /home/dokku/.dokkurc/dokku_skip_cleanup
|
||||||
|
|
||||||
|
- name: resolve dokku.me
|
||||||
|
run: |
|
||||||
|
# dokku.me now resolves to 10.0.0.2. add 10.0.0.2/24 to ens4
|
||||||
|
sudo ip a a 10.0.0.2/24 broadcast 10.0.0.255 dev ens4
|
||||||
|
|
||||||
|
- name: run pre-tests
|
||||||
|
run: |
|
||||||
|
export CIRCLE_SHA1=$GITHUB_SHA
|
||||||
|
case $GITHUB_NODE_INDEX in
|
||||||
|
0) sudo -E make -e lint-ci go-tests ci-go-coverage ;;
|
||||||
|
1) sudo -E make -e deploy-test-checks-root deploy-test-config ;;
|
||||||
|
2) sudo -E make -e deploy-test-multi ;;
|
||||||
|
3) sudo -E make -e deploy-test-go-fail-predeploy deploy-test-go-fail-postdeploy ;;
|
||||||
|
esac
|
||||||
|
- name: run ci
|
||||||
|
shell: bash
|
||||||
|
timeout-minutes: 60
|
||||||
|
run: |
|
||||||
|
sudo -E make -e test-ci
|
||||||
|
|
||||||
|
- name: test docker deploys
|
||||||
|
run: |
|
||||||
|
if [ "${GITHUB_NODE_INDEX}" == "0" ]; then
|
||||||
|
./tests/ci/setup.sh docker
|
||||||
|
DOKKU_SSH_PORT=3022 sudo -E make -e test-ci-docker
|
||||||
|
fi
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: coverage.${{ matrix.index }}.out
|
||||||
|
path: coverage.out
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: test-results-${{ matrix.index }}
|
||||||
|
path: test-results
|
||||||
Reference in New Issue
Block a user