pipeline: dummy-web: image: golang:1.16 commands: - mkdir -p web/dist/ - echo "test" > web/dist/index.html when: path: # related config files - ".woodpecker/test.yml" # go source code - "**/*.go" - "go.*" # schema changes - "pipeline/schema/**" lint: image: golang:1.16 group: test commands: - make lint when: path: # related config files - ".woodpecker/test.yml" - ".golangci.yml" # go source code - "**/*.go" - "go.*" test: image: golang:1.16 group: test commands: - make test-agent - make test-server - make test-cli - make test-lib when: path: # related config files - ".woodpecker/test.yml" # go source code - "**/*.go" - "go.*" # schema changes - "pipeline/schema/**" sqlite: image: golang:1.16 group: test environment: - WOODPECKER_DATABASE_DRIVER=sqlite3 commands: - make test-server-datastore when: path: # related config files - ".woodpecker/test.yml" # go source code - "**/*.go" - "go.*" postgres: image: golang:1.16 group: test environment: - WOODPECKER_DATABASE_DRIVER=postgres - WOODPECKER_DATABASE_DATASOURCE=host=service-postgres user=postgres dbname=postgres sslmode=disable commands: - make test-server-datastore when: path: # related config files - ".woodpecker/test.yml" # go source code - "**/*.go" - "go.*" mysql: image: golang:1.16 group: test environment: - WOODPECKER_DATABASE_DRIVER=mysql - WOODPECKER_DATABASE_DATASOURCE=root@tcp(service-mysql:3306)/test?parseTime=true commands: - make test-server-datastore when: path: # related config files - ".woodpecker/test.yml" # go source code - "**/*.go" - "go.*" services: service-postgres: image: postgres:11 ports: ["5432"] environment: - POSTGRES_USER=postgres - POSTGRES_HOST_AUTH_METHOD=trust when: path: # related config files - ".woodpecker/test.yml" # go source code - "**/*.go" - "go.*" service-mysql: image: mysql:5.6.27 ports: ["3306"] environment: - MYSQL_DATABASE=test - MYSQL_ALLOW_EMPTY_PASSWORD=yes when: path: # related config files - ".woodpecker/test.yml" # go source code - "**/*.go" - "go.*"