forked from bit-tasks/branch-lane
-
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* feat(dependabot.yml): add Dependabot configuration file to enable automated dependency updates feat(linters): add ESLint configuration files for linting TypeScript code feat(workflows): add CI workflow for continuous integration and code quality checks feat(workflows): add workflow for checking transpiled JavaScript code in the dist/ directory feat(workflows): add workflow for CodeQL analysis to find security vulnerabilities feat(workflows): add workflow for automated releases using release-please action * chore(action.yml): update action.yml to use composite run strategy and setup-node action fix(dist/index.js): fix error message to use single quotes instead of double quotes fix(index.ts): fix error message to use single quotes instead of double quotes fix(scripts/branch-lane.ts): fix console.log statement to use single quotes instead of double quotes * chore: add .prettierignore file to ignore dist/, node_modules/, coverage/, and test-data/ directories chore: add .prettierrc.json file to configure Prettier formatting options chore: add .release-please-manifest.json file to specify the initial version as 1.0.0 chore: add release-please-config.json file to configure Release Please for the project chore(package.json): update scripts to include bundle, format:write, format:check, lint, package, package:watch, and all scripts chore(package.json): add devDependencies for eslint, prettier, and related plugins * fix(index.js): add missing comment block for run function fix(index.ts): remove unnecessary double exclamation mark from wsDir variable assignment fix(branch-lane.ts): add missing comment block for run function and specify return type as Promise<void> * fix(ci.yml): update BIT_CLOUD_ACCESS_TOKEN environment variable to fallback to BIT_CONFIG_USER_TOKEN if BIT_CLOUD_ACCESS_TOKEN is not available in secrets * chore(ci.yml): remove unused environment variables in the test-typescript job chore(ci.yml): move environment variables to the test-action job for GitHub Actions test * chore(ci.yml): temporarily comment out the Commit Bitmap step due to compatibility issues with the current version, will uncomment and update when the Eventiva patch is merged
- Loading branch information
Showing
18 changed files
with
4,554 additions
and
219 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
version: 2 | ||
updates: | ||
- package-ecosystem: github-actions | ||
directory: / | ||
schedule: | ||
interval: weekly | ||
groups: | ||
actions-minor: | ||
update-types: | ||
- minor | ||
- patch | ||
|
||
- package-ecosystem: npm | ||
directory: / | ||
schedule: | ||
interval: weekly | ||
groups: | ||
npm-development: | ||
dependency-type: development | ||
update-types: | ||
- minor | ||
- patch | ||
npm-production: | ||
dependency-type: production | ||
update-types: | ||
- patch |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
env: | ||
node: true | ||
es6: true | ||
jest: true | ||
|
||
globals: | ||
Atomics: readonly | ||
SharedArrayBuffer: readonly | ||
|
||
ignorePatterns: | ||
- '!.*' | ||
- '**/node_modules/**' | ||
- '**/test-data/**' | ||
- '**/dist/**' | ||
- '**/coverage/**' | ||
- '*.json' | ||
|
||
parser: '@typescript-eslint/parser' | ||
|
||
parserOptions: | ||
ecmaVersion: 2023 | ||
sourceType: module | ||
project: | ||
- './.github/linters/tsconfig.json' | ||
- './tsconfig.json' | ||
|
||
plugins: | ||
# - jest | ||
- '@typescript-eslint' | ||
|
||
extends: | ||
- eslint:recommended | ||
- plugin:@typescript-eslint/eslint-recommended | ||
- plugin:@typescript-eslint/recommended | ||
- plugin:github/recommended | ||
# - plugin:jest/recommended | ||
|
||
rules: | ||
{ | ||
'camelcase': 'off', | ||
'eslint-comments/no-use': 'off', | ||
'eslint-comments/no-unused-disable': 'off', | ||
'i18n-text/no-en': 'off', | ||
'import/no-namespace': 'off', | ||
'no-console': 'off', | ||
'no-unused-vars': 'off', | ||
'prettier/prettier': 'error', | ||
'semi': 'off', | ||
'@typescript-eslint/array-type': 'error', | ||
'@typescript-eslint/await-thenable': 'error', | ||
'@typescript-eslint/ban-ts-comment': 'error', | ||
'@typescript-eslint/consistent-type-assertions': 'error', | ||
'@typescript-eslint/explicit-member-accessibility': | ||
['error', { 'accessibility': 'no-public' }], | ||
'@typescript-eslint/explicit-function-return-type': | ||
['error', { 'allowExpressions': true }], | ||
'@typescript-eslint/func-call-spacing': ['error', 'never'], | ||
'@typescript-eslint/no-array-constructor': 'error', | ||
'@typescript-eslint/no-empty-interface': 'error', | ||
'@typescript-eslint/no-explicit-any': 'error', | ||
'@typescript-eslint/no-extraneous-class': 'error', | ||
'@typescript-eslint/no-for-in-array': 'error', | ||
'@typescript-eslint/no-inferrable-types': 'error', | ||
'@typescript-eslint/no-misused-new': 'error', | ||
'@typescript-eslint/no-namespace': 'error', | ||
'@typescript-eslint/no-non-null-assertion': 'warn', | ||
'@typescript-eslint/no-require-imports': 'error', | ||
'@typescript-eslint/no-unnecessary-qualifier': 'error', | ||
'@typescript-eslint/no-unnecessary-type-assertion': 'error', | ||
'@typescript-eslint/no-unused-vars': 'error', | ||
'@typescript-eslint/no-useless-constructor': 'error', | ||
'@typescript-eslint/no-var-requires': 'error', | ||
'@typescript-eslint/prefer-for-of': 'warn', | ||
'@typescript-eslint/prefer-function-type': 'warn', | ||
'@typescript-eslint/prefer-includes': 'error', | ||
'@typescript-eslint/prefer-string-starts-ends-with': 'error', | ||
'@typescript-eslint/promise-function-async': 'error', | ||
'@typescript-eslint/require-array-sort-compare': 'error', | ||
'@typescript-eslint/restrict-plus-operands': 'error', | ||
'@typescript-eslint/semi': ['error', 'never'], | ||
'@typescript-eslint/space-before-function-paren': 'off', | ||
'@typescript-eslint/type-annotation-spacing': 'error', | ||
'@typescript-eslint/unbound-method': 'error' | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
{ | ||
"$schema": "https://json.schemastore.org/tsconfig", | ||
"extends": "../../tsconfig.json", | ||
"compilerOptions": { | ||
"noEmit": true | ||
}, | ||
"include": ["../../__tests__/**/*", "../../src/**/*"], | ||
"exclude": ["../../dist", "../../node_modules", "../../coverage", "../../test-data", "*.json"] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
# In TypeScript actions, `dist/` is a special directory. When you reference | ||
# an action with the `uses:` property, `dist/index.js` is the code that will be | ||
# run. For this project, the `dist/index.js` file is transpiled from other | ||
# source files. This workflow ensures the `dist/` directory contains the | ||
# expected transpiled code. | ||
# | ||
# If this workflow is run from a feature branch, it will act as an additional CI | ||
# check and fail if the checked-in `dist/` directory does not match what is | ||
# expected from the build. | ||
name: Check Transpiled JavaScript | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
pull_request: | ||
|
||
permissions: | ||
contents: read | ||
|
||
jobs: | ||
check-dist: | ||
name: Check dist/ | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Checkout | ||
id: checkout | ||
uses: actions/checkout@v4 | ||
|
||
- name: Setup Node.js | ||
id: setup-node | ||
uses: actions/setup-node@v4 | ||
with: | ||
cache: npm | ||
|
||
- name: Install Dependencies | ||
id: install | ||
run: npm ci | ||
|
||
- name: Build dist/ Directory | ||
id: build | ||
run: npm run bundle | ||
|
||
# This will fail the workflow if the PR wasn't created by Dependabot. | ||
- name: Compare Directories | ||
id: diff | ||
run: | | ||
if [ "$(git diff --ignore-space-at-eol --text dist/ | wc -l)" -gt "0" ]; then | ||
echo "Detected uncommitted changes after build. See status below:" | ||
git diff --ignore-space-at-eol --text dist/ | ||
exit 1 | ||
fi | ||
# If `dist/` was different than expected, and this was not a Dependabot | ||
# PR, upload the expected version as a workflow artifact. | ||
- if: ${{ failure() && steps.diff.outcome == 'failure' }} | ||
name: Upload Artifact | ||
id: upload | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: dist | ||
path: dist/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
name: Continuous Integration | ||
|
||
on: | ||
pull_request: | ||
push: | ||
branches: | ||
- main | ||
|
||
permissions: | ||
contents: read | ||
|
||
jobs: | ||
test-typescript: | ||
name: TypeScript Tests | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
id: checkout | ||
uses: actions/checkout@v4 | ||
|
||
- name: Setup Node.js | ||
id: setup-node | ||
uses: actions/setup-node@v4 | ||
with: | ||
cache: npm | ||
|
||
- name: Install Dependencies | ||
id: npm-ci | ||
run: npm ci | ||
|
||
- name: Check Format | ||
id: npm-format-check | ||
run: npm run format:check | ||
|
||
- name: Lint | ||
id: npm-lint | ||
run: npm run lint | ||
|
||
# - name: Test | ||
# id: npm-ci-test | ||
# run: npm run ci-test | ||
|
||
test-action: | ||
name: GitHub Actions Test | ||
runs-on: ubuntu-latest | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
BIT_CLOUD_ACCESS_TOKEN: ${{ secrets.BIT_CLOUD_ACCESS_TOKEN || secrets.BIT_CONFIG_USER_TOKEN }} | ||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
|
||
- name: Initialize Bit | ||
uses: bit-tasks/init@v1 | ||
with: | ||
ws-dir: 'test-data' | ||
|
||
- name: Creating a bare scope | ||
run: mkdir org.scope-name && cd org.scope-name && bit init --bare | ||
|
||
- name: Start the server and test | ||
run: cd org.scope-name && bit start --port 4000 --no-browser & sleep 200 && curl http://localhost:4000 | ||
|
||
- name: Add remote scope | ||
run: cd test-data && bit remote add http://localhost:4000 | ||
|
||
- name: Bit Branch Lane | ||
uses: ./ | ||
|
||
- name: Bit Lanes | ||
run: cd test-data && bit lane list --details | ||
|
||
# - name: Commit Bitmap | ||
# uses: bit-tasks/commit-bitmap@v1 // This will not work until the Eventiva patch is merged. Will need to use the updated version when it is merged. | ||
# with: | ||
# git-user-name: 'ashanfernando' | ||
# git-user-email: '[email protected]' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
name: CodeQL | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
pull_request: | ||
branches: | ||
- main | ||
schedule: | ||
- cron: '31 7 * * 3' | ||
|
||
jobs: | ||
analyze: | ||
name: Analyze | ||
runs-on: ubuntu-latest | ||
|
||
permissions: | ||
actions: read | ||
checks: write | ||
contents: read | ||
security-events: write | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
language: | ||
- TypeScript | ||
|
||
steps: | ||
- name: Checkout | ||
id: checkout | ||
uses: actions/checkout@v4 | ||
|
||
- name: Initialize CodeQL | ||
id: initialize | ||
uses: github/codeql-action/init@v3 | ||
with: | ||
languages: ${{ matrix.language }} | ||
|
||
- name: Autobuild | ||
id: autobuild | ||
uses: github/codeql-action/autobuild@v3 | ||
|
||
- name: Perform CodeQL Analysis | ||
id: analyze | ||
uses: github/codeql-action/analyze@v3 |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
on: | ||
push: | ||
branches: | ||
- main | ||
|
||
|
||
|
||
name: release-please | ||
|
||
jobs: | ||
release-please: | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: write | ||
pull-requests: write | ||
steps: | ||
- uses: google-github-actions/release-please-action@v4 | ||
with: | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
config-file: release-please-config.json | ||
manifest-file: .release-please-manifest.json |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
dist/ | ||
node_modules/ | ||
coverage/ | ||
test-data/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
{ | ||
"printWidth": 80, | ||
"tabWidth": 2, | ||
"useTabs": false, | ||
"semi": false, | ||
"singleQuote": true, | ||
"quoteProps": "as-needed", | ||
"jsxSingleQuote": false, | ||
"trailingComma": "none", | ||
"bracketSpacing": true, | ||
"bracketSameLine": true, | ||
"arrowParens": "avoid", | ||
"proseWrap": "always", | ||
"htmlWhitespaceSensitivity": "css", | ||
"endOfLine": "lf" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
".": "1.0.0" | ||
} |
Oops, something went wrong.