Skip to content

feat: do multi stage build #731

feat: do multi stage build

feat: do multi stage build #731

Workflow file for this run

---
on:
- pull_request
name: CI
jobs:
shellcheck:
name: Shellcheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run ShellCheck
uses: ludeeus/action-shellcheck@2.0.0
with:
scandir: './bin'
rubocop:
name: 'RuboCop'
runs-on: ubuntu-latest
env:
BUNDLE_WITHOUT: development:test
steps:
- uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- name: Run tests
run: bundle exec rake rubocop
unit_tests:
name: Unit tests
runs-on: ubuntu-latest
env:
COVERAGE: true
steps:
- uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- name: Setup config
run: mv config/hdm.yml{.template,}
- name: Run tests
run: bundle exec rake test:all
build_docker_image:
name: 'Built test Docker image'
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Build Docker image
uses: docker/build-push-action@v6
with:
context: .
tags: 'ci/hdm:${{ github.sha }}'
push: false
tests:
needs:
- shellcheck
- rubocop
- unit_tests
- build_docker_image
runs-on: ubuntu-latest
name: Test suite
steps:
- run: echo Test suite completed
dependabot:
permissions:
contents: write
name: 'Dependabot auto-merge'
needs:
- tests
runs-on: ubuntu-latest
if: ${{ github.actor == 'dependabot[bot]' && github.event_name == 'pull_request'}}
steps:
- name: Dependabot metadata
id: metadata
uses: dependabot/fetch-metadata@v2.2.0
with:
github-token: '${{ secrets.GITHUB_TOKEN }}'
- name: Enable auto-merge for Dependabot PRs
run: gh pr merge --auto --merge "$PR_URL"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}