diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 3faa882b..b7589b4c 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -9,3 +9,11 @@ updates: time: "05:00" timezone: Australia/Sydney open-pull-requests-limit: 99 +- package-ecosystem: github-actions + directory: "/" + schedule: + interval: weekly + day: monday + time: "05:00" + timezone: Australia/Sydney + open-pull-requests-limit: 5 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..fad5a337 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,49 @@ +name: CI + +on: + pull_request: + branches: + - master + push: + branches: + - master + tags: + - 'v*.*.*' + +jobs: + test: + name: "test-node-${{ matrix.node-version }}" + runs-on: ubuntu-latest + strategy: + matrix: + node-version: [14, 16, 18, 20] + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup NodeJS ${{ matrix.node-version }} + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + cache: 'yarn' + + - name: Install dependencies + run: yarn install --frozen-lockfile + + - name: Run tests + env: + JEST_JUNIT_OUTPUT_DIR: ./test-reports/jest + JEST_JUNIT_OUTPUT_NAME: results.xml + JEST_JUNIT_CLASSNAME: "{filepath}" + run: yarn ci:test + + - name: Upload test results + uses: actions/upload-artifact@v4 + with: + name: test-results-node-${{ matrix.node-version }} + path: ./test-reports + + - name: Test summary + uses: test-summary/action@v1 + with: + paths: ./test-reports/jest/results.xml