diff --git a/.github/workflows/npm-release.yml b/.github/workflows/npm-release.yml new file mode 100644 index 0000000..1f87613 --- /dev/null +++ b/.github/workflows/npm-release.yml @@ -0,0 +1,55 @@ +name: NPM Release + +on: + workflow_dispatch: + inputs: + versionType: + description: 'Version type (major, minor, patch)' + required: true + default: 'patch' + branches: + - master + +jobs: + npm-release: + if: github.ref == 'refs/heads/master' + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + with: + fetch-depth: 0 # fetch all history so that we can determine the version bump + + - name: Configure Git + run: | + git config --global user.name "${{ secrets.GIT_USER_NAME }}" + git config --global user.email "${{ secrets.GIT_USER_EMAIL }}" + + - name: Setup Node.js + uses: actions/setup-node@v2 + with: + node-version: '16' + registry-url: 'https://registry.npmjs.org/' + + - name: Install dependencies + run: npm install + + - name: Run Tests + run: | + npx playwright install --with-deps chromium + npm test + + - name: Bump version + run: npm version ${{ github.event.inputs.versionType }} -m "Upgrade to %s" + + - name: Publish to npm + run: npm publish + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + + - name: Push changes and tags + run: | + git config user.name "${{ secrets.GIT_USER_NAME }}" + git config user.email "${{ secrets.GIT_USER_EMAIL }}" + git push + git push --tags \ No newline at end of file diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..6d8566d --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,19 @@ +name: Test + +on: + push: + branches: [master] + pull_request: + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v2 + with: + node-version: '16' + cache: 'npm' + - run: npm install + - run: npx playwright install --with-deps chromium + - run: npm test \ No newline at end of file