diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 00000000..848b0818 --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,30 @@ +# For details of what checks are run for PRs please refer below +# docs: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions + +name: Docker CI + +on: + push: + branches: ["master"] + pull_request: + workflow_dispatch: + +jobs: + test: + name: Build and test docker image + runs-on: ubuntu-latest + timeout-minutes: 30 + env: + DOCKER_TAG: 'cdx-node-module-testing:${{ github.run_id }}.${{ github.run_number }}.${{ github.run_attempt }}' + steps: + - name: Checkout + # see https://github.com/actions/checkout + uses: actions/checkout@v2.4.0 + - name: Build Docker image + run: docker build -f Dockerfile -t "$DOCKER_TAG" . + - name: Test Docker image + run: docker run --rm "$DOCKER_TAG" -h + - name: Destroy Docker image + # run regardless of outcome + if: ${{ always() }} + run: docker rmi -f "$DOCKER_TAG" diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 402c007f..d8794c28 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -14,7 +14,7 @@ env: CI: "true" jobs: - build: + test: name: Test (node${{ matrix.node-version }}, ${{ matrix.os }}) timeout-minutes: 30 runs-on: ${{ matrix.os }} diff --git a/Dockerfile b/Dockerfile index e6395a44..079f071c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,5 +17,5 @@ RUN npm ci --only=production COPY . /usr/src/cyclonedx-bom -ENTRYPOINT ["/usr/src/cyclonedx-bom/bin/cyclonedx-bom"] +ENTRYPOINT ["/usr/src/cyclonedx-bom/bin/make-bom.js"] CMD ["-h"] diff --git a/HISTORY.md b/HISTORY.md index 0acf1bde..5fb04ef9 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file. ## unreleased +* Changed + * Renamed `bin/cyclonedx-bom` to `bin/make-bom.js` (via [#216]) + This is considered a none-breaking change, + as the CLI use of `npx cyclonedx-node`/`npx cyclonedx-bom` + is untouched. + +[#216]: https://github.com/CycloneDX/cyclonedx-node-module/pull/216 + ## 3.2.0 * Added diff --git a/bin/cyclonedx-bom b/bin/make-bom.js similarity index 99% rename from bin/cyclonedx-bom rename to bin/make-bom.js index c1eb8f7c..3ba74816 100755 --- a/bin/cyclonedx-bom +++ b/bin/make-bom.js @@ -1,4 +1,6 @@ #!/usr/bin/env node +/* eslint-env node */ + /* * This file is part of CycloneDX Node Module. * diff --git a/package.json b/package.json index 18ef834b..ec837ec9 100644 --- a/package.json +++ b/package.json @@ -34,12 +34,12 @@ ], "main": "index.js", "bin": { - "cyclonedx-bom": "./bin/cyclonedx-bom", - "cyclonedx-node": "./bin/cyclonedx-bom" + "cyclonedx-bom": "./bin/make-bom.js", + "cyclonedx-node": "./bin/make-bom.js" }, "scripts": { "test": "jest", - "docker-release": "docker build . -t cyclonedx/cyclonedx-node:`node bin/cyclonedx-bom --version` -t cyclonedx/cyclonedx-node:latest && docker push cyclonedx/cyclonedx-node:`node bin/cyclonedx-bom --version` && docker push cyclonedx/cyclonedx-node:latest" + "docker-release": "docker build . -t cyclonedx/cyclonedx-node:`node bin/make-bom.js --version` -t cyclonedx/cyclonedx-node:latest && docker push cyclonedx/cyclonedx-node:`node bin/make-bom.js --version` && docker push cyclonedx/cyclonedx-node:latest" }, "engines": { "node": ">=12.0.0" diff --git a/tests/no-lockfile/package.json b/tests/no-lockfile/package.json index 19e72893..5a9edecb 100644 --- a/tests/no-lockfile/package.json +++ b/tests/no-lockfile/package.json @@ -29,9 +29,6 @@ } ], "main": "index.js", - "bin": { - "cyclonedx-bom": "./bin/cyclonedx-bom" - }, "scripts": { "test": "echo \"Warning: no test specified\" && exit 0" }, diff --git a/tests/with-lockfile-2/package-lock.json b/tests/with-lockfile-2/package-lock.json index 72f8bfc6..0d69d648 100644 --- a/tests/with-lockfile-2/package-lock.json +++ b/tests/with-lockfile-2/package-lock.json @@ -18,9 +18,6 @@ "xmlbuilder": "^13.0.2", "xmldom": "^0.2.1" }, - "bin": { - "cyclonedx-bom": "bin/cyclonedx-bom" - }, "devDependencies": { "envinfo": "^7.5.1" }, diff --git a/tests/with-lockfile-2/package.json b/tests/with-lockfile-2/package.json index 199b1c38..8a3a0e6e 100644 --- a/tests/with-lockfile-2/package.json +++ b/tests/with-lockfile-2/package.json @@ -29,9 +29,6 @@ } ], "main": "index.js", - "bin": { - "cyclonedx-bom": "./bin/cyclonedx-bom" - }, "scripts": { "test": "echo \"Warning: no test specified\" && exit 0" }, diff --git a/tests/with-packages/package-lock.json b/tests/with-packages/package-lock.json index 6553bf95..5f77631a 100644 --- a/tests/with-packages/package-lock.json +++ b/tests/with-packages/package-lock.json @@ -18,9 +18,6 @@ "xmlbuilder": "^13.0.2", "xmldom": "^0.2.1" }, - "bin": { - "cyclonedx-bom": "bin/cyclonedx-bom" - }, "devDependencies": { "envinfo": "^7.5.1" }, diff --git a/tests/with-packages/package.json b/tests/with-packages/package.json index 9e3aa6a3..8b4f9ab9 100644 --- a/tests/with-packages/package.json +++ b/tests/with-packages/package.json @@ -29,9 +29,6 @@ } ], "main": "index.js", - "bin": { - "cyclonedx-bom": "./bin/cyclonedx-bom" - }, "scripts": { "test": "echo \"Warning: no test specified\" && exit 0" },