-
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(ci): set up basic github actions
Add github actions to verify PR's. These also reflects the local checks we do via `lefthook` with small additions that are not relevant for local tests. PR: #3
- Loading branch information
1 parent
d53b9d1
commit 0083011
Showing
12 changed files
with
185 additions
and
15 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,17 @@ | ||
{ | ||
"problemMatcher": [ | ||
{ | ||
"owner": "actionlint", | ||
"pattern": [ | ||
{ | ||
"regexp": "^(?:\\x1b\\[\\d+m)?(.+?)(?:\\x1b\\[\\d+m)*:(?:\\x1b\\[\\d+m)*(\\d+)(?:\\x1b\\[\\d+m)*:(?:\\x1b\\[\\d+m)*(\\d+)(?:\\x1b\\[\\d+m)*: (?:\\x1b\\[\\d+m)*(.+?)(?:\\x1b\\[\\d+m)* \\[(.+?)\\]$", | ||
"file": 1, | ||
"line": 2, | ||
"column": 3, | ||
"message": 4, | ||
"code": 5 | ||
} | ||
] | ||
} | ||
] | ||
} |
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,46 @@ | ||
{ | ||
"$schema": "https://docs.renovatebot.com/renovate-schema.json", | ||
"baseBranches": ["main"], | ||
"timezone": "Europe/Lisbon", | ||
"schedule": ["before 9pm on sunday"], | ||
"extends": [":dependencyDashboard", ":disableRateLimiting", ":semanticCommits"], | ||
"rangeStrategy": "pin", | ||
"enabledManagers": ["github-actions", "regex", "npm"], | ||
"commitMessageAction": "", | ||
"commitMessageTopic": "{{depName}}", | ||
"commitMessageExtra": "{{#if isPinDigest}}{{{newDigestShort}}}{{else}}{{#if isMajor}}{{prettyNewMajor}}{{else}}{{#if isSingleVersion}}{{prettyNewVersion}}{{else}}{{#if newValue}}{{{newValue}}}{{else}}{{{newDigestShort}}}{{/if}}{{/if}}{{/if}}{{/if}}", | ||
"packageRules": [ | ||
{ | ||
"matchManagers": ["github-actions"], | ||
"commitMessageTopic": "{{depName}}" | ||
}, | ||
{ | ||
"matchPackagePatterns": ["actionlint"], | ||
"commitMessageTopic": "actionlint" | ||
}, | ||
{ | ||
"matchPackagePatterns": ["typos"], | ||
"commitMessageTopic": "typos" | ||
}, | ||
{ | ||
"matchPackagePatterns": ["bun"], | ||
"rangeStrategy": "in-range-only" | ||
} | ||
], | ||
"regexManagers": [ | ||
{ | ||
"fileMatch": ["^\\.github/workflows/[^/]+\\.yml$"], | ||
"matchStrings": [ | ||
"version: \"(?<currentValue>.*?)\"\\s+run: curl -Ls( -o \\w+)? \"https://github.com/(?<depName>.*?)/releases/download.*", | ||
"https://github\\.com/(?<depName>.*?)/archive/refs/tags/v(?<currentValue>.*?)\\.tar\\.gz" | ||
], | ||
"datasourceTemplate": "github-releases", | ||
"extractVersionTemplate": "^v(?<version>.*)$" | ||
} | ||
], | ||
"rebaseWhen": "never", | ||
"labels": ["type: dependencies"], | ||
"prBodyTemplate": "{{{header}}}{{{table}}}{{{notes}}}{{{changelogs}}}{{{controls}}}{{{footer}}}", | ||
"prHeader": "", | ||
"prFooter": "" | ||
} |
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,18 @@ | ||
name: Bun | ||
on: | ||
pull_request: | ||
paths: | ||
- "**/*.ts" | ||
|
||
jobs: | ||
bun-test: | ||
name: Test | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- uses: oven-sh/setup-bun@v2 | ||
- run: bun install | ||
|
||
- name: Run tests | ||
run: bun test |
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,22 @@ | ||
name: Github Actions | ||
on: | ||
pull_request: | ||
paths: | ||
- ".github/workflows/*.yml" | ||
|
||
jobs: | ||
actionlint: | ||
name: Validate | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Install Actionlint | ||
env: | ||
version: "1.7.1" | ||
run: curl -Ls "https://github.com/rhysd/actionlint/releases/download/v${{ env.version }}/actionlint_${{ env.version }}_linux_amd64.tar.gz" | sudo tar -x -z -C /usr/local/bin actionlint | ||
|
||
- name: Run Actionlint | ||
run: | | ||
echo "::add-matcher::.github/matchers/actionlint.json" | ||
actionlint -color |
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,20 @@ | ||
name: Biome | ||
on: | ||
pull_request: | ||
paths: | ||
- "**/*.ts" | ||
- "**/*.json" | ||
|
||
jobs: | ||
biome: | ||
name: Lint and format | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- uses: biomejs/setup-biome@v2 | ||
|
||
- name: Run Biome | ||
run: biome ci |
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 |
---|---|---|
@@ -1,4 +1,4 @@ | ||
name: "Conventional Commits" | ||
name: Conventional Commits | ||
on: | ||
pull_request: | ||
types: | ||
|
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,19 @@ | ||
name: Renovate | ||
on: | ||
pull_request: | ||
paths: | ||
- ".github/workflows/validate-renovate.yml" | ||
- ".github/renovate.json" | ||
|
||
jobs: | ||
validate-renovate-config: | ||
name: Validate config | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- uses: oven-sh/setup-bun@v2 | ||
- run: bun install -g renovate | ||
|
||
- name: Validate config | ||
run: renovate-config-validator .github/renovate.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,15 @@ | ||
name: Typos | ||
on: | ||
pull_request: | ||
paths: | ||
- "**/*.md" | ||
|
||
jobs: | ||
typos: | ||
name: Check for language typos | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
# No major tag unfortunately | ||
# https://github.com/crate-ci/typos/issues/857 | ||
- uses: crate-ci/[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
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 |
---|---|---|
|
@@ -39,11 +39,11 @@ are more sensitive, emailed to <[email protected]>. | |
|
||
To install Topsort.js as a contributor, you need to have Bun installed on your machine. Follow the instructions on the [Bun website](https://bun.sh/) to install it. | ||
|
||
You will also need [typos][https://github.com/crate-ci/typos] for validating documentation. Install it through your package manager (on MacOS: `brew install typos-cli`) | ||
You will also need [typos](https://github.com/crate-ci/typos) for validating documentation and [actionlint](https://github.com/rhysd/actionlint) for validating actions. Install it through your package manager of choice (on MacOS: `brew install typos-cli actionlint`). | ||
|
||
Clone the repository and install the dependencies: | ||
|
||
```sh | ||
```bash | ||
git clone [email protected]:Topsort/topsort.js.git | ||
cd topsort.js | ||
bun install | ||
|
@@ -54,6 +54,7 @@ bun install | |
In order to run a local application and test it against the local Topsort.js you need to do the following (after having the SDK all set up on local machine): | ||
|
||
On Topsort.js: | ||
|
||
```bash | ||
bun run build | ||
bun link | ||
|
@@ -62,19 +63,22 @@ bun link | |
This will register a local `topsort.js` to be used on the secondary project. | ||
|
||
On the secondary project, if using bun, run: | ||
|
||
```bash | ||
bun link topsort.js | ||
``` | ||
|
||
Or add it in dependencies in the package.json file: | ||
```sh | ||
|
||
```bash | ||
"topsort.js": "link:topsort.js" | ||
``` | ||
|
||
## Building the SDK | ||
|
||
To build the SDK, run the following command: | ||
|
||
```sh | ||
```bash | ||
bun run build | ||
``` | ||
|
||
|
@@ -86,19 +90,21 @@ This command cleans the `dist` directory and compiles the Typescript files into | |
|
||
To run the unit tests, use the following command: | ||
|
||
```sh | ||
```bash | ||
bun run test | ||
``` | ||
|
||
## Code Standards | ||
|
||
We follow the coding standards set by Biome. Ensure your code follows these guidelines before submitting a pull request. You can run the formatter with the following command: | ||
```sh | ||
|
||
```bash | ||
bun run format | ||
``` | ||
|
||
To automatically fix issues: | ||
```sh | ||
|
||
```bash | ||
bun run format:fix | ||
``` | ||
|
||
|
@@ -116,10 +122,8 @@ We do conventional commits, so it will fail on checker with capital case after c | |
## Configuration | ||
|
||
The SDK uses following configuration files: | ||
|
||
`tsconfig.json`: TypeScript configuration. | ||
|
||
`tsup.config.ts`: Configuration for the TSUP bundler. | ||
- `tsconfig.json`: TypeScript configuration. | ||
- `tsup.config.ts`: Configuration for the TSUP bundler. | ||
|
||
## License | ||
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details. |
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
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