1
0
mirror of https://github.com/cmur2/dyndnsd.git synced 2025-08-08 08:33:56 +02:00

Compare commits

...

38 Commits

Author SHA1 Message Date
Christian Nicolai
70ec21af94 release: 3.3.1 2021-02-18 11:26:48 +01:00
Christian Nicolai
920d82f073 docker: allow successful compiling of nio4r gem dependency
- now seems to need linux-headers, see https://github.com/socketry/nio4r/issues/225
2021-02-18 11:25:05 +01:00
Christian Nicolai
dee9beb4e0 docker: update base image to Alpine 3.13.2 2021-02-18 11:24:46 +01:00
depfu[bot]
08e92a0772 gems: update rubocop to version 1.10.0 2021-02-16 16:59:56 +01:00
depfu[bot]
eb1c107bf3 gems: update rubocop-rspec to version 2.2.0 2021-02-04 10:11:51 +01:00
depfu[bot]
a75d9dc5e6 gems: update rubocop to version 1.9.0 2021-01-29 14:29:56 +01:00
depfu[bot]
3af42e4c20 gems: update rubocop to version 1.8.1 2021-01-18 20:52:11 +01:00
Christian Nicolai
aae2a633c5 release: 3.3.0 2021-01-18 15:08:25 +01:00
Christian Nicolai
c7aed4353a docker: update base image to Alpine 3.13 2021-01-18 15:06:56 +01:00
cn
c335a96e12 release: 3.2.0 2021-01-14 11:04:50 +01:00
cn
c2ed69da6d ci: use bundler cache to save resources
- see https://github.com/ruby/setup-ruby#caching-bundle-install-automatically
2020-12-26 15:19:20 +01:00
depfu[bot]
b2d421154e gems: update rubocop to version 1.7.0 2020-12-26 14:25:30 +01:00
cn
5444782ead gems: include rubocop-rspec and fix linting 2020-12-25 18:05:41 +01:00
cn
1c1bcd253a gems: include rubocop-rake and fix linting 2020-12-25 18:04:59 +01:00
cn
23c09f722c gem: add Ruby 3.0 support 2020-12-25 16:45:51 +01:00
cn
e29b451de4 gems: revert back to upstream solargraph now with rubocop 1.0 compat
See https://github.com/castwide/solargraph/issues/380 and previous commit e063b6cb4c
2020-12-25 16:25:45 +01:00
cn
d89c1c6091 release: 3.1.3 2020-12-20 22:18:20 +01:00
cn
2a7ea2bb8f ci: use Github environment files (fix part 2)
- fixing vulnerability via https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#environment-files
2020-12-20 22:15:39 +01:00
cn
94823dc041 release: 3.1.2 2020-12-20 22:05:13 +01:00
depfu[bot]
4c25b9b66b gems: update rubocop to version 1.6.1 2020-12-11 11:47:05 +01:00
cn
fb42c57ff1 ci: drop Travis CI
- end of an era
2020-12-10 11:04:23 +01:00
Christian Nicolai
268e18f2e5 ci: allow manually triggering CI run on GHA 2020-12-04 09:07:09 +01:00
cn
e8e9e0cb71 ci: use GHA ruby/setup-ruby instead of broken actions/setup-ruby
- actions/setup-ruby does not work on new GHA runners Ubuntu 20.04 (missing bundler in 2.5) as per https://github.com/actions/setup-ruby/issues/70
- might be deprecated as per https://github.com/actions/setup-ruby/issues/80
- https://github.com/ruby/setup-ruby is recommended is superior
2020-12-04 09:04:23 +01:00
depfu[bot]
8819d6058a gems: update rubocop to version 1.5.1 2020-12-03 21:25:14 +01:00
cn
dc325d686e ci: use Github Actions in parallel to Travis CI
- this adds a new workflow for Github Actions that mirrors what the existing Travis CI workflow tests
- Travis CI might become unfriendly to opensource soonish so migration might be necessary
2020-11-25 09:39:55 +01:00
depfu[bot]
f0aeea96d4 gems: update rubocop to version 1.4.1 2020-11-24 20:55:22 +01:00
cn
ff136f7b16 ci: add periodic pulling of all Docker image tags to avoid staleness 2020-11-19 11:05:26 +01:00
depfu[bot]
377a6ac179 gems: update rubocop to version 1.3.0 2020-11-13 11:32:34 +01:00
depfu[bot]
2cc45e5c0f gems: update rubocop to version 1.2.0 2020-11-06 10:57:59 +01:00
cn
19683672d1 docs: use travis-ci.com links 2020-10-31 00:04:51 +01:00
cn
4c1fb5783d gem: fix new solargraph warning 2020-10-31 00:04:01 +01:00
cn
d8f5618006 gem: fix new rubocop warnings 2020-10-31 00:04:01 +01:00
cn
e063b6cb4c gems: use solargraph fork until gem metadata allows rubocop 1.0 compat
See https://github.com/castwide/solargraph/issues/380
2020-10-31 00:04:01 +01:00
depfu[bot]
f64bcc0780 gems: update rubocop to version 1.1.0 2020-10-31 00:04:01 +01:00
depfu[bot]
568ea08543 gems: update rubocop to version 1.0.0 2020-10-22 15:55:39 +02:00
depfu[bot]
5c16524788 gems: update rubocop to version 0.93.0 2020-10-10 16:45:54 +02:00
cn
d1c1a98e47 ci: use Github environment files
- fixing vulnerability via https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#environment-files
2020-10-08 12:32:44 +02:00
d62bf71820 ci: ignore false-positive 3rd party lockfiles for trivy 2020-10-08 12:29:35 +02:00
15 changed files with 110 additions and 28 deletions

