Merge pull request #1764 from codysoyland/arm64-support

Fix arm64 support
This commit is contained in:
Cody Soyland 2018-11-30 11:12:12 -06:00 committed by GitHub
commit dfb748ec5b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 87 additions and 32 deletions

View file

@ -7,7 +7,7 @@ fast-checkout: &fast-checkout
attach_workspace:
at: .
jobs:
build:
setup:
<<: *defaults
steps:
- checkout
@ -30,6 +30,14 @@ jobs:
- run: gometalinter --install
- run: go get github.com/remyoudompheng/go-misc/deadcode
- run: make gometalinter
test-build-arm:
<<: *defaults
steps:
- *fast-checkout
- run: make build GOOS=linux GOARCH=arm GOARM=5
- run: make build GOOS=linux GOARCH=arm GOARM=6
- run: make build GOOS=linux GOARCH=arm GOARM=7
- run: make build GOOS=linux GOARCH=arm64
test-golang-1.11: &base-test
<<: *defaults
steps:
@ -100,25 +108,28 @@ workflows:
version: 2
test:
jobs:
- build
- setup
- linter:
requires:
- build
- setup
- test-build-arm:
requires:
- setup
- test-golang-1.11:
requires:
- build
- setup
- test-golang-1.11-race:
requires:
- build
- setup
- test-golang-1.11-386:
requires:
- build
- setup
- test-golang-1.10:
requires:
- build
- setup
- cluster-tests:
requires:
- build
- setup
- prerelease:
requires:
- linter

View file

@ -174,30 +174,6 @@ func (m *Command) Wait() error {
}
}
// setupLogger sets up the logger based on the configuration.
func (m *Command) setupLogger() error {
if m.Config.LogPath == "" {
m.logOutput = m.Stderr
} else {
f, err := os.OpenFile(m.Config.LogPath, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0600)
if err != nil {
return errors.Wrap(err, "opening file")
}
m.logOutput = f
err = syscall.Dup2(int(f.Fd()), int(os.Stderr.Fd()))
if err != nil {
return errors.Wrap(err, "dup2ing stderr onto logfile")
}
}
if m.Config.Verbose {
m.logger = logger.NewVerboseLogger(m.logOutput)
} else {
m.logger = logger.NewStandardLogger(m.logOutput)
}
return nil
}
// SetupServer uses the cluster configuration to set up this server.
func (m *Command) SetupServer() error {
err := m.setupLogger()

35
server/setup_logger.go Normal file
View file

@ -0,0 +1,35 @@
// +build !arm64
package server
import (
"os"
"syscall"
"github.com/pilosa/pilosa/logger"
"github.com/pkg/errors"
)
// setupLogger sets up the logger based on the configuration.
func (m *Command) setupLogger() error {
if m.Config.LogPath == "" {
m.logOutput = m.Stderr
} else {
f, err := os.OpenFile(m.Config.LogPath, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0600)
if err != nil {
return errors.Wrap(err, "opening file")
}
m.logOutput = f
err = syscall.Dup2(int(f.Fd()), int(os.Stderr.Fd()))
if err != nil {
return errors.Wrap(err, "dup2ing stderr onto logfile")
}
}
if m.Config.Verbose {
m.logger = logger.NewVerboseLogger(m.logOutput)
} else {
m.logger = logger.NewStandardLogger(m.logOutput)
}
return nil
}

View file

@ -0,0 +1,33 @@
package server
import (
"os"
"syscall"
"github.com/pilosa/pilosa/logger"
"github.com/pkg/errors"
)
// setupLogger sets up the logger based on the configuration.
func (m *Command) setupLogger() error {
if m.Config.LogPath == "" {
m.logOutput = m.Stderr
} else {
f, err := os.OpenFile(m.Config.LogPath, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0600)
if err != nil {
return errors.Wrap(err, "opening file")
}
m.logOutput = f
err = syscall.Dup3(int(f.Fd()), int(os.Stderr.Fd()), 0)
if err != nil {
return errors.Wrap(err, "dup2ing stderr onto logfile")
}
}
if m.Config.Verbose {
m.logger = logger.NewVerboseLogger(m.logOutput)
} else {
m.logger = logger.NewStandardLogger(m.logOutput)
}
return nil
}