-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore: Add initial workflows, licence and docs (#9)
- Loading branch information
1 parent
ee0e7cf
commit bb30079
Showing
39 changed files
with
857 additions
and
0 deletions.
There are no files selected for viewing
Validating CODEOWNERS rules …
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,13 @@ | ||
# The CODEOWNERS file defines individuals or teams that are | ||
# responsible for code this repository. | ||
|
||
# Code owners are automatically requested for review when someone opens a | ||
# pull request that modifies code that they own. | ||
# Code owners are not automatically requested to review draft pull requests | ||
# Each line is a file pattern followed by one or more owners. | ||
|
||
# These owners will be the default owners for everything in the repo. | ||
# Unless a later match takes precedence, @krusche and @jpbernius will be | ||
# requested for review when someone opens a pull request. | ||
|
||
* @ls1intum/github-action-ui |
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,39 @@ | ||
<!-- Thanks for contributing to Helios! Before you submit your pull request, please make sure to check all tasks by putting an x in the [ ] (don't: [x ], [ x], do: [x]). Remove not applicable tasks and do not leave them unchecked --> | ||
<!-- If your pull request is not ready for review yet, create a draft pull request! --> | ||
|
||
### Motivation | ||
<!-- Why is this change required? What problem does it solve? --> | ||
<!-- If it fixes an open issue, please link to the issue here. --> | ||
|
||
|
||
### Description | ||
<!-- Describe your changes in detail --> | ||
|
||
### Testing Instructions | ||
<!-- Please describe in detail how reviewers can test your changes. Make sure to take all related features and views into account! --> | ||
#### Prerequisites: | ||
- GitHub Account without having any additional access-rights (e.g. admin, owner) | ||
- ... | ||
#### Flow: | ||
1. Log in to Helios as a Developer | ||
2. Navigate to Settings | ||
3. ... | ||
|
||
### Screenshots | ||
<!-- Add screenshots to demonstrate the changes in the UI. Remove the section if you did not change the UI. --> | ||
|
||
### Checklist | ||
<!-- Remove tasks that are not applicable for your PR. Please only put the PR into ready for review, if all relevant tasks are checked! --> | ||
#### General | ||
- [ ] PR description explains the purpose and changes. [(f.e. following the 'Conventional Commits')](https://www.conventionalcommits.org/en/v1.0.0/) | ||
- [ ] Changes have been tested locally. | ||
- [ ] Screenshots have been attached. | ||
|
||
#### Server | ||
- [ ] Code is performant and follows best practices | ||
- [ ] I documented the Java code using JavaDoc style. | ||
|
||
#### Client | ||
- [ ] I documented the TypeScript code using JSDoc style. | ||
- [ ] I added multiple screenshots/screencasts of my UI changes. | ||
- [ ] I translated all newly inserted strings into English and German. |
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 @@ | ||
server: | ||
- changed-files: | ||
- any-glob-to-any-file: server/** | ||
|
||
client: | ||
- changed-files: | ||
- any-glob-to-any-file: client/** | ||
|
||
documentation: | ||
- changed-files: | ||
- any-glob-to-any-file: docs/** | ||
|
||
feature: | ||
- head-branch: ['^feature', '^feat'] | ||
|
||
bug: | ||
- head-branch: ['^fix', '^bug'] |
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: Documentation | ||
|
||
on: | ||
pull_request: | ||
paths: | ||
- 'docs/**' | ||
- '.github/workflows/docs.yml' | ||
push: | ||
branches: | ||
- main | ||
paths: | ||
- 'docs/**' | ||
- '.github/workflows/docs.yml' | ||
|
||
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages | ||
permissions: | ||
contents: read | ||
pages: write | ||
id-token: write | ||
|
||
jobs: | ||
docs: | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: FelixTJDietrich/sphinx-action@java | ||
with: | ||
docs-folder: "docs/" | ||
build-command: make html dirhtml | ||
- uses: actions/upload-artifact@v4 | ||
with: | ||
name: Documentation | ||
path: docs/_build/html/ | ||
- uses: actions/upload-pages-artifact@v3 | ||
with: | ||
path: docs/_build/dirhtml/ | ||
deploy: | ||
if: github.ref == 'refs/heads/main' | ||
environment: | ||
name: github-pages | ||
url: "https://ls1intum.github.io/Helios/" | ||
runs-on: ubuntu-22.04 | ||
needs: docs | ||
steps: | ||
- name: Deploy to GitHub Pages | ||
id: deployment | ||
uses: actions/deploy-pages@v4 |
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,92 @@ | ||
name: "Pull Request Labeler" | ||
on: | ||
pull_request_target: | ||
|
||
jobs: | ||
labeler: | ||
name: "Apply labels" | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: read | ||
pull-requests: write | ||
steps: | ||
- name: "Checkout repository" | ||
uses: actions/checkout@v4 | ||
|
||
- uses: actions/labeler@v5 | ||
with: | ||
configuration-path: .github/labeler.yml | ||
sync-labels: true | ||
|
||
- name: "Apply size label" | ||
uses: actions/github-script@v7 | ||
with: | ||
script: | | ||
console.log("Fetching pull request diff..."); | ||
const diff = await github.rest.pulls.get({ | ||
owner: context.repo.owner, | ||
repo: context.repo.repo, | ||
pull_number: context.issue.number, | ||
mediaType: { | ||
format: "diff", | ||
}, | ||
}); | ||
console.log("Pull request diff fetched successfully."); | ||
const changedLines = diff.data | ||
.split("\n") | ||
.filter(line => line.startsWith('+') || line.startsWith('-')) | ||
.length; | ||
console.log(`Number of changed lines: ${changedLines}`); | ||
let label = ''; | ||
if (changedLines > 1000) label = 'size:XXL'; | ||
else if (changedLines > 499) label = 'size:XL'; | ||
else if (changedLines > 99) label = 'size:L'; | ||
else if (changedLines > 29) label = 'size:M'; | ||
else if (changedLines > 9) label = 'size:S'; | ||
else label = 'size:XS'; | ||
console.log("Fetching existing labels..."); | ||
const labels = await github.rest.issues.listLabelsOnIssue({ | ||
owner: context.repo.owner, | ||
repo: context.repo.repo, | ||
issue_number: context.issue.number, | ||
}); | ||
const sizeLabels = labels.data | ||
.filter(label => label.name.startsWith('size:')) | ||
.map(label => label.name); | ||
const removeLabels = sizeLabels.filter(sizeLabel => sizeLabel !== label); | ||
if (removeLabels.length > 0) { | ||
console.log(`Removing existing size labels: ${removeLabels.join(', ')}`); | ||
for (const label of removeLabels) { | ||
await github.rest.issues.removeLabel({ | ||
owner: context.repo.owner, | ||
repo: context.repo.repo, | ||
issue_number: context.issue.number, | ||
name: label, | ||
}); | ||
} | ||
console.log("Existing size labels removed."); | ||
} else { | ||
console.log("No size labels to remove."); | ||
} | ||
if (label) { | ||
if (sizeLabels.includes(label)) { | ||
console.log(`Label "${label}" already applied.`); | ||
} else { | ||
console.log(`Applying label "${label}" to the pull request...`); | ||
await github.rest.issues.addLabels({ | ||
owner: context.repo.owner, | ||
repo: context.repo.repo, | ||
issue_number: context.issue.number, | ||
labels: [label] | ||
}); | ||
console.log(`Label "${label}" applied successfully.`); | ||
} | ||
} else { | ||
console.log("No label to apply."); | ||
} |
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,11 @@ | ||
name: Pull Request Opened | ||
on: | ||
pull_request_target: | ||
types: [opened] | ||
|
||
jobs: | ||
assign: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Assign Pull Request to its Author | ||
uses: technote-space/assign-author@v1 |
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: Pull Request Ready for Review | ||
on: | ||
pull_request_target: | ||
types: [ready_for_review] | ||
|
||
jobs: | ||
pullRequestReadyForReview: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Label "ready for review" | ||
uses: actions/github-script@v7 | ||
with: | ||
github-token: ${{secrets.GITHUB_TOKEN}} | ||
script: | | ||
await github.rest.issues.addLabels({ | ||
issue_number: context.issue.number, | ||
owner: context.repo.owner, | ||
repo: context.repo.repo, | ||
labels: ['ready for review'] | ||
}) |
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 @@ | ||
name: Stale | ||
on: | ||
schedule: | ||
- cron: "0 12 * * *" | ||
|
||
jobs: | ||
stale: | ||
if: github.repository_owner == 'ls1intum' | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Check for stale PRs | ||
uses: actions/stale@v9 | ||
with: | ||
days-before-stale: 7 | ||
days-before-close: 14 | ||
# Disable issue checking, only PR | ||
days-before-issue-stale: -1 | ||
remove-stale-when-updated: true | ||
stale-pr-label: "stale" | ||
exempt-pr-labels: "no-stale" | ||
labels-to-remove-when-stale: "ready for review" | ||
stale-pr-message: > | ||
There hasn't been any activity on this pull request recently. | ||
Therefore, this pull request has been automatically marked as stale | ||
and will be closed if no further activity occurs within **seven** days. | ||
Thank you for your contributions. |
Oops, something went wrong.