Skip to content

Commit

Permalink
Merge branch 'next' into jpcarvalho/feat/implement-legal-entities-and…
Browse files Browse the repository at this point in the history
…-name-patterns-on-pt-pt
  • Loading branch information
ST-DDT authored Aug 15, 2024
2 parents 068044c + a210619 commit c2aa492
Show file tree
Hide file tree
Showing 17 changed files with 1,637 additions and 1,832 deletions.
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// README at: https://github.com/devcontainers/templates/tree/main/src/typescript-node
{
"name": "FakerJs",
"image": "mcr.microsoft.com/devcontainers/typescript-node:22@sha256:2c54a060aadfb853e8d57377eb093b1593fca93864f67a32e7e977e4df0e4329",
"image": "mcr.microsoft.com/devcontainers/typescript-node:22@sha256:eaf300f3d402d0e9d833da88d6ab2d73787ce3bdbd62eea17f1b6894b99370b6",

// Features to add to the dev container. More info: https://containers.dev/features.
// "features": {},
Expand Down
198 changes: 0 additions & 198 deletions .eslintrc.cjs

This file was deleted.

12 changes: 7 additions & 5 deletions .github/renovate.json5
Original file line number Diff line number Diff line change
Expand Up @@ -35,15 +35,17 @@
},
{
"groupName": "eslint",
"matchPackagePrefixes": [
"@typescript-eslint/",
"@eslint-types/",
"eslint"
"matchPackageNames": [
"@eslint-types/**",
"@eslint/**",
"eslint",
"eslint-**",
"typescript-eslint"
]
},
{
"groupName": "vitest",
"matchPackagePrefixes": ["@vitest/", "vitest"]
"matchPackageNames": ["@vitest/**", "vitest"]
},
{
"groupName": "prettier",
Expand Down
73 changes: 49 additions & 24 deletions .github/workflows/commentCodeGeneration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,42 +7,67 @@ import type { context as ctx, GitHub } from '@actions/github/lib/utils';
* https://github.com/actions/github-script
*
* @param github A pre-authenticated octokit/rest.js client with pagination plugins
* @param context An object containing the context of the workflow run
* @param isSuccess A boolean indicating whether the workflow was successful
* @param context An object containing the context of the workflow run.
*/
export async function script(
github: InstanceType<typeof GitHub>,
context: typeof ctx,
isSuccess: boolean
context: typeof ctx
): Promise<void> {
const repoArgs = { owner: context.repo.owner, repo: context.repo.repo };

// Identify the PR that triggered the workflow
const head_branch: string = context.payload.workflow_run.head_branch;
const { data: prs } = await github.rest.pulls.list({
...repoArgs,
state: 'open',
head: head_branch,
});

if (prs.length === 0) {
console.log(`No PRs found for branch ${head_branch}`);
return;
}

const pr_number = prs[0].number;

// Check if the PR already has a comment from the bot

const { data: comments } = await github.rest.issues.listComments({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
...repoArgs,
issue_number: pr_number,
});

const body = `Uncommitted changes were detected after runnning <code>generate:*</code> commands.\nPlease run <code>pnpm run preflight</code> to generate/update the related files, and commit them.`;
const body = `GitHub Actions has found some problems running the preflight checks.
Please make sure to:
- run \`pnpm run preflight\` locally
- fix all issues until the command completes without errors
- commit and push the changes
`;

const botComment = comments.find(
(comment) => comment.user?.type === 'Bot' && comment.body?.includes(body)
);

if (isSuccess) {
if (!botComment) return;
await github.rest.issues.deleteComment({
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: botComment.id,
});
return;
}
const isSuccess = context.payload.workflow_run.conclusion === 'success';

if (!botComment) {
await github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body,
});
if (isSuccess) {
// Delete the bot comment if present
if (botComment != null) {
await github.rest.issues.deleteComment({
...repoArgs,
comment_id: botComment.id,
});
}
} else {
// Create the comment if missing
if (botComment == null) {
await github.rest.issues.createComment({
...repoArgs,
issue_number: pr_number,
body,
});
}
}
}
13 changes: 1 addition & 12 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 10
name: 'Check Code Generation: node-22, ubuntu-latest'
permissions:
pull-requests: write

steps:
- name: Checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
Expand Down Expand Up @@ -52,16 +51,6 @@ jobs:
git diff --cached --name-only --exit-code
continue-on-error: true

- name: Transpile ts
run: pnpm tsup-node .github/workflows/commentCodeGeneration.ts --format cjs --clean false --out-dir .github/workflows

- name: Comment
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with:
script: |
const { script } = require('${{ github.workspace }}/.github/workflows/commentCodeGeneration.cjs')
await script(github, context, ${{ steps.generate.outcome == 'success' && steps.diff.outcome == 'success' }})
- name: Status
if: ${{ steps.generate.outcome == 'failure' || steps.diff.outcome == 'failure' }}
run: exit 1
45 changes: 45 additions & 0 deletions .github/workflows/preflight-comment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Preflight Comment

on:
workflow_run:
workflows: 'PR'
types:
- completed

permissions:
pull-requests: write

jobs:
comment-code-generation:
runs-on: ubuntu-latest
timeout-minutes: 5
name: 'Comment Code Generation'
steps:
- name: Checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: 'next'

- name: Install pnpm
uses: pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2 # v4.0.0

- name: Set node version to 22
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
with:
node-version: 22
cache: 'pnpm'

- name: Install deps
run: pnpm install
env:
CYPRESS_INSTALL_BINARY: 0

- name: Transpile ts
run: pnpm tsup-node .github/workflows/commentCodeGeneration.ts --format cjs --clean false --out-dir .github/workflows

- name: Comment
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with:
script: |
const { script } = require('${{ github.workspace }}/.github/workflows/commentCodeGeneration.cjs')
await script(github, context)
Loading

0 comments on commit c2aa492

Please sign in to comment.