Releases: travis-ci/worker
Releases · travis-ci/worker
2.6.1 - 2017-01-23
Fixed
- processor: open log writer early, prevent panic
2.6.0 - 2017-01-17
Security
- update to go
v1.7.4
Added
- cli: log processor pool total on shutdown
- amqp_job: meter for job finish state (#184)
- amqp_job: track queue time via queued_at field from payload
- amqp_job_queue: log job id immediately after json decode
- capture every requeue and send the error to sentry
Changed
- image/api_selector: selection of candidates by multiple groups
- amqp_canceller: change verbosity of canceller missing job id to debug
- docker: SIGINT
STOPSIGNAL
for graceful shutdown
Fixed
- processor: always mark job as done when Run finishes
- processor: use errors.Cause when checking error values
- backend/jupiterbrain: parse SSH key on backend init (#206)
- backend/jupiterbrain: add sleep between creating and wait-for-ip
- backend/docker: run bash with
-l
(login shell) in docker native mode - image/api_selector: check job-board response status code on image selection
- image/api_selector: check tagsets for trailing commas before querying job-board
- amqp_job_queue: handle context cancellation when delivering build job
- ssh: request a 80x40 PTY
2.5.0 - 2016-10-03
Added
- support for heartbeat URL checks a la legacy
worker - max build log length is now configurable
- alpine-based Docker image
- added runtime-configurable script hooks.
Changed
- check flags and env vars for start and stop hooks
Fixed
- Handling
"false"
as a valid boolean false-y value - logging for start/stop hooks is clearer now
- logging for jupiter-brain boot timeouts is more verbose
- AMQP connections get cleaned up as part of graceful shutdowns
2.4.0 - 2016-09-08
Added
- backend/cloudbrain
- backend/docker: "native" script upload and execution option
- backend/gce: Support for instances without public IPs
- handle
SIGWINCH
by gracefully shutting down processor pool and pausing
Changed
- (really) static binaries built on go 1.7.1, cross compiled natively
- step/run-script: Add a new line with a link to the docs explaining
travis_wait
when there's a log timeout error. - switch to keepachangelog format
- upgrade all dependencies
- backend/jupiterbrain: improved error logging via
pkg/errors
Removed
- Using goxc for cross-compilation
- amqp-job: logging channel struct
Fixed
- Handling
"false"
as a valid boolean false-y value
2.3.1 (May 30, 2016)
IMPROVEMENTS:
- backend/gce: Allow the per-job hard timeout sent from scheduler to be
longer than the global GCE hard timeout.
BUG FIXES:
- package/rpm: Fix the systemd service file so the Worker can start.
2.3.0 (April 12th, 2016)
FEATURES:
- backend/gce: Add support for separate project ID for images via
IMAGE_PROJECT_ID
env var.
IMPROVEMENTS:
- amqp-job: Add support for custom amqp TLS certificates via
--amqp-tls-cert
and--amqp-tls-cert-path
options.
BUG FIXES:
- backend/gce: Requeue jobs on preempted instances (instances preemptively
shutdown by gce).
2.2.0 (February 1st, 2016)
IMPROVEMENTS:
- backend/gce: switched out rate limiter with Redis-backed rate limiter
- backend/gce: create a pseudo-terminal that's 80 wide by 40 high instead of 40 wide by 80 high
- backend/gce: make using preemptible instances configurable
- build: switch to Go 1.5.2 for Travis CI builds
- cli: add config option (
--amqp-insecure
) to connect to AMQP without verifying TLS certificates
2.1.0 (December 15th, 2015)
FEATURES:
- backend/gce: Add support for a "premium" VM type.
IMPROVEMENTS:
- cli: Show current status and last job id via
SIGUSR1
. - backend/gce: Use
multistep
during instance creation and deletion. - backend/gce: Allow configuration of script upload and startup timeouts.
- backend/gce: Various improvements to minimize API usage:
- Exponential backoff while stopping instance.
- Add option to skip API polling after initial instance delete call.
- Add metrics to track API polling for instance readiness.
- Cache the instance IP address as soon as it is available.
- Add ticker-based rate limiting.
- backend/gce: Generate SSH key pair internally.
- amqp-job: Track metrics for (started - received) duration.
- cli: Add more percentiles to Librato config.
- config: DRY up the relationship between config struct & cli flags.
BUG FIXES:
- backend/jupiterbrain: Ensure image name is present in instance line of
worker summary. - backend/docker: Pass resource limitations in
HostConfig
. - backend/docker: Prioritize language tags over default image.
2.0.0 (December 9th, 2015)
FEATURES:
- step/open-log-writer: Display revision URL and startup time in worker info
header.
IMPROVEMENTS:
- Use goxc for cross-compilation, constrained to
linux amd64
anddarwin amd64
. - backend/gce: Tweaks to minimize API calls, including:
- Add a sleep interval for before first zone operation check.
- Break out of instance readiness when
RUNNING
orDONE
, depending
on script upload SSH connectivity for true instance readiness. - Increase default script upload retries to 120.
- Decrease default script upload sleep interval to 1s.
- backend/gce: Remove legacy image selection method and configuration.
BUG FIXES:
- step/run-script: Mark jobs as
errored
when log limit is exceeded,
preventing infinite requeue.
1.4.0 (December 3rd, 2015)
FEATURES:
- backend/docker: Allow disabling the CPU and RAM allocations by setting the
config options to 0 (this was possible in previous versions, but was not
documented or supported until now)
IMPROVEMENTS:
- backend/gce: Send job ID and repository slug to image selector to help in
log correlation - sentry: Only send fatal and panic levels to Sentry, with an option for
sending errors as well (--sentry-hook-errors) - image/api_selector: Send os:osx instead of the language when querying for
an image matching an osx_image flag
BUG FIXES:
- amqp_job: Send correct received_at and started_at timestamps to hub in
the case of the job finishing before the received or started event is sent