From 6020ee1a9db4f4675c7fb7ff520964fe160cfeae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9lcio=20Franco?= Date: Thu, 22 Feb 2024 10:11:35 -0400 Subject: [PATCH] ci: add basic pr ci --- .github/CODEOWNERS | 1 + .github/workflows/pr.yaml | 84 +++++++++++++++++++++++++++++++++++++++ .prettierrc.js | 4 +- 3 files changed, 87 insertions(+), 2 deletions(-) create mode 100644 .github/CODEOWNERS create mode 100644 .github/workflows/pr.yaml diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 00000000..591fc1b7 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +* @luizstacio @pedronauck @LuizAsFight @helciofranco diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml new file mode 100644 index 00000000..fc36af7d --- /dev/null +++ b/.github/workflows/pr.yaml @@ -0,0 +1,84 @@ +name: 'PR Checks' + +on: + pull_request: + types: [opened, synchronize, edited, closed, reopened] + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + validate-title: + name: Validate PR Title + runs-on: ubuntu-latest + steps: + - uses: amannn/action-semantic-pull-request@v4 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + check-packages-changed: + name: Assign project changed + runs-on: ubuntu-latest + outputs: + changed: ${{ steps.packages-changed.outputs.any_changed }} + steps: + - uses: actions/checkout@v3 + - name: Check external packages changes + id: packages-changed + uses: tj-actions/changed-files@v22.2 + with: + files: | + **/packages/connectors/** + + validate-changeset: + name: Validate PR Changeset + needs: check-packages-changed + if: ${{ github.head_ref != 'changeset-release/master' && needs.check-packages-changed.outputs.changed == 'true' }} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: CI Setup + uses: FuelLabs/github-actions/setups/node@master + + - name: Validate Changeset + run: pnpm changeset status --since=origin/${{ github.base_ref }} + + audit: + name: Audit + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: FuelLabs/github-actions/setups/node@master + - run: pnpm audit --prod + + lint: + name: Lint + runs-on: ubuntu-latest + permissions: + checks: write + pull-requests: write + contents: write + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Setup Node + uses: FuelLabs/github-actions/setups/node@master + + - name: Run lint + run: | + pnpm ts:check + pnpm lint + + docs: + name: Docs + uses: FuelLabs/github-actions/.github/workflows/next-docs.yml@master + with: + doc-folder-path: 'packages/docs/docs' + src-folder-path: 'packages/docs/src' + spellcheck-config-path: 'packages/docs/.spellcheck.yml' diff --git a/.prettierrc.js b/.prettierrc.js index db374189..40a99f88 100644 --- a/.prettierrc.js +++ b/.prettierrc.js @@ -1,4 +1,4 @@ -const fuelPrettierConfig = require('@fuels/prettier-config'); +const config = require('@fuels/prettier-config'); /** @type {import("prettier").Config} */ -module.exports = fuelPrettierConfig; +module.exports = config;