fix: http superfluous response.WriteHeader call in some scenario #972
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# The main codes build and unit testing running workflow. | |
name: GoFrame Main CI | |
on: | |
push: | |
branches: | |
- master | |
- develop | |
- personal/** | |
- feature/** | |
- enhance/** | |
- fix/** | |
pull_request: | |
branches: | |
- master | |
- develop | |
- personal/** | |
- feature/** | |
- enhance/** | |
- fix/** | |
# This allows a subsequently queued workflow run to interrupt previous runs | |
concurrency: | |
group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' | |
cancel-in-progress: true | |
env: | |
TZ: "Asia/Shanghai" | |
jobs: | |
code-test: | |
runs-on: ubuntu-latest | |
# Service containers to run with `code-test` | |
services: | |
# Etcd service. | |
# docker run -d --name etcd -p 2379:2379 -e ALLOW_NONE_AUTHENTICATION=yes loads/etcd:3.4.24 | |
etcd: | |
image: loads/etcd:3.4.24 | |
env: | |
ALLOW_NONE_AUTHENTICATION: yes | |
ports: | |
- 2379:2379 | |
# Redis backend server. | |
redis: | |
image : loads/redis:7.0 | |
options: >- | |
--health-cmd "redis-cli ping" | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
ports: | |
# Maps tcp port 6379 on service container to the host | |
- 6379:6379 | |
# MySQL backend server. | |
mysql: | |
image: loads/mysql:5.7 | |
env: | |
MYSQL_DATABASE : test | |
MYSQL_ROOT_PASSWORD: 12345678 | |
ports: | |
- 3306:3306 | |
# MariaDb backend server. | |
mariadb: | |
image: loads/mariadb:10.4 | |
env: | |
MARIADB_DATABASE: test | |
MARIADB_ROOT_PASSWORD: 12345678 | |
ports: | |
- 3307:3306 | |
# PostgreSQL backend server. | |
# docker run -d --name postgres \ | |
# -p 5432:5432 \ | |
# -e POSTGRES_PASSWORD=12345678 \ | |
# -e POSTGRES_USER=postgres \ | |
# -e POSTGRES_DB=test \ | |
# -v postgres:/Users/john/Temp/postgresql/data \ | |
# loads/postgres:13 | |
postgres: | |
image: loads/postgres:13 | |
env: | |
POSTGRES_PASSWORD: 12345678 | |
POSTGRES_USER: postgres | |
POSTGRES_DB: test | |
TZ: Asia/Shanghai | |
ports: | |
- 5432:5432 | |
# Set health checks to wait until postgres has started | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
# MSSQL backend server. | |
# docker run \ | |
# -p 1433:1433 \ | |
# -e ACCEPT_EULA=Y \ | |
# -e SA_PASSWORD=LoremIpsum86 \ | |
# -e MSSQL_DB=test \ | |
# -e MSSQL_USER=root \ | |
# -e MSSQL_PASSWORD=LoremIpsum86 \ | |
# loads/mssqldocker:14.0.3391.2 | |
mssql: | |
image: loads/mssqldocker:14.0.3391.2 | |
env: | |
ACCEPT_EULA: Y | |
SA_PASSWORD: LoremIpsum86 | |
MSSQL_DB: test | |
MSSQL_USER: root | |
MSSQL_PASSWORD: LoremIpsum86 | |
ports: | |
- 1433:1433 | |
options: >- | |
--health-cmd="/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P LoremIpsum86 -l 30 -Q \"SELECT 1\" || exit 1" | |
--health-start-period 10s | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 10 | |
# ClickHouse backend server. | |
# docker run -d --name clickhouse \ | |
# -p 9000:9000 -p 8123:8123 -p 9001:9001 \ | |
# loads/clickhouse-server:22.1.3.7 | |
clickhouse-server: | |
image: loads/clickhouse-server:22.1.3.7 | |
ports: | |
- 9000:9000 | |
- 8123:8123 | |
- 9001:9001 | |
# Polaris backend server. | |
# docker run -d --name polaris \ | |
# -p 8090:8090 -p 8091:8091 -p 8093:8093 -p 9090:9090 -p 9091:9091 \ | |
# loads/polaris-server-standalone:1.11.2 | |
# | |
# docker run -d --name polaris \ | |
# -p 8090:8090 -p 8091:8091 -p 8093:8093 -p 9090:9090 -p 9091:9091 \ | |
# loads/polaris-standalone:v1.16.3 | |
polaris: | |
image: loads/polaris-standalone:v1.17.2 | |
ports: | |
- 8090:8090 | |
- 8091:8091 | |
- 8093:8093 | |
- 9090:9090 | |
- 9091:9091 | |
# Oracle 11g server. | |
# docker run \ | |
# -e ORACLE_ALLOW_REMOTE=true \ | |
# -e ORACLE_SID=XE \ | |
# -e ORACLE_DB_USER_NAME=system \ | |
# -e ORACLE_DB_PASSWORD=oracle \ | |
# -p 1521:1521 \ | |
# loads/oracle-xe-11g-r2:11.2.0 | |
oracle-server: | |
image: loads/oracle-xe-11g-r2:11.2.0 | |
env: | |
ORACLE_ALLOW_REMOTE: true | |
ORACLE_SID: XE | |
ORACLE_DB_USER_NAME: system | |
ORACLE_DB_PASSWORD: oracle | |
ports: | |
- 1521:1521 | |
# dm8 server | |
# docker run -p 5236:5236 loads/dm:v8.1.2.128_ent_x86_64_ctm_pack4 | |
dm-server: | |
image: loads/dm:v8.1.2.128_ent_x86_64_ctm_pack4 | |
ports: | |
- 5236:5236 | |
zookeeper: | |
image: loads/zookeeper:3.8 | |
ports: | |
- 2181:2181 | |
strategy: | |
matrix: | |
go-version: [ "1.18", "1.19", "1.20", "1.21", "1.22" ] | |
goarch: [ "386", "amd64" ] | |
steps: | |
# TODO: szenius/set-timezone update to node16 | |
- name: Setup Timezone | |
uses: szenius/set-timezone@v1.1 | |
with: | |
timezoneLinux: "Asia/Shanghai" | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Start Apollo Containers | |
run: docker-compose -f ".github/workflows/apollo/docker-compose.yml" up -d --build | |
- name: Start Nacos Containers | |
run: docker-compose -f ".github/workflows/nacos/docker-compose.yml" up -d --build | |
- name: Start Redis Cluster Containers | |
run: docker-compose -f ".github/workflows/redis/docker-compose.yml" up -d --build | |
- name: Start Consul Containers | |
run: docker-compose -f ".github/workflows/consul/docker-compose.yml" up -d --build | |
- name: Setup Golang ${{ matrix.go-version }} | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ matrix.go-version }} | |
cache-dependency-path: '**/go.sum' | |
- name: Before Script | |
run: bash .github/workflows/before_script.sh | |
- name: Build & Test | |
if: ${{ (github.event_name == 'push' && github.ref != 'refs/heads/master') || github.event_name == 'pull_request' }} | |
run: bash .github/workflows/ci-main.sh | |
- name: Build & Test & Coverage | |
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} | |
run: bash .github/workflows/ci-main.sh coverage | |
- name: Stop Redis Cluster Containers | |
run: docker-compose -f ".github/workflows/redis/docker-compose.yml" down | |
- name: Stop Apollo Containers | |
run: docker-compose -f ".github/workflows/apollo/docker-compose.yml" down | |
- name: Stop Nacos Containers | |
run: docker-compose -f ".github/workflows/nacos/docker-compose.yml" down | |
- name: Stop Consul Containers | |
run: docker-compose -f ".github/workflows/consul/docker-compose.yml" down | |
- name: Report Coverage | |
uses: codecov/codecov-action@v4 | |
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} | |
with: | |
flags: go-${{ matrix.go-version }}-${{ matrix.goarch }} |