build(deps): bump mongodb from 4.17.0 to 6.19.0 in /docker/modbus-serial #46
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Modbus Serial Tests | |
| on: | |
| push: | |
| paths: | |
| - 'docker/modbus-serial/**' | |
| - '.github/workflows/modbus-serial-tests.yml' | |
| pull_request: | |
| paths: | |
| - 'docker/modbus-serial/**' | |
| - '.github/workflows/modbus-serial-tests.yml' | |
| jobs: | |
| version-check: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| node-version: ${{ steps.nvmrc.outputs.node-version }} | |
| steps: | |
| - name: Checkout code | |
| uses: actions/[email protected] | |
| - name: Read Node version from .nvmrc | |
| id: nvmrc | |
| run: | | |
| NODE_VERSION=$(cat docker/modbus-serial/.nvmrc) | |
| echo "node-version=$NODE_VERSION" >> $GITHUB_OUTPUT | |
| echo "Node version from .nvmrc: $NODE_VERSION" | |
| - name: Check Node version consistency | |
| run: | | |
| NODE_VERSION=$(cat docker/modbus-serial/.nvmrc) | |
| DOCKERFILE_VERSION=$(grep "FROM node:" docker/modbus-serial/Dockerfile | cut -d: -f2 | cut -d- -f1) | |
| WORKFLOW_VERSION=$(grep -A 10 "node-version-file:" .github/workflows/modbus-serial-tests.yml | head -1 | grep -o "[0-9]*" || echo "$NODE_VERSION") | |
| echo "Node version in .nvmrc: $NODE_VERSION" | |
| echo "Node version in Dockerfile: $DOCKERFILE_VERSION" | |
| echo "Expected workflow version: $NODE_VERSION" | |
| if [ "$NODE_VERSION" != "$DOCKERFILE_VERSION" ]; then | |
| echo "ERROR: Node version mismatch between .nvmrc ($NODE_VERSION) and Dockerfile ($DOCKERFILE_VERSION)" | |
| exit 1 | |
| fi | |
| echo "✅ All Node versions are consistent" | |
| test: | |
| runs-on: ubuntu-latest | |
| needs: version-check | |
| steps: | |
| - name: Checkout code | |
| uses: actions/[email protected] | |
| - name: Setup Node.js from .nvmrc | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: 'docker/modbus-serial/.nvmrc' | |
| cache: 'npm' | |
| cache-dependency-path: 'docker/modbus-serial/package-lock.json' | |
| - name: Install dependencies | |
| working-directory: docker/modbus-serial | |
| run: npm ci | |
| - name: Run tests | |
| working-directory: docker/modbus-serial | |
| run: npm test | |
| - name: Run test coverage | |
| working-directory: docker/modbus-serial | |
| run: npm test -- --coverage | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@v3 | |
| with: | |
| file: docker/modbus-serial/coverage/lcov.info | |
| directory: docker/modbus-serial/coverage | |
| flags: modbus-serial | |
| name: modbus-serial-coverage | |
| fail_ci_if_error: false | |
| docker-build: | |
| runs-on: ubuntu-latest | |
| needs: [version-check, test] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/[email protected] | |
| - name: Login to Docker Hub | |
| uses: docker/login-action@v3 | |
| with: | |
| username: ${{ secrets.DOCKER_HUB_USERNAME }} | |
| password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Build Docker image | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: docker/modbus-serial/ | |
| push: false | |
| load: true | |
| tags: modbus-serial-test | |
| cache-from: type=gha,scope=modbus-serial | |
| cache-to: type=gha,mode=max,scope=modbus-serial,ignore-error=true | |
| - name: Verify Docker image was built successfully | |
| run: | | |
| # Check that the image exists | |
| docker images modbus-serial-test | |
| # Verify the image can be inspected | |
| docker inspect modbus-serial-test > /dev/null | |
| echo "✅ Docker image built successfully" | |
| - name: Cleanup | |
| if: always() | |
| run: | | |
| docker rmi modbus-serial-test || true |