Skip to content

CI

CI #1153

Workflow file for this run

name: CI
on:
push:
branches: [main, release-*]
paths-ignore: ['**.md', '**.png', '**.jpg', '**.svg', '**/docs/**']
pull_request:
branches: [main, release-*]
paths-ignore: ['**.md', '**.png', '**.jpg', '**.svg', '**/docs/**']
schedule:
- cron: '0 4 * * *'
permissions:
contents: read
jobs:
test:
name: Test
timeout-minutes: 60
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
submodules: recursive
- name: Install Go
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
with:
go-version-file: go.mod
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y pkg-config
sudo apt update && \
sudo DEBIAN_FRONTEND=noninteractive apt install -y build-essential cmake pkg-config libssl-dev libssh2-1-dev zlib1g-dev libhttp-parser-dev python3 wget tar git && \
wget https://github.com/libgit2/libgit2/archive/refs/tags/v1.5.1.tar.gz -O libgit2-v1.5.1.tar.gz && \
tar -xzf libgit2-v1.5.1.tar.gz && \
cd libgit2-1.5.1 && \
mkdir build && \
cd build && \
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF && \
make -j$(nproc) && \
sudo make install && \
sudo ldconfig
env:
LIBGIT2_SYS_USE_PKG_CONFIG: "1"
- name: Run Unit tests
run: |-
go version
go test -ldflags '-extldflags "-static"' -tags static,system_libgit2 -v ./...