Skip to content

Merge pull request #1093 from minimum2scp/features/nodejs-20.9.0 #2429

Merge pull request #1093 from minimum2scp/features/nodejs-20.9.0

Merge pull request #1093 from minimum2scp/features/nodejs-20.9.0 #2429

Workflow file for this run

name: CI
on: [push]
jobs:
debian:
name: debian
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# setup ruby
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
# run test
- run: bundle exec rspec spec/debian
# no need to save image as artifact
# no need to push image
baseimage:
name: baseimage
runs-on: ubuntu-latest
steps:
- run: sudo apt-get update
- run: sudo apt-get install -y --no-install-recommends pigz
# build image
- uses: actions/checkout@v4
- run: docker build -t minimum2scp/baseimage:latest baseimage
# setup ruby
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
# run test
- run: bundle exec rspec spec/baseimage
# save image as artifact
- run: docker save minimum2scp/baseimage:latest | pigz -c - > /tmp/baseimage.tar.gz
- uses: actions/upload-artifact@v3
with: { name: baseimage, path: /tmp/baseimage.tar.gz }
# push image to docker hub
- run: docker login -u minimum2scp -p ${{ secrets.DOCKERHUB_TOKEN }}
if: github.ref == 'refs/heads/master'
- run: docker push minimum2scp/baseimage:latest
if: github.ref == 'refs/heads/master'
ruby:
name: ruby
runs-on: ubuntu-latest
needs: [baseimage]
steps:
- run: sudo apt-get update
- run: sudo apt-get install -y --no-install-recommends pigz
# load parent image
- uses: actions/download-artifact@v3
with: { name: baseimage, path: /tmp }
- run: pigz -c -d /tmp/baseimage.tar.gz | docker load
# build image
- uses: actions/checkout@v4
- run: docker build -t minimum2scp/ruby:latest ruby
# setup ruby
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
# run test
- run: bundle exec rspec spec/ruby
# save image as artifact
- run: docker save minimum2scp/ruby:latest | pigz -c - > /tmp/ruby.tar.gz
- uses: actions/upload-artifact@v3
with: { name: ruby, path: /tmp/ruby.tar.gz }
# push image to docker hub
- run: docker login -u minimum2scp -p ${{ secrets.DOCKERHUB_TOKEN }}
if: github.ref == 'refs/heads/master'
- run: docker push minimum2scp/ruby:latest
if: github.ref == 'refs/heads/master'
nodejs:
name: nodejs
runs-on: ubuntu-latest
needs: [baseimage]
steps:
- run: sudo apt-get update
- run: sudo apt-get install -y --no-install-recommends pigz
# load parent image
- uses: actions/download-artifact@v3
with: { name: baseimage, path: /tmp }
- run: pigz -c -d /tmp/baseimage.tar.gz | docker load
# build image
- uses: actions/checkout@v4
- run: docker build -t minimum2scp/nodejs:latest nodejs
# setup ruby
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
# run test
- run: bundle exec rspec spec/nodejs
# no need to save image as artifact
# push image to docker hub
- run: docker login -u minimum2scp -p ${{ secrets.DOCKERHUB_TOKEN }}
if: github.ref == 'refs/heads/master'
- run: docker push minimum2scp/nodejs:latest
if: github.ref == 'refs/heads/master'
es-kibana:
name: es-kibana
runs-on: ubuntu-latest
needs: [baseimage]
steps:
- run: sudo apt-get update
- run: sudo apt-get install -y --no-install-recommends pigz
# load parent image
- uses: actions/download-artifact@v3
with: { name: baseimage, path: /tmp }
- run: pigz -c -d /tmp/baseimage.tar.gz | docker load
# build image
- uses: actions/checkout@v4
- run: docker build -t minimum2scp/es-kibana:latest es-kibana
# setup ruby
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
# https://www.elastic.co/guide/en/elasticsearch/reference/current/vm-max-map-count.html
- run: sudo sysctl -w vm.max_map_count=262144
# run test
- run: bundle exec rspec spec/es-kibana
# no need to save image as artifact
# push image to docker hub
- run: docker login -u minimum2scp -p ${{ secrets.DOCKERHUB_TOKEN }}
if: github.ref == 'refs/heads/master'
- run: docker push minimum2scp/es-kibana:latest
if: github.ref == 'refs/heads/master'
systemd:
name: systemd
runs-on: ubuntu-latest
needs: [baseimage]
steps:
- run: sudo apt-get update
- run: sudo apt-get install -y --no-install-recommends pigz
# load parent image
- uses: actions/download-artifact@v3
with: { name: baseimage, path: /tmp }
- run: pigz -c -d /tmp/baseimage.tar.gz | docker load
# build image
- uses: actions/checkout@v4
- run: docker build -t minimum2scp/systemd:latest systemd
# setup ruby
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
# run test
- run: bundle exec rspec spec/systemd
# no need to save image as artifact
# push image to docker hub
- run: docker login -u minimum2scp -p ${{ secrets.DOCKERHUB_TOKEN }}
if: github.ref == 'refs/heads/master'
- run: docker push minimum2scp/systemd:latest
if: github.ref == 'refs/heads/master'
squid:
name: squid
runs-on: ubuntu-latest
needs: [baseimage]
steps:
- run: sudo apt-get update
- run: sudo apt-get install -y --no-install-recommends pigz
# load parent image
- uses: actions/download-artifact@v3
with: { name: baseimage, path: /tmp }
- run: pigz -c -d /tmp/baseimage.tar.gz | docker load
# build image
- uses: actions/checkout@v4
- run: docker build -t minimum2scp/squid:latest squid
# setup ruby
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
# run test
- run: bundle exec rspec spec/squid
# no need to save image as artifact
# push image to docker hub
- run: docker login -u minimum2scp -p ${{ secrets.DOCKERHUB_TOKEN }}
if: github.ref == 'refs/heads/master'
- run: docker push minimum2scp/squid:latest
if: github.ref == 'refs/heads/master'
norikra:
name: norikra
runs-on: ubuntu-latest
needs: [ruby]
steps:
- run: sudo apt-get update
- run: sudo apt-get install -y --no-install-recommends pigz
# load parent image
- uses: actions/download-artifact@v3
with: { name: ruby, path: /tmp }
- run: pigz -c -d /tmp/ruby.tar.gz | docker load
# build image
- uses: actions/checkout@v4
- run: docker build -t minimum2scp/norikra:latest norikra
# setup ruby
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
# run test
- run: bundle exec rspec spec/norikra
# no need to save image as artifact
# push image to docker hub
- run: docker login -u minimum2scp -p ${{ secrets.DOCKERHUB_TOKEN }}
if: github.ref == 'refs/heads/master'
- run: docker push minimum2scp/norikra:latest
if: github.ref == 'refs/heads/master'
ruby-full:
name: ruby-full
runs-on: ubuntu-latest
needs: [ruby]
steps:
- run: sudo apt-get update
- run: sudo apt-get install -y --no-install-recommends pigz
# load parent image
- uses: actions/download-artifact@v3
with: { name: ruby, path: /tmp }
- run: pigz -c -d /tmp/ruby.tar.gz | docker load
# build image
- uses: actions/checkout@v4
- run: docker build -t minimum2scp/ruby-full:latest ruby-full
# setup ruby
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
# run test
- run: bundle exec rspec spec/ruby-full
# no need to save image as artifact
# push image to docker hub
- run: docker login -u minimum2scp -p ${{ secrets.DOCKERHUB_TOKEN }}
if: github.ref == 'refs/heads/master'
- run: docker push minimum2scp/ruby-full:latest
if: github.ref == 'refs/heads/master'
rails7:
name: rails7
runs-on: ubuntu-latest
needs: [ruby]
steps:
- run: sudo apt-get update
- run: sudo apt-get install -y --no-install-recommends pigz
# load parent image
- uses: actions/download-artifact@v3
with: { name: ruby, path: /tmp }
- run: pigz -c -d /tmp/ruby.tar.gz | docker load
# build image
- uses: actions/checkout@v4
- run: docker build -t minimum2scp/rails7:latest rails7
# setup ruby
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
# run test
- run: bundle exec rspec spec/rails7
# no need to save image as artifact
# push image to docker hub
- run: docker login -u minimum2scp -p ${{ secrets.DOCKERHUB_TOKEN }}
if: github.ref == 'refs/heads/master'
- run: docker push minimum2scp/rails7:latest
if: github.ref == 'refs/heads/master'
tdiary:
name: tdiary
runs-on: ubuntu-latest
needs: [ruby]
steps:
- run: sudo apt-get update
- run: sudo apt-get install -y --no-install-recommends pigz
# load parent image
- uses: actions/download-artifact@v3
with: { name: ruby, path: /tmp }
- run: pigz -c -d /tmp/ruby.tar.gz | docker load
# build image
- uses: actions/checkout@v4
- run: docker build -t minimum2scp/tdiary:latest tdiary
# setup ruby
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
# run test
- run: bundle exec rspec spec/tdiary
# no need to save image as artifact
# push image to docker hub
- run: docker login -u minimum2scp -p ${{ secrets.DOCKERHUB_TOKEN }}
if: github.ref == 'refs/heads/master'
- run: docker push minimum2scp/tdiary:latest
if: github.ref == 'refs/heads/master'
debian-bookworm:
name: debian-bookworm
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# setup ruby
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
# run test
- run: bundle exec rspec spec/debian-bookworm
# no need to save image as artifact
# no need to push image
baseimage-bookworm:
name: baseimage-bookworm
runs-on: ubuntu-latest
steps:
- run: sudo apt-get update
- run: sudo apt-get install -y --no-install-recommends pigz
# build image
- uses: actions/checkout@v4
- run: docker build -t minimum2scp/baseimage-bookworm:latest baseimage-bookworm
# setup ruby
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
# run test
- run: bundle exec rspec spec/baseimage-bookworm
# save image as artifact
- run: docker save minimum2scp/baseimage-bookworm:latest | pigz -c - > /tmp/baseimage-bookworm.tar.gz
- uses: actions/upload-artifact@v3
with: { name: baseimage-bookworm, path: /tmp/baseimage-bookworm.tar.gz }
# push image to docker hub
- run: docker login -u minimum2scp -p ${{ secrets.DOCKERHUB_TOKEN }}
if: github.ref == 'refs/heads/master'
- run: docker push minimum2scp/baseimage-bookworm:latest
if: github.ref == 'refs/heads/master'
ruby-bookworm:
name: ruby-bookworm
runs-on: ubuntu-latest
needs: [baseimage-bookworm]
steps:
- run: sudo apt-get update
- run: sudo apt-get install -y --no-install-recommends pigz
# load parent image
- uses: actions/download-artifact@v3
with: { name: baseimage-bookworm, path: /tmp }
- run: pigz -c -d /tmp/baseimage-bookworm.tar.gz | docker load
# build image
- uses: actions/checkout@v4
- run: docker build -t minimum2scp/ruby-bookworm:latest ruby-bookworm
# setup ruby
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
# run test
- run: bundle exec rspec spec/ruby-bookworm
# no need to save image as artifact
# push image to docker hub
- run: docker login -u minimum2scp -p ${{ secrets.DOCKERHUB_TOKEN }}
if: github.ref == 'refs/heads/master'
- run: docker push minimum2scp/ruby-bookworm:latest
if: github.ref == 'refs/heads/master'
systemd-bookworm:
name: systemd-bookworm
runs-on: ubuntu-latest
needs: [baseimage-bookworm]
steps:
- run: sudo apt-get update
- run: sudo apt-get install -y --no-install-recommends pigz
# load parent image
- uses: actions/download-artifact@v3
with: { name: baseimage-bookworm, path: /tmp }
- run: pigz -c -d /tmp/baseimage-bookworm.tar.gz | docker load
# build image
- uses: actions/checkout@v4
- run: docker build -t minimum2scp/systemd-bookworm:latest systemd-bookworm
# setup ruby
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
# run test
- run: bundle exec rspec spec/systemd-bookworm
# no need to save image as artifact
# push image to docker hub
- run: docker login -u minimum2scp -p ${{ secrets.DOCKERHUB_TOKEN }}
if: github.ref == 'refs/heads/master'
- run: docker push minimum2scp/systemd-bookworm:latest
if: github.ref == 'refs/heads/master'
debian-bullseye:
name: debian-bullseye
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# setup ruby
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
# run test
- run: bundle exec rspec spec/debian-bullseye
# no need to save image as artifact
# no need to push image
baseimage-bullseye:
name: baseimage-bullseye
runs-on: ubuntu-latest
steps:
- run: sudo apt-get update
- run: sudo apt-get install -y --no-install-recommends pigz
# build image
- uses: actions/checkout@v4
- run: docker build -t minimum2scp/baseimage-bullseye:latest baseimage-bullseye
# setup ruby
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
# run test
- run: bundle exec rspec spec/baseimage-bullseye
# save image as artifact
- run: docker save minimum2scp/baseimage-bullseye:latest | pigz -c - > /tmp/baseimage-bullseye.tar.gz
- uses: actions/upload-artifact@v3
with: { name: baseimage-bullseye, path: /tmp/baseimage-bullseye.tar.gz }
# push image to docker hub
- run: docker login -u minimum2scp -p ${{ secrets.DOCKERHUB_TOKEN }}
if: github.ref == 'refs/heads/master'
- run: docker push minimum2scp/baseimage-bullseye:latest
if: github.ref == 'refs/heads/master'
ruby-bullseye:
name: ruby-bullseye
runs-on: ubuntu-latest
needs: [baseimage-bullseye]
steps:
- run: sudo apt-get update
- run: sudo apt-get install -y --no-install-recommends pigz
# load parent image
- uses: actions/download-artifact@v3
with: { name: baseimage-bullseye, path: /tmp }
- run: pigz -c -d /tmp/baseimage-bullseye.tar.gz | docker load
# build image
- uses: actions/checkout@v4
- run: docker build -t minimum2scp/ruby-bullseye:latest ruby-bullseye
# setup ruby
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
# run test
- run: bundle exec rspec spec/ruby-bullseye
# no need to save image as artifact
# push image to docker hub
- run: docker login -u minimum2scp -p ${{ secrets.DOCKERHUB_TOKEN }}
if: github.ref == 'refs/heads/master'
- run: docker push minimum2scp/ruby-bullseye:latest
if: github.ref == 'refs/heads/master'
systemd-bullseye:
name: systemd-bullseye
runs-on: ubuntu-latest
needs: [baseimage-bullseye]
steps:
- run: sudo apt-get update
- run: sudo apt-get install -y --no-install-recommends pigz
# load parent image
- uses: actions/download-artifact@v3
with: { name: baseimage-bullseye, path: /tmp }
- run: pigz -c -d /tmp/baseimage-bullseye.tar.gz | docker load
# build image
- uses: actions/checkout@v4
- run: docker build -t minimum2scp/systemd-bullseye:latest systemd-bullseye
# setup ruby
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
# run test
- run: bundle exec rspec spec/systemd-bullseye
# no need to save image as artifact
# push image to docker hub
- run: docker login -u minimum2scp -p ${{ secrets.DOCKERHUB_TOKEN }}
if: github.ref == 'refs/heads/master'
- run: docker push minimum2scp/systemd-bullseye:latest
if: github.ref == 'refs/heads/master'
debian-buster:
name: debian-buster
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# setup ruby
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
# run test
- run: bundle exec rspec spec/debian-buster
# no need to save image as artifact
# no need to push image
baseimage-buster:
name: baseimage-buster
runs-on: ubuntu-latest
steps:
- run: sudo apt-get update
- run: sudo apt-get install -y --no-install-recommends pigz
# build image
- uses: actions/checkout@v4
- run: docker build -t minimum2scp/baseimage-buster:latest baseimage-buster
# setup ruby
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
# run test
- run: bundle exec rspec spec/baseimage-buster
# save image as artifact
- run: docker save minimum2scp/baseimage-buster:latest | pigz -c - > /tmp/baseimage-buster.tar.gz
- uses: actions/upload-artifact@v3
with: { name: baseimage-buster, path: /tmp/baseimage-buster.tar.gz }
# push image to docker hub
- run: docker login -u minimum2scp -p ${{ secrets.DOCKERHUB_TOKEN }}
if: github.ref == 'refs/heads/master'
- run: docker push minimum2scp/baseimage-buster:latest
if: github.ref == 'refs/heads/master'
ruby-buster:
name: ruby-buster
runs-on: ubuntu-latest
needs: [baseimage-buster]
steps:
- run: sudo apt-get update
- run: sudo apt-get install -y --no-install-recommends pigz
# load parent image
- uses: actions/download-artifact@v3
with: { name: baseimage-buster, path: /tmp }
- run: pigz -c -d /tmp/baseimage-buster.tar.gz | docker load
# build image
- uses: actions/checkout@v4
- run: docker build -t minimum2scp/ruby-buster:latest ruby-buster
# setup ruby
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
# run test
- run: bundle exec rspec spec/ruby-buster
# no need to save image as artifact
# push image to docker hub
- run: docker login -u minimum2scp -p ${{ secrets.DOCKERHUB_TOKEN }}
if: github.ref == 'refs/heads/master'
- run: docker push minimum2scp/ruby-buster:latest
if: github.ref == 'refs/heads/master'
systemd-buster:
name: systemd-buster
runs-on: ubuntu-latest
needs: [baseimage-buster]
steps:
- run: sudo apt-get update
- run: sudo apt-get install -y --no-install-recommends pigz
# load parent image
- uses: actions/download-artifact@v3
with: { name: baseimage-buster, path: /tmp }
- run: pigz -c -d /tmp/baseimage-buster.tar.gz | docker load
# build image
- uses: actions/checkout@v4
- run: docker build -t minimum2scp/systemd-buster:latest systemd-buster
# setup ruby
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
# run test
- run: bundle exec rspec spec/systemd-buster
# no need to save image as artifact
# push image to docker hub
- run: docker login -u minimum2scp -p ${{ secrets.DOCKERHUB_TOKEN }}
if: github.ref == 'refs/heads/master'
- run: docker push minimum2scp/systemd-buster:latest
if: github.ref == 'refs/heads/master'
debian-stretch:
name: debian-stretch
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# setup ruby
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
# run test
- run: bundle exec rspec spec/debian-stretch
# no need to save image as artifact
# no need to push image
baseimage-stretch:
name: baseimage-stretch
runs-on: ubuntu-latest
steps:
- run: sudo apt-get update
- run: sudo apt-get install -y --no-install-recommends pigz
# build image
- uses: actions/checkout@v4
- run: docker build -t minimum2scp/baseimage-stretch:latest baseimage-stretch
# setup ruby
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
# run test
- run: bundle exec rspec spec/baseimage-stretch
# save image as artifact
- run: docker save minimum2scp/baseimage-stretch:latest | pigz -c - > /tmp/baseimage-stretch.tar.gz
- uses: actions/upload-artifact@v3
with: { name: baseimage-stretch, path: /tmp/baseimage-stretch.tar.gz }
# push image to docker hub
- run: docker login -u minimum2scp -p ${{ secrets.DOCKERHUB_TOKEN }}
if: github.ref == 'refs/heads/master'
- run: docker push minimum2scp/baseimage-stretch:latest
if: github.ref == 'refs/heads/master'
ruby-stretch:
name: ruby-stretch
runs-on: ubuntu-latest
needs: [baseimage-stretch]
steps:
- run: sudo apt-get update
- run: sudo apt-get install -y --no-install-recommends pigz
# load parent image
- uses: actions/download-artifact@v3
with: { name: baseimage-stretch, path: /tmp }
- run: pigz -c -d /tmp/baseimage-stretch.tar.gz | docker load
# build image
- uses: actions/checkout@v4
- run: docker build -t minimum2scp/ruby-stretch:latest ruby-stretch
# setup ruby
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
# run test
- run: bundle exec rspec spec/ruby-stretch
# no need to save image as artifact
# push image to docker hub
- run: docker login -u minimum2scp -p ${{ secrets.DOCKERHUB_TOKEN }}
if: github.ref == 'refs/heads/master'
- run: docker push minimum2scp/ruby-stretch:latest
if: github.ref == 'refs/heads/master'
systemd-stretch:
name: systemd-stretch
runs-on: ubuntu-latest
needs: [baseimage-stretch]
steps:
- run: sudo apt-get update
- run: sudo apt-get install -y --no-install-recommends pigz
# load parent image
- uses: actions/download-artifact@v3
with: { name: baseimage-stretch, path: /tmp }
- run: pigz -c -d /tmp/baseimage-stretch.tar.gz | docker load
# build image
- uses: actions/checkout@v4
- run: docker build -t minimum2scp/systemd-stretch:latest systemd-stretch
# setup ruby
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
# run test
- run: bundle exec rspec spec/systemd-stretch
# no need to save image as artifact
# push image to docker hub
- run: docker login -u minimum2scp -p ${{ secrets.DOCKERHUB_TOKEN }}
if: github.ref == 'refs/heads/master'
- run: docker push minimum2scp/systemd-stretch:latest
if: github.ref == 'refs/heads/master'