Skip to content

Update docker/build-push-action digest to ee4ca42 (#66) #167

Update docker/build-push-action digest to ee4ca42 (#66)

Update docker/build-push-action digest to ee4ca42 (#66) #167

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.1.0@sha256:1fd1a2bc6311ae1c8b726fa2326dc509f6c8918b7d394bceb10d3aada1c7afcb
steps:
- name: Preserve $HOME set in the container
run: echo HOME=/root >> "$GITHUB_ENV" # https://github.com/actions/runner/issues/863
- name: Check out the repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Install dependencies
run: npm ci
- name: Lint code
run: npm run lint
continue-on-error: ${{ vars.CI_LINT_IGNORE_FAILURE == '1' }}
- name: Run unit tests with code coverage
run: npm run test-coverage
shell: bash
continue-on-error: ${{ vars.CI_TEST_IGNORE_FAILURE == '1' }}
- name: Run functional tests
run: npm run test-functional
shell: bash
continue-on-error: ${{ vars.CI_TEST_IGNORE_FAILURE == '1' }}
- name: Upload coverage report as an artifact
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
with:
name: ${{github.job}}-code-coverage-report
include-hidden-files: true
path: .coverage-html
if-no-files-found: error
- name: Upload coverage report to Codecov
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5
if: ${{ env.CODECOV_TOKEN != '' }}
with:
directory: .coverage-html
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
- name: Build Docker image
run: docker build .
push-canary-to-registry:
if: github.event_name == 'push'
runs-on: ubuntu-latest
needs:
- test
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Set up QEMU
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3
- name: Log in to Docker Hub
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5
with:
images: drevops/docker-wait-for-dependencies
- name: Build and push Docker image
uses: docker/build-push-action@ee4ca427a2f43b6a16632044ca514c076267da23 # v6
with:
context: .
push: true
tags: drevops/docker-wait-for-dependencies:canary
labels: ${{ steps.meta.outputs.labels }}
platforms: linux/amd64,linux/arm64