From d7b0d2a4d9a74ce3c4e2390f29f876ee587992bc Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Mon, 1 Jun 2020 22:57:43 -0400 Subject: [PATCH] feat: add github-based ci config --- .github/workflows/ci.yaml | 69 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 .github/workflows/ci.yaml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 000000000..1e8f019e5 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -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