From 40c9d686e1b818d345542fede0657e99dde08c94 Mon Sep 17 00:00:00 2001 From: Diogo Uchoas Date: Tue, 18 Mar 2025 18:45:36 -0300 Subject: [PATCH] [skip ci] [INFR-525] Adiciona workflow do github actions especifico para pull requests --- .github/workflows/ci.yml | 244 ++------------------------------------- 1 file changed, 8 insertions(+), 236 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8f014024fe..c9cb2add8c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,238 +1,10 @@ -name: CI -on: workflow_call -jobs: - lint: - name: Lint source files - runs-on: ubuntu-latest - steps: - - name: Checkout repo - uses: actions/checkout@v3 - with: - persist-credentials: false - - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - cache: npm - node-version-file: '.node-version' - - - name: Install Dependencies - run: npm ci --ignore-scripts - - - name: Lint ESLint - run: npm run lint - - - name: Check Types - run: npm run check - - - name: Lint Prettier - run: npm run prettier:check - - - name: Spellcheck - run: npm run check:spelling - - - name: Lint GitHub Actions - uses: docker://rhysd/actionlint:latest - with: - args: -color - - checkForCommonlyIgnoredFiles: - name: Check for commonly ignored files - runs-on: ubuntu-latest - steps: - - name: Checkout repo - uses: actions/checkout@v3 - with: - persist-credentials: false - - - name: Check if commit contains files that should be ignored - run: | - git clone --depth 1 https://github.com/github/gitignore.git - - rm gitignore/Global/ModelSim.gitignore - rm gitignore/Global/Images.gitignore - cat gitignore/Node.gitignore gitignore/Global/*.gitignore > all.gitignore - - IGNORED_FILES=$(git ls-files --cached --ignored --exclude-from=all.gitignore) - if [[ "$IGNORED_FILES" != "" ]]; then - echo -e "::error::Please remove these files:\n$IGNORED_FILES" | sed -z 's/\n/%0A/g' - exit 1 - fi - - checkPackageLock: - name: Check health of package-lock.json file - runs-on: ubuntu-latest - steps: - - name: Checkout repo - uses: actions/checkout@v3 - with: - persist-credentials: false - - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - cache: npm - node-version-file: '.node-version' - - - name: Install Dependencies - run: npm ci --ignore-scripts - - # Disabled due to https://github.com/milesj/docusaurus-plugin-typedoc-api/pull/19 - # - name: Check that package-lock.json doesn't have conflicts - # run: npm ls --depth 999 - - - name: Run npm install - run: npm install --ignore-scripts --force --package-lock-only --engine-strict --strict-peer-deps - - - name: Check that package-lock.json is in sync with package.json - run: git diff --exit-code package-lock.json - - integrationTests: - name: Run integration tests - runs-on: ubuntu-latest - steps: - - name: Checkout repo - uses: actions/checkout@v3 - with: - persist-credentials: false - - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version-file: '.node-version' - # We install bunch of packages during integration tests without locking them - # so we skip cache action to not pollute cache for other jobs. - - - name: Install Dependencies - run: npm ci --ignore-scripts - - - name: Run Integration Tests - run: npm run check:integrations +name: Continuous Integration - fuzz: - name: Run fuzzing tests - runs-on: ubuntu-latest - steps: - - name: Checkout repo - uses: actions/checkout@v3 - with: - persist-credentials: false +on: + pull_request: + types: [opened, synchronize] - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - cache: npm - node-version-file: '.node-version' - - - name: Install Dependencies - run: npm ci --ignore-scripts - - - name: Run Tests - run: npm run fuzzonly - - test: - name: Run tests on Node v${{ matrix.node_version_to_setup }} - runs-on: ubuntu-latest - strategy: - matrix: - node_version_to_setup: [14, 16, 18] - steps: - - name: Checkout repo - uses: actions/checkout@v3 - with: - persist-credentials: false - - - name: Setup Node.js v${{ matrix.node_version_to_setup }} - uses: actions/setup-node@v3 - with: - cache: npm - node-version: ${{ matrix.node_version_to_setup }} - - - name: Install Dependencies - run: npm ci --ignore-scripts - - - name: Run Tests with coverage - run: npm run testonly:cover - - build-npm-dist: - name: Build 'npmDist' artifact - runs-on: ubuntu-latest - needs: [test, fuzz, lint, integrationTests] - steps: - - name: Checkout repo - uses: actions/checkout@v3 - with: - persist-credentials: false - - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - cache: npm - node-version-file: '.node-version' - - - name: Install Dependencies - run: npm ci --ignore-scripts - - - name: Build NPM package - run: npm run build:npm - - - name: Upload npmDist package - uses: actions/upload-artifact@v3 - with: - name: npmDist - path: ./npmDist - - build-deno-dist: - name: Build 'denoDist' artifact - runs-on: ubuntu-latest - needs: [test, fuzz, lint, integrationTests] - steps: - - name: Checkout repo - uses: actions/checkout@v3 - with: - persist-credentials: false - - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - cache: npm - node-version-file: '.node-version' - - - name: Install Dependencies - run: npm ci --ignore-scripts - - - name: Build Deno package - run: npm run build:deno - - - name: Upload denoDist package - uses: actions/upload-artifact@v3 - with: - name: denoDist - path: ./denoDist - - build-website-dist: - name: Build website - runs-on: ubuntu-latest - steps: - - name: Checkout repo - uses: actions/checkout@v3 - with: - persist-credentials: false - - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - cache: npm - node-version-file: '.node-version' - - - name: Install Dependencies - run: npm ci --ignore-scripts - - - name: Build Docs - run: npm run build:website - - - name: Upload denoDist package - uses: actions/upload-artifact@v3 - with: - name: websiteDist - path: ./websiteDist +jobs: + pr-actions: + uses: classapp/cicada/.github/workflows/pr-patterns.yml@main + secrets: inherit