name: git2go CI on: pull_request: push: branches: - master - release-* - v* jobs: build-legacy: strategy: fail-fast: false matrix: go: [ '1.9', '1.10' ] name: Go ${{ matrix.go }} runs-on: ubuntu-18.04 steps: - name: Set up Go uses: actions/setup-go@v1 with: go-version: ${{ matrix.go }} id: go - name: Check out code into the GOPATH uses: actions/checkout@v1 with: fetch-depth: 1 path: src/github.com/${{ github.repository }} - name: Build env: GOPATH: /home/runner/work/git2go run: | git submodule update --init sudo apt-get install -y --no-install-recommends libssh2-1-dev make build-libgit2-static go get -tags static -t github.com/${{ github.repository }}/... go build -tags static github.com/${{ github.repository }}/... - name: Test env: GOPATH: /home/runner/work/git2go run: make TEST_ARGS=-test.v test-static build-static: strategy: fail-fast: false matrix: go: [ '1.11', '1.12', '1.13', '1.14', '1.15' ] name: Go ${{ matrix.go }} runs-on: ubuntu-20.04 steps: - name: Set up Go uses: actions/setup-go@v1 with: go-version: ${{ matrix.go }} id: go - name: Check out code into the Go module directory uses: actions/checkout@v1 - name: Build run: | git submodule update --init sudo apt-get install -y --no-install-recommends libssh2-1-dev make build-libgit2-static - name: Test run: make TEST_ARGS=-test.v test-static build-dynamic: strategy: fail-fast: false name: Go (dynamic) runs-on: ubuntu-20.04 steps: - name: Set up Go uses: actions/setup-go@v1 with: go-version: '1.15' id: go - name: Check out code into the Go module directory uses: actions/checkout@v1 - name: Build run: | git submodule update --init sudo apt-get install -y --no-install-recommends libssh2-1-dev make build-libgit2-dynamic - name: Test run: make TEST_ARGS=-test.v test-dynamic build-system-dynamic: strategy: fail-fast: false matrix: libgit2: [ '1.1.0' ] name: Go (system-wide, dynamic) runs-on: ubuntu-20.04 steps: - name: Set up Go uses: actions/setup-go@v1 with: go-version: '1.15' id: go - name: Check out code into the Go module directory uses: actions/checkout@v1 - name: Build libgit2 ${{ matrix.libgit2 }} run: | git submodule update --init sudo apt-get install -y --no-install-recommends libssh2-1-dev sudo env BUILD_LIBGIT_REF=v${{ matrix.libgit2 }} ./script/build-libgit2.sh --dynamic --system - name: Test run: make TEST_ARGS=-test.v test build-system-static: strategy: fail-fast: false name: Go (system-wide, static) runs-on: ubuntu-20.04 steps: - name: Set up Go uses: actions/setup-go@v1 with: go-version: '1.15' id: go - name: Check out code into the Go module directory uses: actions/checkout@v1 - name: Build libgit2 run: | git submodule update --init sudo apt-get install -y --no-install-recommends libssh2-1-dev sudo ./script/build-libgit2.sh --static --system - name: Test run: go test --count=1 --tags "static,system_libgit2" ./...