github.com/cozy/cozy-stack@v0.0.0-20240327093429-939e4a21320e/.github/workflows/go-tests.yml (about) 1 name: Go tests 2 on: 3 push: 4 branches: 5 - master 6 paths-ignore: 7 - 'docs/**' 8 pull_request: 9 paths-ignore: 10 - 'docs/**' 11 jobs: 12 test: 13 runs-on: ubuntu-22.04 14 services: 15 redis: 16 image: redis 17 ports: 18 - 6379:6379 19 strategy: 20 fail-fast: false 21 matrix: 22 include: 23 # Recommended version 24 - go-version: '1.22.x' 25 couchdb-version: '3.3.3' 26 # More exotic version 27 - go-version: '1.19.x' 28 couchdb-version: '3.2.3' 29 steps: 30 - name: Install CouchDB 31 run: | 32 curl https://couchdb.apache.org/repo/keys.asc | gpg --dearmor | sudo tee /usr/share/keyrings/couchdb-archive-keyring.gpg 33 source /etc/os-release 34 echo "deb [signed-by=/usr/share/keyrings/couchdb-archive-keyring.gpg] https://apache.jfrog.io/artifactory/couchdb-deb/ ${VERSION_CODENAME} main" | sudo tee /etc/apt/sources.list.d/couchdb.list 35 sudo apt-get update 36 sudo debconf-set-selections <<-EOF 37 couchdb couchdb/mode select standalone 38 couchdb couchdb/mode seen true 39 couchdb couchdb/bindaddress string 127.0.0.1 40 couchdb couchdb/bindaddress seen true 41 couchdb couchdb/adminpass password password 42 couchdb couchdb/adminpass seen true 43 couchdb couchdb/adminpass_again password password 44 couchdb couchdb/adminpass_again seen true 45 couchdb couchdb/cookie string elmo 46 couchdb couchdb/cookie seen true 47 EOF 48 DEBIAN_FRONTEND=noninteractive sudo apt-get install -y --force-yes couchdb=${{ matrix.couchdb-version }}* 49 echo "COZY_COUCHDB_URL=http://admin:password@localhost:5984/" >> $GITHUB_ENV 50 51 - name: Install ghostscript 52 run: sudo apt install ghostscript 53 54 - name: Change ImageMagick security policy 55 run: sudo rm /etc/ImageMagick-6/policy.xml 56 57 - name: Checkout repository 58 uses: actions/checkout@v4 59 60 - name: Setup Go 61 uses: actions/setup-go@v5 62 with: 63 go-version: ${{ matrix.go-version }} 64 cache: true 65 66 - name: Run tests 67 run: go test -p 1 -timeout 5m