summaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
Diffstat (limited to '.github')
-rw-r--r--.github/CODEOWNERS3
-rw-r--r--.github/CONTRIBUTING.md237
-rw-r--r--.github/ISSUE_TEMPLATE/bug_report.yml62
-rw-r--r--.github/ISSUE_TEMPLATE/config.yml4
-rw-r--r--.github/ISSUE_TEMPLATE/feature_request.yml29
-rw-r--r--.github/PULL_REQUEST_TEMPLATE.md38
-rw-r--r--.github/SUPPORT.md11
-rw-r--r--.github/dependabot.yml24
-rw-r--r--.github/release-drafter.yml60
-rw-r--r--.github/workflows/browserstack.yml38
-rw-r--r--.github/workflows/bundlewatch.yml38
-rw-r--r--.github/workflows/calibreapp-image-actions.yml24
-rw-r--r--.github/workflows/codeql.yml38
-rw-r--r--.github/workflows/cspell.yml28
-rw-r--r--.github/workflows/css.yml32
-rw-r--r--.github/workflows/docs.yml45
-rw-r--r--.github/workflows/issue-close-require.yml19
-rw-r--r--.github/workflows/issue-labeled.yml19
-rw-r--r--.github/workflows/js.yml42
-rw-r--r--.github/workflows/lint.yml32
-rw-r--r--.github/workflows/node-sass.yml31
-rw-r--r--.github/workflows/release-notes.yml16
22 files changed, 870 insertions, 0 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
new file mode 100644
index 0000000..7d3fa99
--- /dev/null
+++ b/.github/CODEOWNERS
@@ -0,0 +1,3 @@
+*.js @twbs/js-review
+*.css @twbs/css-review
+*.scss @twbs/css-review
diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
new file mode 100644
index 0000000..c7211e6
--- /dev/null
+++ b/.github/CONTRIBUTING.md
@@ -0,0 +1,237 @@
+# Contributing to Bootstrap
+
+Looking to contribute something to Bootstrap? **Here's how you can help.**
+
+Please take a moment to review this document in order to make the contribution
+process easy and effective for everyone involved.
+
+Following these guidelines helps to communicate that you respect the time of
+the developers managing and developing this open source project. In return,
+they should reciprocate that respect in addressing your issue or assessing
+patches and features.
+
+
+## Using the issue tracker
+
+The [issue tracker](https://github.com/twbs/bootstrap/issues) is
+the preferred channel for [bug reports](#bug-reports), [features requests](#feature-requests)
+and [submitting pull requests](#pull-requests), but please respect the following
+restrictions:
+
+* Please **do not** use the issue tracker for personal support requests. Stack Overflow ([`bootstrap-5`](https://stackoverflow.com/questions/tagged/bootstrap-5) tag), [our GitHub Discussions](https://github.com/twbs/bootstrap/discussions) or [IRC](/README.md#community) are better places to get help.
+
+* Please **do not** derail or troll issues. Keep the discussion on topic and
+ respect the opinions of others.
+
+* Please **do not** post comments consisting solely of "+1" or ":thumbsup:".
+ Use [GitHub's "reactions" feature](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/)
+ instead. We reserve the right to delete comments which violate this rule.
+
+* Please **do not** open issues regarding the official themes offered on <https://themes.getbootstrap.com/>.
+ Instead, please email any questions or feedback regarding those themes to `themes AT getbootstrap DOT com`.
+
+
+## Issues and labels
+
+Our bug tracker utilizes several labels to help organize and identify issues. Here's what they represent and how we use them:
+
+- `browser bug` - Issues that are reported to us, but actually are the result of a browser-specific bug. These are diagnosed with reduced test cases and result in an issue opened on that browser's own bug tracker.
+- `confirmed` - Issues that have been confirmed with a reduced test case and identify a bug in Bootstrap.
+- `css` - Issues stemming from our compiled CSS or source Sass files.
+- `docs` - Issues for improving or updating our documentation.
+- `examples` - Issues involving the example templates included in our docs.
+- `feature` - Issues asking for a new feature to be added, or an existing one to be extended or modified. New features require a minor version bump (e.g., `v3.0.0` to `v3.1.0`).
+- `build` - Issues with our build system, which is used to run all our tests, concatenate and compile source files, and more.
+- `help wanted` - Issues we need or would love help from the community to resolve.
+- `js` - Issues stemming from our compiled or source JavaScript files.
+- `meta` - Issues with the project itself or our GitHub repository.
+
+For a complete look at our labels, see the [project labels page](https://github.com/twbs/bootstrap/labels).
+
+
+## Bug reports
+
+A bug is a _demonstrable problem_ that is caused by the code in the repository.
+Good bug reports are extremely helpful, so thanks!
+
+Guidelines for bug reports:
+
+0. **[Validate your HTML](https://html5.validator.nu/)** to ensure your
+ problem isn't caused by a simple error in your own code.
+
+1. **Use the GitHub issue search** &mdash; check if the issue has already been
+ reported.
+
+2. **Check if the issue has been fixed** &mdash; try to reproduce it using the
+ latest `main` (or `v4-dev` branch if the issue is about v4) in the repository.
+
+3. **Isolate the problem** &mdash; ideally create a [reduced test
+ case](https://css-tricks.com/reduced-test-cases/) and a live example.
+ These [v4 CodePen](https://codepen.io/team/bootstrap/pen/yLabNQL) and [v5 CodePen](https://codepen.io/team/bootstrap/pen/qBamdLj) are helpful templates.
+
+
+A good bug report shouldn't leave others needing to chase you up for more
+information. Please try to be as detailed as possible in your report. What is
+your environment? What steps will reproduce the issue? What browser(s) and OS
+experience the problem? Do other browsers show the bug differently? What
+would you expect to be the outcome? All these details will help people to fix
+any potential bugs.
+
+Example:
+
+> Short and descriptive example bug report title
+>
+> A summary of the issue and the browser/OS environment in which it occurs. If
+> suitable, include the steps required to reproduce the bug.
+>
+> 1. This is the first step
+> 2. This is the second step
+> 3. Further steps, etc.
+>
+> `<url>` - a link to the reduced test case
+>
+> Any other information you want to share that is relevant to the issue being
+> reported. This might include the lines of code that you have identified as
+> causing the bug, and potential solutions (and your opinions on their
+> merits).
+
+### Reporting upstream browser bugs
+
+Sometimes bugs reported to us are actually caused by bugs in the browser(s) themselves, not bugs in Bootstrap per se.
+
+| Vendor(s) | Browser(s) | Rendering engine | Bug reporting website(s) | Notes |
+| ------------- | ---------------------------- | ---------------- | ------------------------------------------------------ | -------------------------------------------------------- |
+| Mozilla | Firefox | Gecko | https://bugzilla.mozilla.org/enter_bug.cgi | "Core" is normally the right product option to choose. |
+| Apple | Safari | WebKit | https://bugs.webkit.org/enter_bug.cgi?product=WebKit | In Apple's bug reporter, choose "Safari" as the product. |
+| Google, Opera | Chrome, Chromium, Opera v15+ | Blink | https://bugs.chromium.org/p/chromium/issues/list | Click the "New issue" button. |
+| Microsoft | Edge | Blink | https://developer.microsoft.com/en-us/microsoft-edge/ | Go to "Help > Send Feedback" from the browser |
+
+
+## Feature requests
+
+Feature requests are welcome. But take a moment to find out whether your idea
+fits with the scope and aims of the project. It's up to *you* to make a strong
+case to convince the project's developers of the merits of this feature. Please
+provide as much detail and context as possible.
+
+
+## Pull requests
+
+Good pull requests—patches, improvements, new features—are a fantastic
+help. They should remain focused in scope and avoid containing unrelated
+commits.
+
+**Please ask first** before embarking on any **significant** pull request (e.g.
+implementing features, refactoring code, porting to a different language),
+otherwise you risk spending a lot of time working on something that the
+project's developers might not want to merge into the project. For trivial
+things, or things that don't require a lot of your time, you can go ahead and
+make a PR.
+
+Please adhere to the [coding guidelines](#code-guidelines) used throughout the
+project (indentation, accurate comments, etc.) and any other requirements
+(such as test coverage).
+
+**Do not edit `bootstrap.css` or `bootstrap.js`, and do not commit
+any dist files (`dist/` or `js/dist`).** Those files are automatically generated by our build tools. You should
+edit the source files in [`/bootstrap/scss/`](https://github.com/twbs/bootstrap/tree/main/scss)
+and/or [`/bootstrap/js/src/`](https://github.com/twbs/bootstrap/tree/main/js/src) instead.
+
+Similarly, when contributing to Bootstrap's documentation, you should edit the
+documentation source files in
+[the `/bootstrap/site/content/docs/` directory of the `main` branch](https://github.com/twbs/bootstrap/tree/main/site/content/docs).
+**Do not edit the `gh-pages` branch.** That branch is generated from the
+documentation source files and is managed separately by the Bootstrap Core Team.
+
+Adhering to the following process is the best way to get your work
+included in the project:
+
+1. [Fork](https://help.github.com/articles/fork-a-repo/) the project, clone your fork,
+ and configure the remotes:
+
+ ```bash
+ # Clone your fork of the repo into the current directory
+ git clone https://github.com/<your-username>/bootstrap.git
+ # Navigate to the newly cloned directory
+ cd bootstrap
+ # Assign the original repo to a remote called "upstream"
+ git remote add upstream https://github.com/twbs/bootstrap.git
+ ```
+
+2. If you cloned a while ago, get the latest changes from upstream:
+
+ ```bash
+ git checkout main
+ git pull upstream main
+ ```
+
+3. Create a new topic branch (off the main project development branch) to
+ contain your feature, change, or fix:
+
+ ```bash
+ git checkout -b <topic-branch-name>
+ ```
+
+4. Commit your changes in logical chunks. Please adhere to these [git commit
+ message guidelines](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)
+ or your code is unlikely be merged into the main project. Use Git's
+ [interactive rebase](https://help.github.com/articles/about-git-rebase/)
+ feature to tidy up your commits before making them public.
+
+5. Locally merge (or rebase) the upstream development branch into your topic branch:
+
+ ```bash
+ git pull [--rebase] upstream main
+ ```
+
+6. Push your topic branch up to your fork:
+
+ ```bash
+ git push origin <topic-branch-name>
+ ```
+
+7. [Open a Pull Request](https://help.github.com/articles/about-pull-requests/)
+ with a clear title and description against the `main` branch.
+
+**IMPORTANT**: By submitting a patch, you agree to allow the project owners to
+license your work under the terms of the [MIT License](../LICENSE) (if it
+includes code changes) and under the terms of the
+[Creative Commons Attribution 3.0 Unported License](https://creativecommons.org/licenses/by/3.0/)
+(if it includes documentation changes).
+
+
+## Code guidelines
+
+### HTML
+
+[Adhere to the Code Guide.](https://codeguide.co/#html)
+
+- Use tags and elements appropriate for an HTML5 doctype (e.g., self-closing tags).
+- Use CDNs and HTTPS for third-party JS when possible. We don't use protocol-relative URLs in this case because they break when viewing the page locally via `file://`.
+- Use [WAI-ARIA](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) attributes in documentation examples to promote accessibility.
+
+### CSS
+
+[Adhere to the Code Guide.](https://codeguide.co/#css)
+
+- When feasible, default color palettes should comply with [WCAG color contrast guidelines](https://www.w3.org/TR/WCAG20/#visual-audio-contrast).
+- Except in rare cases, don't remove default `:focus` styles (via e.g. `outline: none;`) without providing alternative styles. See [this A11Y Project post](https://www.a11yproject.com/posts/2013-01-25-never-remove-css-outlines/) for more details.
+
+### JS
+
+- No semicolons (in client-side JS)
+- 2 spaces (no tabs)
+- strict mode
+- "Attractive"
+
+### Checking coding style
+
+Run `npm run test` before committing to ensure your changes follow our coding standards.
+
+
+## License
+
+By contributing your code, you agree to license your contribution under the [MIT License](../LICENSE).
+By contributing to the documentation, you agree to license your contribution under the [Creative Commons Attribution 3.0 Unported License](https://creativecommons.org/licenses/by/3.0/).
+
+Prior to v3.1.0, Bootstrap's code was released under the Apache License v2.0.
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
new file mode 100644
index 0000000..3e3d6b9
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -0,0 +1,62 @@
+name: Report a bug
+description: Tell us about a bug or issue you may have identified in Bootstrap.
+title: "Provide a general summary of the issue"
+labels: [bug]
+assignees: "-"
+body:
+ - type: checkboxes
+ attributes:
+ label: Prerequisites
+ description: Take a couple minutes to help our maintainers work faster.
+ options:
+ - label: I have [searched](https://github.com/twbs/bootstrap/issues?utf8=%E2%9C%93&q=is%3Aissue) for duplicate or closed issues
+ required: true
+ - label: I have [validated](https://html5.validator.nu/) any HTML to avoid common problems
+ required: true
+ - label: I have read the [contributing guidelines](https://github.com/twbs/bootstrap/blob/main/.github/CONTRIBUTING.md)
+ required: true
+ - type: textarea
+ id: what-happened
+ attributes:
+ label: Describe the issue
+ description: Provide a summary of the issue and what you expected to happen, including specific steps to reproduce.
+ validations:
+ required: true
+ - type: textarea
+ id: reduced-test-case
+ attributes:
+ label: Reduced test cases
+ description: Include links [reduced test case](https://css-tricks.com/reduced-test-cases/) links or suggested fixes using CodePen ([v4 template](https://codepen.io/team/bootstrap/pen/yLabNQL) or [v5 template](https://codepen.io/team/bootstrap/pen/qBamdLj)).
+ validations:
+ required: true
+ - type: dropdown
+ id: os
+ attributes:
+ label: What operating system(s) are you seeing the problem on?
+ multiple: true
+ options:
+ - Windows
+ - macOS
+ - Android
+ - iOS
+ - Linux
+ validations:
+ required: true
+ - type: dropdown
+ id: browser
+ attributes:
+ label: What browser(s) are you seeing the problem on?
+ multiple: true
+ options:
+ - Chrome
+ - Safari
+ - Firefox
+ - Microsoft Edge
+ - Opera
+ - type: input
+ id: version
+ attributes:
+ label: What version of Bootstrap are you using?
+ placeholder: "e.g., v5.1.0 or v4.5.2"
+ validations:
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 0000000..f152071
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,4 @@
+contact_links:
+ - name: Ask the community
+ url: https://github.com/twbs/bootstrap/discussions/new
+ about: Ask and discuss questions with other Bootstrap community members.
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml
new file mode 100644
index 0000000..4b757b1
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.yml
@@ -0,0 +1,29 @@
+name: Feature request
+description: Suggest new or updated features to include in Bootstrap.
+title: "Suggest a new feature"
+labels: [feature]
+assignees: []
+body:
+ - type: checkboxes
+ attributes:
+ label: Prerequisites
+ description: Take a couple minutes to help our maintainers work faster.
+ options:
+ - label: I have [searched](https://github.com/twbs/bootstrap/issues?utf8=%E2%9C%93&q=is%3Aissue) for duplicate or closed feature requests
+ required: true
+ - label: I have read the [contributing guidelines](https://github.com/twbs/bootstrap/blob/main/.github/CONTRIBUTING.md)
+ required: true
+ - type: textarea
+ id: proposal
+ attributes:
+ label: Proposal
+ description: Provide detailed information for what we should add, including relevant links to prior art, screenshots, or live demos whenever possible.
+ validations:
+ required: true
+ - type: textarea
+ id: motivation
+ attributes:
+ label: Motivation and context
+ description: Tell us why this change is needed or helpful, and what problems it may help solve.
+ validations:
+ required: true
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 0000000..4675f70
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,38 @@
+### Description
+
+<!-- Describe your changes in detail -->
+
+### Motivation & Context
+
+<!-- Why is this change required? What problem does it solve? -->
+
+### Type of changes
+
+<!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply. -->
+
+- [ ] Bug fix (non-breaking change which fixes an issue)
+- [ ] New feature (non-breaking change which adds functionality)
+- [ ] Refactoring (non-breaking change)
+- [ ] Breaking change (fix or feature that would change existing functionality)
+
+### Checklist
+
+<!-- Go over all the following points, and put an `x` in all the boxes that apply. -->
+<!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
+
+- [ ] I have read the [contributing guidelines](https://github.com/twbs/bootstrap/blob/main/.github/CONTRIBUTING.md)
+- [ ] My code follows the code style of the project _(using `npm run lint`)_
+- [ ] My change introduces changes to the documentation
+- [ ] I have updated the documentation accordingly
+- [ ] I have added tests to cover my changes
+- [ ] All new and existing tests passed
+
+#### Live previews
+
+<!-- Please add direct links where your modifications can be seen in the documentation -->
+
+* https://deploy-preview-{your pr number}--twbs-bootstrap.netlify.app/
+
+### Related issues
+
+<!-- Please link any related issues here. -->
diff --git a/.github/SUPPORT.md b/.github/SUPPORT.md
new file mode 100644
index 0000000..26b3be4
--- /dev/null
+++ b/.github/SUPPORT.md
@@ -0,0 +1,11 @@
+### Bug reports
+
+See the [contributing guidelines](CONTRIBUTING.md) for sharing bug reports.
+
+### How-to
+
+For general troubleshooting or help getting started:
+
+- Ask and explore [our GitHub Discussions](https://github.com/twbs/bootstrap/discussions).
+- Chat with fellow Bootstrappers in IRC. On the `irc.libera.chat` server, in the `#bootstrap` channel.
+- Ask and explore Stack Overflow with the [`bootstrap-5`](https://stackoverflow.com/questions/tagged/bootstrap-5) tag.
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 0000000..29135b4
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,24 @@
+version: 2
+updates:
+ - package-ecosystem: npm
+ directory: "/"
+ schedule:
+ interval: weekly
+ day: tuesday
+ time: "12:00"
+ timezone: Europe/Athens
+ open-pull-requests-limit: 10
+ reviewers:
+ - XhmikosR
+ labels:
+ - dependencies
+ - v5
+ versioning-strategy: increase
+ rebase-strategy: disabled
+ - package-ecosystem: "github-actions"
+ directory: "/"
+ schedule:
+ interval: weekly
+ day: tuesday
+ time: "12:00"
+ timezone: Europe/Athens
diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml
new file mode 100644
index 0000000..0289984
--- /dev/null
+++ b/.github/release-drafter.yml
@@ -0,0 +1,60 @@
+name-template: 'v$NEXT_MAJOR_VERSION'
+tag-template: 'v$NEXT_MAJOR_VERSION'
+prerelease: true
+exclude-labels:
+ - 'skip-changelog'
+categories:
+ - title: '❗ Breaking Changes'
+ labels:
+ - 'breaking-change'
+ - title: '🚀 Highlights'
+ labels:
+ - 'release-highlight'
+ - title: '🚀 Features'
+ labels:
+ - 'new-feature'
+ - 'feature'
+ - 'enhancement'
+ - title: '🐛 Bug fixes'
+ labels:
+ - 'fix'
+ - 'bugfix'
+ - 'bug'
+ - title: '⚡ Performance improvements'
+ labels:
+ - 'performance'
+ - title: '🎨 CSS'
+ labels:
+ - 'css'
+ - title: '☕️ JavaScript'
+ labels:
+ - 'js'
+ - title: '📖 Docs'
+ labels:
+ - 'docs'
+ - title: '🛠 Examples'
+ labels:
+ - 'examples'
+ - title: '🌎 Accessibility'
+ labels:
+ - 'accessibility'
+ - title: '🔧 Utility API'
+ labels:
+ - 'utility API'
+ - 'utilities'
+ - title: '🏭 Tests'
+ labels:
+ - 'tests'
+ - title: '🧰 Misc'
+ labels:
+ - 'build'
+ - 'meta'
+ - 'chore'
+ - 'CI'
+ - title: '📦 Dependencies'
+ labels:
+ - 'dependencies'
+change-template: '- #$NUMBER: $TITLE'
+template: |
+ ## Changes
+ $CHANGES
diff --git a/.github/workflows/browserstack.yml b/.github/workflows/browserstack.yml
new file mode 100644
index 0000000..425c566
--- /dev/null
+++ b/.github/workflows/browserstack.yml
@@ -0,0 +1,38 @@
+name: BrowserStack
+
+on:
+ push:
+ workflow_dispatch:
+
+env:
+ FORCE_COLOR: 2
+ NODE: 16
+
+jobs:
+ browserstack:
+ runs-on: ubuntu-latest
+ if: github.repository == 'twbs/bootstrap' && (!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]'))
+ timeout-minutes: 30
+
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@v3
+
+ - name: Set up Node.js
+ uses: actions/setup-node@v3
+ with:
+ node-version: "${{ env.NODE }}"
+ cache: npm
+
+ - name: Install npm dependencies
+ run: npm ci
+
+ - name: Run dist
+ run: npm run dist
+
+ - name: Run BrowserStack tests
+ run: npm run js-test-cloud
+ env:
+ BROWSER_STACK_ACCESS_KEY: "${{ secrets.BROWSER_STACK_ACCESS_KEY }}"
+ BROWSER_STACK_USERNAME: "${{ secrets.BROWSER_STACK_USERNAME }}"
+ GITHUB_SHA: "${{ github.sha }}"
diff --git a/.github/workflows/bundlewatch.yml b/.github/workflows/bundlewatch.yml
new file mode 100644
index 0000000..d1a1747
--- /dev/null
+++ b/.github/workflows/bundlewatch.yml
@@ -0,0 +1,38 @@
+name: Bundlewatch
+
+on:
+ push:
+ branches-ignore:
+ - "dependabot/**"
+ pull_request:
+ workflow_dispatch:
+
+env:
+ FORCE_COLOR: 2
+ NODE: 16
+
+jobs:
+ bundlewatch:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@v3
+
+ - name: Set up Node.js
+ uses: actions/setup-node@v3
+ with:
+ node-version: "${{ env.NODE }}"
+ cache: npm
+
+ - name: Install npm dependencies
+ run: npm ci
+
+ - name: Run dist
+ run: npm run dist
+
+ - name: Run bundlewatch
+ run: npm run bundlewatch
+ env:
+ BUNDLEWATCH_GITHUB_TOKEN: "${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}"
+ CI_BRANCH_BASE: main
diff --git a/.github/workflows/calibreapp-image-actions.yml b/.github/workflows/calibreapp-image-actions.yml
new file mode 100644
index 0000000..e23f562
--- /dev/null
+++ b/.github/workflows/calibreapp-image-actions.yml
@@ -0,0 +1,24 @@
+name: Compress Images
+
+on:
+ pull_request:
+ paths:
+ - '**.jpg'
+ - '**.jpeg'
+ - '**.png'
+ - '**.webp'
+
+jobs:
+ build:
+ # Only run on Pull Requests within the same repository, and not from forks.
+ if: github.event.pull_request.head.repo.full_name == github.repository
+ name: calibreapp/image-actions
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout Repo
+ uses: actions/checkout@v3
+
+ - name: Compress Images
+ uses: calibreapp/image-actions@1.1.0
+ with:
+ githubToken: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
new file mode 100644
index 0000000..70be056
--- /dev/null
+++ b/.github/workflows/codeql.yml
@@ -0,0 +1,38 @@
+name: "CodeQL"
+
+on:
+ push:
+ branches:
+ - main
+ - v4-dev
+ - "!dependabot/**"
+ pull_request:
+ # The branches below must be a subset of the branches above
+ branches:
+ - main
+ - v4-dev
+ - "!dependabot/**"
+ schedule:
+ - cron: "0 2 * * 5"
+ workflow_dispatch:
+
+jobs:
+ analyze:
+ name: Analyze
+ runs-on: ubuntu-latest
+ permissions:
+ actions: read
+ contents: read
+ security-events: write
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v3
+
+ - name: Initialize CodeQL
+ uses: github/codeql-action/init@v2
+ with:
+ languages: "javascript"
+
+ - name: Perform CodeQL Analysis
+ uses: github/codeql-action/analyze@v2
diff --git a/.github/workflows/cspell.yml b/.github/workflows/cspell.yml
new file mode 100644
index 0000000..3751ad3
--- /dev/null
+++ b/.github/workflows/cspell.yml
@@ -0,0 +1,28 @@
+name: cspell
+
+on:
+ push:
+ branches-ignore:
+ - "dependabot/**"
+ pull_request:
+ workflow_dispatch:
+
+env:
+ FORCE_COLOR: 2
+ NODE: 16
+
+jobs:
+ cspell:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@v3
+
+ - name: Run cspell
+ uses: streetsidesoftware/cspell-action@v2
+ with:
+ config: ".cspell.json"
+ files: "**/*.md"
+ inline: error
+ incremental_files_only: false
diff --git a/.github/workflows/css.yml b/.github/workflows/css.yml
new file mode 100644
index 0000000..857a567
--- /dev/null
+++ b/.github/workflows/css.yml
@@ -0,0 +1,32 @@
+name: CSS
+
+on:
+ push:
+ branches-ignore:
+ - "dependabot/**"
+ pull_request:
+ workflow_dispatch:
+
+env:
+ FORCE_COLOR: 2
+ NODE: 16
+
+jobs:
+ css:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@v3
+
+ - name: Set up Node.js
+ uses: actions/setup-node@v3
+ with:
+ node-version: "${{ env.NODE }}"
+ cache: npm
+
+ - name: Install npm dependencies
+ run: npm ci
+
+ - name: Build CSS
+ run: npm run css
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
new file mode 100644
index 0000000..f33413e
--- /dev/null
+++ b/.github/workflows/docs.yml
@@ -0,0 +1,45 @@
+name: Docs
+
+on:
+ push:
+ branches-ignore:
+ - "dependabot/**"
+ pull_request:
+ workflow_dispatch:
+
+env:
+ FORCE_COLOR: 2
+ NODE: 16
+
+jobs:
+ docs:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@v3
+
+ - name: Set up Node.js
+ uses: actions/setup-node@v3
+ with:
+ node-version: "${{ env.NODE }}"
+ cache: npm
+
+ - run: java -version
+
+ - name: Install npm dependencies
+ run: npm ci
+
+ - name: Build docs
+ run: npm run docs-build
+
+ - name: Validate HTML
+ run: npm run docs-vnu
+
+ - name: Run linkinator
+ uses: JustinBeckwith/linkinator-action@v1
+ with:
+ paths: _site
+ recurse: true
+ verbosity: error
+ skip: "^(?!http://localhost)"
diff --git a/.github/workflows/issue-close-require.yml b/.github/workflows/issue-close-require.yml
new file mode 100644
index 0000000..b251cd7
--- /dev/null
+++ b/.github/workflows/issue-close-require.yml
@@ -0,0 +1,19 @@
+name: Close Issue Awaiting Reply
+
+on:
+ schedule:
+ - cron: "0 0 * * *"
+
+jobs:
+ issue-close-require:
+ runs-on: ubuntu-latest
+ if: github.repository == 'twbs/bootstrap'
+ steps:
+ - name: awaiting reply
+ uses: actions-cool/issues-helper@v3
+ with:
+ actions: "close-issues"
+ labels: "awaiting-reply"
+ inactive-day: 14
+ body: |
+ As the issue was labeled with `awaiting-reply`, but there has been no response in 14 days, this issue will be closed. If you have any questions, you can comment/reply.
diff --git a/.github/workflows/issue-labeled.yml b/.github/workflows/issue-labeled.yml
new file mode 100644
index 0000000..fac5849
--- /dev/null
+++ b/.github/workflows/issue-labeled.yml
@@ -0,0 +1,19 @@
+name: Issue Labeled
+
+on:
+ issues:
+ types: [labeled]
+
+jobs:
+ issue-labeled:
+ if: github.repository == 'twbs/bootstrap'
+ runs-on: ubuntu-latest
+ steps:
+ - name: awaiting reply
+ if: github.event.label.name == 'needs-example'
+ uses: actions-cool/issues-helper@v3
+ with:
+ actions: "create-comment"
+ token: ${{ secrets.GITHUB_TOKEN }}
+ body: |
+ Hello @${{ github.event.issue.user.login }}. Bug reports must include a **live demo** of the issue. Per our [contributing guidelines](https://github.com/twbs/bootstrap/blob/main/.github/CONTRIBUTING.md), please create a reduced test case on [CodePen](https://codepen.io/) or [StackBlitz](https://stackblitz.com/) and report back with your link, Bootstrap version, and specific browser and Operating System details.
diff --git a/.github/workflows/js.yml b/.github/workflows/js.yml
new file mode 100644
index 0000000..82616c5
--- /dev/null
+++ b/.github/workflows/js.yml
@@ -0,0 +1,42 @@
+name: JS Tests
+
+on:
+ push:
+ branches-ignore:
+ - "dependabot/**"
+ pull_request:
+ workflow_dispatch:
+
+env:
+ FORCE_COLOR: 2
+ NODE: 16
+
+jobs:
+ run:
+ name: JS Tests
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@v3
+
+ - name: Set up Node.js
+ uses: actions/setup-node@v3
+ with:
+ node-version: ${{ env.NODE }}
+ cache: npm
+
+ - name: Install npm dependencies
+ run: npm ci
+
+ - name: Run dist
+ run: npm run js
+
+ - name: Run JS tests
+ run: npm run js-test
+
+ - name: Run Coveralls
+ uses: coverallsapp/github-action@1.1.3
+ with:
+ github-token: "${{ secrets.GITHUB_TOKEN }}"
+ path-to-lcov: "./js/coverage/lcov.info"
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
new file mode 100644
index 0000000..816694e
--- /dev/null
+++ b/.github/workflows/lint.yml
@@ -0,0 +1,32 @@
+name: Lint
+
+on:
+ push:
+ branches-ignore:
+ - "dependabot/**"
+ pull_request:
+ workflow_dispatch:
+
+env:
+ FORCE_COLOR: 2
+ NODE: 16
+
+jobs:
+ lint:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@v3
+
+ - name: Set up Node.js
+ uses: actions/setup-node@v3
+ with:
+ node-version: "${{ env.NODE }}"
+ cache: npm
+
+ - name: Install npm dependencies
+ run: npm ci
+
+ - name: Lint
+ run: npm run lint
diff --git a/.github/workflows/node-sass.yml b/.github/workflows/node-sass.yml
new file mode 100644
index 0000000..465cee4
--- /dev/null
+++ b/.github/workflows/node-sass.yml
@@ -0,0 +1,31 @@
+name: CSS (node-sass)
+
+on:
+ push:
+ branches-ignore:
+ - "dependabot/**"
+ pull_request:
+ workflow_dispatch:
+
+env:
+ FORCE_COLOR: 2
+ NODE: 16
+
+jobs:
+ css:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@v3
+
+ - name: Set up Node.js
+ uses: actions/setup-node@v3
+ with:
+ node-version: "${{ env.NODE }}"
+
+ - name: Build CSS with node-sass
+ run: |
+ npx --package node-sass@latest node-sass --version
+ npx --package node-sass@latest node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 scss/ -o dist-sass/css/
+ ls -Al dist-sass/css
diff --git a/.github/workflows/release-notes.yml b/.github/workflows/release-notes.yml
new file mode 100644
index 0000000..bbd0a24
--- /dev/null
+++ b/.github/workflows/release-notes.yml
@@ -0,0 +1,16 @@
+name: Release notes
+
+on:
+ push:
+ branches:
+ - main
+ workflow_dispatch:
+
+jobs:
+ update_release_draft:
+ runs-on: ubuntu-latest
+ if: github.repository == 'twbs/bootstrap'
+ steps:
+ - uses: release-drafter/release-drafter@v5
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}