From b1ec3280aff70c1c077fcdffb0a8ccd90efd804f Mon Sep 17 00:00:00 2001 From: Phil Adams Date: Fri, 10 Jan 2025 10:01:35 -0600 Subject: [PATCH] fix: enable github workflows Signed-off-by: Phil Adams --- .github/workflows/build.yaml | 90 ++++++++++++++++++++++++++++++++++++ .secrets.baseline | 2 +- 2 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/build.yaml diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 000000000..ff3ac21c4 --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,90 @@ +# This workflow will build and unit test the project. +# If the workflow is running on the "main" branch, then +# semantic-release is also run to create a new release (if +# warranted by the new commits being built). + +name: Build/Test/Publish + +on: + push: + branches: ['**'] + pull_request: + branches: ['**'] + workflow_dispatch: + # Allow workflow to be triggered manually. + +jobs: + detect-secrets: + if: "!contains(github.event.head_commit.message, '[skip ci]')" + name: Detect-Secrets + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: 3.12 + + - name: Install detect-secrets + run: | + pip install --upgrade "git+https://github.com/ibm/detect-secrets.git@master#egg=detect-secrets" + + - name: Run detect-secrets + run: | + detect-secrets scan --update .secrets.baseline + detect-secrets -v audit --report --fail-on-unaudited --fail-on-live --fail-on-audited-real .secrets.baseline + + build: + needs: detect-secrets + name: Build/Test (Node v${{ matrix.node-version }}) + runs-on: ubuntu-latest + strategy: + matrix: + node-version: ['18', '20', '22'] + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + + - name: Build/Test + run: | + npm ci + npm run build + npm run lint + npm run test-travis + + publish-release: + needs: build + name: Semantic-Release + if: "github.ref_name == 'main' && github.event_name != 'pull_request'" + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + persist-credentials: false + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: 22 + + - name: Build + run: | + npm ci + npm build + + - name: Run semantic-release + env: + GH_TOKEN: ${{ secrets.GH_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + run: npm run semantic-release diff --git a/.secrets.baseline b/.secrets.baseline index 871f0fcf9..99a15a6f4 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -3,7 +3,7 @@ "files": "package-lock.json|^.secrets.baseline$", "lines": null }, - "generated_at": "2025-01-10T16:03:07Z", + "generated_at": "2025-01-10T15:40:39Z", "plugins_used": [ { "name": "AWSKeyDetector"