From 72a9463df0ffd0afc14d3bbdc06faf53ab774829 Mon Sep 17 00:00:00 2001 From: Inada Naoki Date: Wed, 23 Dec 2020 12:33:16 +0900 Subject: [PATCH 1/8] Run macOS CI on Github Actions --- .github/workflows/mac.yaml | 41 ++++++++++++++++++++++++++++++++++++++ .travis.yml | 23 --------------------- 2 files changed, 41 insertions(+), 23 deletions(-) create mode 100644 .github/workflows/mac.yaml diff --git a/.github/workflows/mac.yaml b/.github/workflows/mac.yaml new file mode 100644 index 000000000..3a9e07732 --- /dev/null +++ b/.github/workflows/mac.yaml @@ -0,0 +1,41 @@ +name: Build macOS Wheels +on: + push: + pull_request: + +jobs: + build: + runs-on: macos-latest + + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Set up MySQL + run: | + brew install mysql + echo -e "[server]\ninnodb_log_file_size=256MB\ninnodb_buffer_pool_size=512MB\nmax_allowed_packet=16MB\nlocal_infile=1" >> /usr/local/etc/my.cnf + mysql.server start + mysql -uroot -e 'CREATE USER gotest IDENTIFIED BY "secret"' + mysql -uroot -e 'GRANT ALL ON *.* TO gotest' + mysql -uroot -e 'create database gotest;' + + - name: Set up Go + run: | + go install golang.org/x/tools/cmd/cover + + - name: Run tests + env: + MYSQL_TEST_USER: gotest + MYSQL_TEST_PASS: secret + MYSQL_TEST_ADDR: 127.0.0.1:3306 + MYSQL_TEST_CONCURRENT: 1 + run: | + go test -v -covermode=count -coverprofile=coverage.out + go vet ./... + gofmt -d -s . + + - uses: shogo82148/actions-goveralls@v1 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + path-to-profile: coverage.out diff --git a/.travis.yml b/.travis.yml index 2926bdd11..4777a3e42 100644 --- a/.travis.yml +++ b/.travis.yml @@ -106,29 +106,6 @@ jobs: - export MYSQL_TEST_ADDR=127.0.0.1:3307 - export MYSQL_TEST_CONCURRENT=1 - - os: osx - osx_image: xcode11.4 - addons: - homebrew: - packages: - - mysql - update: true - go: 1.15.x - before_install: - - go get golang.org/x/tools/cmd/cover - - go get github.com/mattn/goveralls - before_script: - - export cross_compile=false - - echo -e "[server]\ninnodb_log_file_size=256MB\ninnodb_buffer_pool_size=512MB\nmax_allowed_packet=16MB\nlocal_infile=1" >> /usr/local/etc/my.cnf - - mysql.server start - - mysql -uroot -e 'CREATE USER gotest IDENTIFIED BY "secret"' - - mysql -uroot -e 'GRANT ALL ON *.* TO gotest' - - mysql -uroot -e 'create database gotest;' - - export MYSQL_TEST_USER=gotest - - export MYSQL_TEST_PASS=secret - - export MYSQL_TEST_ADDR=127.0.0.1:3306 - - export MYSQL_TEST_CONCURRENT=1 - script: - go test -v -covermode=count -coverprofile=coverage.out - go vet ./... From 71361dc5e9a708b0b3239136f6018334a6973004 Mon Sep 17 00:00:00 2001 From: Inada Naoki Date: Wed, 23 Dec 2020 12:49:50 +0900 Subject: [PATCH 2/8] no cover --- .github/workflows/mac.yaml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/mac.yaml b/.github/workflows/mac.yaml index 3a9e07732..f2fbc823c 100644 --- a/.github/workflows/mac.yaml +++ b/.github/workflows/mac.yaml @@ -34,8 +34,3 @@ jobs: go test -v -covermode=count -coverprofile=coverage.out go vet ./... gofmt -d -s . - - - uses: shogo82148/actions-goveralls@v1 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - path-to-profile: coverage.out From e45c5735bf4d39ab601318dc2e55f0382d34bb1b Mon Sep 17 00:00:00 2001 From: Inada Naoki Date: Wed, 23 Dec 2020 12:54:39 +0900 Subject: [PATCH 3/8] Fix workflow name --- .github/workflows/mac.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/mac.yaml b/.github/workflows/mac.yaml index f2fbc823c..f80a90b6e 100644 --- a/.github/workflows/mac.yaml +++ b/.github/workflows/mac.yaml @@ -1,4 +1,4 @@ -name: Build macOS Wheels +name: Test on macOS on: push: pull_request: From 94eeaf9ab59a82e18b83eb168343ae5fc934fedb Mon Sep 17 00:00:00 2001 From: Inada Naoki Date: Wed, 23 Dec 2020 20:41:48 +0900 Subject: [PATCH 4/8] Actions: Add linux test --- .github/workflows/linux.yaml | 49 ++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 .github/workflows/linux.yaml diff --git a/.github/workflows/linux.yaml b/.github/workflows/linux.yaml new file mode 100644 index 000000000..857bff111 --- /dev/null +++ b/.github/workflows/linux.yaml @@ -0,0 +1,49 @@ +name: Test on Linux +on: + push: + pull_request: + +jobs: + test: + runs-on: ubuntu-20.04 + strategy: + matrix: + go: [1.15, 1.14, 1.13, 1.12, 1.11, 1.10] + mysql: [mysql:8.0] + include: + - go: 1.15 + mysql: mysql:5.7 + - go: 1.15 + mysql: mysql:5.5 + - go: 1.15 + mysql: mariadb:5.5 + - go: 1.15 + mysql: mariadb:10.1 + + services: + mysql: + image: ${{ matrix.mysql }} + ports: + - 3306:3306 + env: + MYSQL_DATABASE: gotest + MYSQL_USER: gotest + MYSQL_PASSWORD: secret + MYSQL_ALLOW_EMPTY_PASSWORD: yes + options: --innodb_log_file_size=256MB --innodb_buffer_pool_size=512MB --max_allowed_packet=16MB --local-infile=1 + + steps: + - uses: actions/setup-go@v2 + with: + go-version: ${{ matrix.go }} + - uses: actions/checkout@v2 + - name: Run test + env: + MYSQL_TEST_USER: gotest + MYSQL_TEST_PASS: secret + MYSQL_TEST_ADDR: 127.0.0.1:3307 + MYSQL_TEST_CONCURRENT: 1 + run: | + go test -v -covermode=count -coverprofile=coverage.out + go vet ./... + gofmt -d -s . From 3ee264cf0f702562477739f6e04091d244680168 Mon Sep 17 00:00:00 2001 From: Inada Naoki Date: Wed, 23 Dec 2020 20:43:21 +0900 Subject: [PATCH 5/8] fix --- .github/workflows/linux.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/linux.yaml b/.github/workflows/linux.yaml index 857bff111..1f3a53a0d 100644 --- a/.github/workflows/linux.yaml +++ b/.github/workflows/linux.yaml @@ -9,16 +9,16 @@ jobs: strategy: matrix: go: [1.15, 1.14, 1.13, 1.12, 1.11, 1.10] - mysql: [mysql:8.0] + mysql: ["mysql:8.0"] include: - go: 1.15 - mysql: mysql:5.7 + mysql: "mysql:5.7" - go: 1.15 - mysql: mysql:5.5 + mysql: "mysql:5.5" - go: 1.15 - mysql: mariadb:5.5 + mysql: "mariadb:5.5" - go: 1.15 - mysql: mariadb:10.1 + mysql: "mariadb:10.1" services: mysql: From 6551138e2ecd6903a59f811620fb31633e1d6802 Mon Sep 17 00:00:00 2001 From: Inada Naoki Date: Wed, 23 Dec 2020 20:46:04 +0900 Subject: [PATCH 6/8] fix --- .github/workflows/linux.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/linux.yaml b/.github/workflows/linux.yaml index 1f3a53a0d..94b21cc87 100644 --- a/.github/workflows/linux.yaml +++ b/.github/workflows/linux.yaml @@ -30,7 +30,8 @@ jobs: MYSQL_USER: gotest MYSQL_PASSWORD: secret MYSQL_ALLOW_EMPTY_PASSWORD: yes - options: --innodb_log_file_size=256MB --innodb_buffer_pool_size=512MB --max_allowed_packet=16MB --local-infile=1 + # How can we add these options? + #options: --innodb_log_file_size=256MB --innodb_buffer_pool_size=512MB --max_allowed_packet=16MB --local-infile=1 steps: - uses: actions/setup-go@v2 From 3b9341fca87f9da7ff2502abf81d1a95611cb36a Mon Sep 17 00:00:00 2001 From: Inada Naoki Date: Wed, 23 Dec 2020 20:48:00 +0900 Subject: [PATCH 7/8] fix go 1.10 --- .github/workflows/linux.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux.yaml b/.github/workflows/linux.yaml index 94b21cc87..c00bd72c4 100644 --- a/.github/workflows/linux.yaml +++ b/.github/workflows/linux.yaml @@ -8,7 +8,7 @@ jobs: runs-on: ubuntu-20.04 strategy: matrix: - go: [1.15, 1.14, 1.13, 1.12, 1.11, 1.10] + go: [1.15, 1.14, 1.13, 1.12, 1.11, "1.10"] mysql: ["mysql:8.0"] include: - go: 1.15 From 46355abd8d24305428c3e388e7bfac2e038eead9 Mon Sep 17 00:00:00 2001 From: Inada Naoki Date: Wed, 23 Dec 2020 20:52:21 +0900 Subject: [PATCH 8/8] Remove .travis.yml --- .travis.yml | 115 ---------------------------------------------------- 1 file changed, 115 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 4777a3e42..000000000 --- a/.travis.yml +++ /dev/null @@ -1,115 +0,0 @@ -language: go -go: - # Keep the most recent production release at the top - - 1.15.x - # Go development version - - master - # Older production releases - - 1.14.x - - 1.13.x - - 1.12.x - - 1.11.x - - 1.10.x - -before_install: - - go get golang.org/x/tools/cmd/cover - - go get github.com/mattn/goveralls - -before_script: - - echo -e "[server]\ninnodb_log_file_size=256MB\ninnodb_buffer_pool_size=512MB\nmax_allowed_packet=16MB" | sudo tee -a /etc/mysql/my.cnf - - sudo service mysql restart - - .travis/wait_mysql.sh - - mysql -e 'create database gotest;' - -jobs: - allow_failures: - - go: master - - include: - - env: DB=MYSQL8 - dist: xenial - go: 1.15.x - services: - - docker - before_install: - - go get golang.org/x/tools/cmd/cover - - go get github.com/mattn/goveralls - - docker pull mysql:8.0 - - docker run -d -p 127.0.0.1:3307:3306 --name mysqld -e MYSQL_DATABASE=gotest -e MYSQL_USER=gotest -e MYSQL_PASSWORD=secret -e MYSQL_ALLOW_EMPTY_PASSWORD=yes - mysql:8.0 --innodb_log_file_size=256MB --innodb_buffer_pool_size=512MB --max_allowed_packet=16MB --local-infile=1 - - cp .travis/docker.cnf ~/.my.cnf - - .travis/wait_mysql.sh - before_script: - - export cross_compile=false - - export MYSQL_TEST_USER=gotest - - export MYSQL_TEST_PASS=secret - - export MYSQL_TEST_ADDR=127.0.0.1:3307 - - export MYSQL_TEST_CONCURRENT=1 - - - env: DB=MYSQL57 - dist: xenial - go: 1.15.x - services: - - docker - before_install: - - go get golang.org/x/tools/cmd/cover - - go get github.com/mattn/goveralls - - docker pull mysql:5.7 - - docker run -d -p 127.0.0.1:3307:3306 --name mysqld -e MYSQL_DATABASE=gotest -e MYSQL_USER=gotest -e MYSQL_PASSWORD=secret -e MYSQL_ALLOW_EMPTY_PASSWORD=yes - mysql:5.7 --innodb_log_file_size=256MB --innodb_buffer_pool_size=512MB --max_allowed_packet=16MB --local-infile=1 - - cp .travis/docker.cnf ~/.my.cnf - - .travis/wait_mysql.sh - before_script: - - export cross_compile=false - - export MYSQL_TEST_USER=gotest - - export MYSQL_TEST_PASS=secret - - export MYSQL_TEST_ADDR=127.0.0.1:3307 - - export MYSQL_TEST_CONCURRENT=1 - - - env: DB=MARIA55 - dist: xenial - go: 1.15.x - services: - - docker - before_install: - - go get golang.org/x/tools/cmd/cover - - go get github.com/mattn/goveralls - - docker pull mariadb:5.5 - - docker run -d -p 127.0.0.1:3307:3306 --name mysqld -e MYSQL_DATABASE=gotest -e MYSQL_USER=gotest -e MYSQL_PASSWORD=secret -e MYSQL_ALLOW_EMPTY_PASSWORD=yes - mariadb:5.5 --innodb_log_file_size=256MB --innodb_buffer_pool_size=512MB --max_allowed_packet=16MB --local-infile=1 - - cp .travis/docker.cnf ~/.my.cnf - - .travis/wait_mysql.sh - before_script: - - export cross_compile=false - - export MYSQL_TEST_USER=gotest - - export MYSQL_TEST_PASS=secret - - export MYSQL_TEST_ADDR=127.0.0.1:3307 - - export MYSQL_TEST_CONCURRENT=1 - - - env: DB=MARIA10_1 - dist: xenial - go: 1.15.x - services: - - docker - before_install: - - go get golang.org/x/tools/cmd/cover - - go get github.com/mattn/goveralls - - docker pull mariadb:10.1 - - docker run -d -p 127.0.0.1:3307:3306 --name mysqld -e MYSQL_DATABASE=gotest -e MYSQL_USER=gotest -e MYSQL_PASSWORD=secret -e MYSQL_ALLOW_EMPTY_PASSWORD=yes - mariadb:10.1 --innodb_log_file_size=256MB --innodb_buffer_pool_size=512MB --max_allowed_packet=16MB --local-infile=1 - - cp .travis/docker.cnf ~/.my.cnf - - .travis/wait_mysql.sh - before_script: - - export cross_compile=false - - export MYSQL_TEST_USER=gotest - - export MYSQL_TEST_PASS=secret - - export MYSQL_TEST_ADDR=127.0.0.1:3307 - - export MYSQL_TEST_CONCURRENT=1 - -script: - - go test -v -covermode=count -coverprofile=coverage.out - - go vet ./... - - .travis/gofmt.sh - - if [ "$cross_compile" != "false" ]; then .travis/compile_check.sh; fi -after_script: - - $HOME/gopath/bin/goveralls -coverprofile=coverage.out -service=travis-ci