View File

@@ -13,7 +13,7 @@ jobs:
- uses: actions/checkout@v2
- name: Extract dyndnsd version from tag name
run: |
echo ::set-env name=DYNDNSD_VERSION::${GITHUB_REF#refs/*/v}
echo "DYNDNSD_VERSION=${GITHUB_REF#refs/*/v}" >> $GITHUB_ENV
# https://github.com/marketplace/actions/build-and-push-docker-images
- name: Build and push Docker image for dyndnsd ${{ env.DYNDNSD_VERSION }}
uses: docker/build-push-action@v1

32
.github/workflows/ci.yml vendored Normal file
View File

@@ -0,0 +1,32 @@
---
name: ci
on:
push:
branches: [master]
pull_request:
branches: [master]
workflow_dispatch:
schedule:
- cron: '35 4 * * 4' # weekly on thursday morning
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
ruby-version:
- '2.5'
- '2.6'
- '2.7'
- '3.0'
steps:
- uses: actions/checkout@v2
- name: Set up Ruby ${{ matrix.ruby-version }}
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby-version }}
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- name: Lint and Test
run: |
bundle exec rake ci

19
.github/workflows/dockerhub.yml vendored Normal file
View File

@@ -0,0 +1,19 @@
---
name: dockerhub
on:
schedule:
- cron: '7 4 * * 4' # weekly on thursday morning
workflow_dispatch:
jobs:
pull-released-dockerimages:
runs-on: ubuntu-latest
steps:
- name: Avoid stale tags by pulling
run: |
ALL_IMAGES="$(curl -s https://hub.docker.com/v2/repositories/cmur2/dyndnsd/tags?page_size=1000 | jq -r '.results[].name | "cmur2/dyndnsd:" + .' | grep -e 'cmur2/dyndnsd:v')"
for image in $ALL_IMAGES; do
echo "Pulling $image to avoid staleness..."
docker pull "$image"
done

View File

@@ -17,14 +17,14 @@ jobs:
- name: Install Trivy
run: |
mkdir -p $GITHUB_WORKSPACE/bin
echo "::add-path::$GITHUB_WORKSPACE/bin"
echo "$GITHUB_WORKSPACE/bin" >> "$GITHUB_PATH"
curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/master/contrib/install.sh | sh -s -- -b $GITHUB_WORKSPACE/bin
- name: Download Trivy DB
run: |
trivy image --download-db-only
- name: Scan vulnerabilities using Trivy
env:
TRIVY_SKIP_DIRS: '/usr/lib/ruby/gems/2.7.0/gems/jaeger-client-0.10.0/crossdock,/usr/lib/ruby/gems/2.7.0/gems/jaeger-client-1.0.0/crossdock'
TRIVY_SKIP_DIRS: 'usr/lib/ruby/gems/2.7.0/gems/jaeger-client-0.10.0/crossdock,usr/lib/ruby/gems/2.7.0/gems/jaeger-client-1.0.0/crossdock,usr/lib/ruby/gems/2.7.0/gems/jaeger-client-1.1.0/crossdock'
run: |
trivy --version

View File

@@ -1,3 +1,7 @@
require:
- rubocop-rake
- rubocop-rspec
AllCops:
TargetRubyVersion: '2.5'
NewCops: enable
@@ -86,3 +90,9 @@ Style/SymbolArray:
Style/TrailingCommaInArrayLiteral:
Enabled: false
RSpec/ExampleLength:
Max: 20
RSpec/MultipleExpectations:
Max: 20

