Skip to content

chore(deps): update all dependencies to v7 (#174) #173

chore(deps): update all dependencies to v7 (#174)

chore(deps): update all dependencies to v7 (#174) #173

Workflow file for this run

name: Test
on:
pull_request:
branches:
- main
- 'feature/**'
push:
branches:
- main
jobs:
test:
runs-on: ubuntu-latest
container:
# https://hub.docker.com/r/drevops/ci-runner
image: drevops/ci-runner:26.6.0@sha256:190027056cac7b7ce28c29a1e5494779ebadc4ee8e95d468b75bc56e7be5aabd
steps:
- name: Configure Git safe directory
run: git config --global --add safe.directory "${GITHUB_WORKSPACE}"
- name: Check out the repo
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
- name: Lint shell scripts
run: |
shfmt -i 2 -ci -s -d seed.sh tests/bats/*.bash tests/bats/*.bats
shellcheck seed.sh tests/bats/*.bash tests/bats/*.bats
continue-on-error: ${{ vars.CI_LINT_IGNORE_FAILURE == '1' }}
- name: Install goss
run: curl -fsSL https://goss.rocks/install | sh && goss --version
- name: Build Docker image
run: docker build -t gosstestorg/gosstestimage:goss-test-tag .
- name: Run Goss tests
run: |
export GOSS_FILES_STRATEGY=cp
export GOSS_PATH=/usr/local/bin/goss
GOSS_FILES_PATH=tests/dgoss dgoss run -i gosstestorg/gosstestimage:goss-test-tag
continue-on-error: ${{ vars.CI_TEST_IGNORE_FAILURE == '1' }}
- name: Install BATS dependencies
run: npm --prefix tests/bats ci
- name: Run BATS tests with code coverage
run: |
echo "${DOCKER_PASS}" | docker login --username "${DOCKER_USER}" --password-stdin
kcov --include-pattern=.sh,.bash --bash-parse-files-in-dir=. --exclude-pattern=vendor,node_modules,coverage $(pwd)/coverage tests/bats/node_modules/.bin/bats tests/bats
shell: bash
continue-on-error: ${{ vars.CI_TEST_IGNORE_FAILURE == '1' }}
env:
DOCKER_USER: ${{ secrets.DOCKER_USER }}
DOCKER_PASS: ${{ secrets.DOCKER_PASS }}
- name: Upload coverage report as an artifact
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: ${{github.job}}-code-coverage-report
include-hidden-files: true
path: coverage
if-no-files-found: error
- name: Upload coverage report to Codecov
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7
if: ${{ env.CODECOV_TOKEN != '' }}
with:
directory: coverage
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
push-canary-to-registry:
if: github.event_name == 'push'
runs-on: ubuntu-latest
needs:
- test
steps:
- name: Checkout code
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
- name: Set up QEMU
uses: docker/setup-qemu-action@06116385d9baf250c9f4dcb4858b16962ea869c3 # v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4
- name: Log in to Docker Hub
uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9 # v6
with:
images: drevops/mariadb-drupal-data
- name: Build and push Docker image
uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7
with:
context: .
push: true
tags: drevops/mariadb-drupal-data:canary
labels: ${{ steps.meta.outputs.labels }}
platforms: linux/amd64,linux/arm64