name: CI on: pull_request: branches: - '*' push: branches: - '*' jobs: build: name: build runs-on: ubuntu-latest strategy: fail-fast: true steps: - uses: actions/checkout@v2 - name: install ci-dependencies run: make ci-dependencies - name: build package run: ./tests/ci/setup.sh build - name: upload packages uses: actions/upload-artifact@v2 with: name: build path: build ci: env: GITHUB_NODE_INDEX: ${{ matrix.compiler }} name: ci.${{ matrix.index }} needs: build runs-on: ubuntu-latest strategy: fail-fast: true matrix: index: [0, 1, 2,3] steps: - uses: actions/checkout@v2 - name: download packages uses: actions/download-artifact@v1 with: name: build - 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