diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..4684c24 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,22 @@ +version: 2 +updates: + - package-ecosystem: "npm" + directory: "/campaign_engine" + schedule: + interval: "monthly" + open-pull-requests-limit: 5 + groups: + production-dependencies: + dependency-type: "production" + development-dependencies: + dependency-type: "development" + - package-ecosystem: "npm" + directory: "/dashboard-next" + schedule: + interval: "monthly" + open-pull-requests-limit: 5 + groups: + production-dependencies: + dependency-type: "production" + development-dependencies: + dependency-type: "development" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..0158241 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,43 @@ +name: CI + +on: + pull_request: + push: + branches: + - main + +permissions: + contents: read + +concurrency: + group: ci-${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + quality: + runs-on: ubuntu-latest + timeout-minutes: 25 + strategy: + fail-fast: false + matrix: + directory: + - campaign_engine + - dashboard-next + defaults: + run: + working-directory: ${{ matrix.directory }} + steps: + - name: Check out repository + uses: actions/checkout@v5 + - name: Set up Node.js + uses: actions/setup-node@v5 + with: + node-version: 20 + cache: npm + cache-dependency-path: ${{ matrix.directory }}/package-lock.json + - name: Install dependencies + run: npm ci + - name: Test when configured + run: npm test --if-present + - name: Build when configured + run: npm run build --if-present