View File

@@ -1,13 +0,0 @@
---
os: linux
language: ruby
rvm:
- 2.7
- 2.6
- 2.5
services:
- docker
script:
- bundle exec rake travis

View File

@@ -1,6 +1,37 @@
# Changelog
## 3.1.1 (october 3, 2020)
## 3.3.1 (February 18, 2021)
OTHER:
- update base of Docker image to Alpine 3.13.2 to fix security vulnerabilities
## 3.3.0 (January 18, 2021)
OTHER:
- update base of Docker image to Alpine 3.13
## 3.2.0 (January 14, 2021)
IMPROVEMENTS:
- Add Ruby 3.0 support
## 3.1.3 (December 20, 2020)
OTHER:
- fix Docker image release process in Github Actions CI, 3.1.2 was not released as a Docker image
## 3.1.2 (December 20, 2020)
OTHER:
- fixes vulnerabilities in Docker image by using updated Alpine base image
- start using Github Actions CI for tests and drop Travis CI
## 3.1.1 (October 3, 2020)
IMPROVEMENTS:

View File

@@ -1,6 +1,6 @@
# dyndnsd.rb
[![Build Status](https://travis-ci.org/cmur2/dyndnsd.svg?branch=master)](https://travis-ci.org/cmur2/dyndnsd) [![Dependencies](https://badges.depfu.com/badges/4f25da8493f7a29f652ac892fbf9227b/overview.svg)](https://depfu.com/github/cmur2/dyndnsd)
![ci](https://github.com/cmur2/dyndnsd/workflows/ci/badge.svg) [![Dependencies](https://badges.depfu.com/badges/4f25da8493f7a29f652ac892fbf9227b/overview.svg)](https://depfu.com/github/cmur2/dyndnsd)
A small, lightweight and extensible DynDNS server written with Ruby and Rack.

View File

@@ -28,4 +28,5 @@ end
task default: [:rubocop, :spec, 'bundle:audit', :solargraph]
task travis: ['solargraph:init', :default, :hadolint]
desc 'Run all tasks desired for CI'
task ci: ['solargraph:init', :default, :hadolint]

View File

@@ -1,12 +1,12 @@
FROM alpine:3.12
FROM alpine:3.13.2
EXPOSE 5353 8080
ARG DYNDNSD_VERSION=3.0.0
ARG DYNDNSD_VERSION=3.3.1
RUN apk --no-cache add openssl ca-certificates && \
apk --no-cache add ruby ruby-etc ruby-io-console ruby-json ruby-webrick && \
apk --no-cache add --virtual .build-deps ruby-dev build-base tzdata && \
apk --no-cache add --virtual .build-deps linux-headers ruby-dev build-base tzdata && \
gem install --no-document dyndnsd -v ${DYNDNSD_VERSION} && \
# set timezone to Berlin
cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime && \

View File

@@ -40,6 +40,8 @@ Gem::Specification.new do |s|
s.add_development_dependency 'rack-test'
s.add_development_dependency 'rake'
s.add_development_dependency 'rspec'
s.add_development_dependency 'rubocop', '~> 0.92.0'
s.add_development_dependency 'solargraph'
s.add_development_dependency 'rubocop', '~> 1.10.0'
s.add_development_dependency 'rubocop-rake', '~> 0.5.1'
s.add_development_dependency 'rubocop-rspec', '~> 2.2.0'
s.add_development_dependency 'solargraph', '~> 0.40.0'
end

View File

@@ -60,7 +60,7 @@ module Dyndnsd
message: e.message,
stack: e.backtrace&.join("\n") || ''
)
raise
raise e
ensure
scope.close
end

View File

@@ -18,7 +18,7 @@ module Dyndnsd
@registry = options[:registry] || Metriks::Registry.default
@interval = options[:interval] || 60
@on_error = options[:on_error] || proc { |ex| }
@on_error = options[:on_error] || proc { |ex| } # default: ignore errors
end
# @return [void]

View File

@@ -1,5 +1,5 @@
# frozen_string_literal: true
module Dyndnsd
VERSION = '3.1.1'
VERSION = '3.3.1'
end

View File

@@ -1,6 +1,6 @@
# frozen_string_literal: true
require_relative 'spec_helper'
require_relative '../spec_helper'
describe Dyndnsd::Daemon do
include Rack::Test::Methods