name: e2e test on: # Trigger the workflow on push or pull request, # but only for the master branch push: paths-ignore: - '**.md' - '**.png' pull_request: paths-ignore: - '**.md' - '**.png' jobs: job_1: name: Build goc binary runs-on: ubuntu-latest steps: - name: Install Go uses: actions/setup-go@v2 with: go-version: 1.14.x - name: Checkout code uses: actions/checkout@v2 - name: Go build run: | go build - name: Use goc to build self run: | ./goc build --output ./gocc --debug - name: Upload goc binary uses: actions/upload-artifact@v2 with: name: goc path: goc - name: Upload covered self goc binary uses: actions/upload-artifact@v2 with: name: gocc path: gocc job_2: name: E2E test needs: job_1 strategy: matrix: go-version: [1.11.x, 1.12.x, 1.13.x, 1.14.x, 1.15.x] runs-on: ubuntu-latest steps: - name: Install Go uses: actions/setup-go@v2 with: go-version: ${{ matrix.go-version }} - name: Checkout code uses: actions/checkout@v2 - name: Download built binary uses: actions/download-artifact@v2 with: path: /home/runner/tools - name: Install bats-core run: | git clone https://github.com/bats-core/bats-core.git cd bats-core sudo ./install.sh /usr/local - name: Do test env: GOVERSION: ${{ matrix.go-version }} run: | chmod +x /home/runner/tools/goc/goc export PATH=/home/runner/tools/goc:$PATH chmod +x /home/runner/tools/gocc/gocc export PATH=/home/runner/tools/gocc:$PATH cd tests ./run-ci-actions.sh