diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 000000000..2d47d3c1b --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,61 @@ +name: main + +on: + push: + branches: + - master + +jobs: + contributors: + if: "${{ github.event.head_commit.message != 'build: contributors' }}" + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + token: ${{ secrets.GITHUB_TOKEN }} + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: lts/* + - name: Contributors + run: | + git config --global user.email ${{ secrets.GIT_EMAIL }} + git config --global user.name ${{ secrets.GIT_USERNAME }} + npm run contributors + - name: Push changes + uses: ad-m/github-push-action@master + with: + github_token: ${{ secrets.GH_TOKEN }} + branch: ${{ github.head_ref }} + test: + if: ${{ !startsWith(github.event.head_commit.message, 'chore(release):') && !startsWith(github.event.head_commit.message, 'docs:') && !startsWith(github.event.head_commit.message, 'ci:') }} 'docs:') && !startsWith(github.event.head_commit.message, 'ci:') }} + needs: [contributors] + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + token: ${{ secrets.GITHUB_TOKEN }} + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: lts/* + - name: Setup PNPM + uses: pnpm/action-setup@v2 + with: + version: latest + run_install: true + - name: Test + run: npm test + env: + PROXY_USERNAME: ${{ secrets.PROXY_USERNAME }} + PROXY_PASSWORD: ${{ secrets.PROXY_PASSWORD }} + PROXY_HOST: ${{ secrets.PROXY_HOST }} + - name: Coverage + run: npm run coverage + - name: Upload + uses: coverallsapp/github-action@master + with: + github-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/test.yml b/.github/workflows/pull_request.yml similarity index 87% rename from .github/workflows/test.yml rename to .github/workflows/pull_request.yml index 9c4fb3581..35ee0753c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/pull_request.yml @@ -1,4 +1,4 @@ -name: test +name: pull_request on: push: @@ -8,15 +8,15 @@ on: branches: - master -env: - CI: true - jobs: test: + if: github.ref != 'refs/heads/master' runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 + with: + token: ${{ secrets.GITHUB_TOKEN }} - name: Setup Node.js uses: actions/setup-node@v3 with: diff --git a/package.json b/package.json index 732cc2782..0cfccc944 100644 --- a/package.json +++ b/package.json @@ -146,7 +146,7 @@ "clean": "pnpm --recursive --parallel exec -- rm -rf node_modules", "contributors": "npm run contributors:add && npm run contributors:commit", "contributors:add": "pnpm --recursive --parallel exec -- finepack --sort-ignore-object-at ava", - "contributors:commit": "(git-authors-cli && finepack --sort-ignore-object-at ava && git add package.json && git commit -m 'build: contributors' --no-verify) || true", + "contributors:commit": "(npx git-authors-cli && npx finepack --sort-ignore-object-at ava && git add package.json && git commit -m 'build: contributors' --no-verify) || true", "coverage": "c8 report --reporter=text-lcov > coverage/lcov.info", "dev": "concurrently \"gulp\" \"npm run dev:server\"", "dev:server": "browser-sync start --server --files \"index.html, README.md, static/**/*.(css|js)\"",