aboutsummaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorBobby <[email protected]>2024-08-16 20:47:33 -0400
committerGitHub <[email protected]>2024-08-16 20:47:33 -0400
commit6b28433d9cfde435be8ec2bd6cf91e6324d08865 (patch)
tree8343c27b8b95ff5639233e81cf157f92e5688466 /.github
parentd53094ec16ba385faae2973ddee648698b32ab24 (diff)
parent048f56f51460df75e92a2f7b472e1c56baeb68f7 (diff)
downloadbootstrap-main.tar.xz
bootstrap-main.zip
Merge branch 'twbs:main' into mainHEADmain
Diffstat (limited to '.github')
-rw-r--r--.github/CONTRIBUTING.md31
-rw-r--r--.github/PULL_REQUEST_TEMPLATE.md38
-rw-r--r--.github/SUPPORT.md2
-rw-r--r--.github/codeql/codeql-config.yml3
-rw-r--r--.github/dependabot.yml11
-rw-r--r--.github/release-drafter.yml3
-rw-r--r--.github/workflows/browserstack.yml17
-rw-r--r--.github/workflows/bundlewatch.yml16
-rw-r--r--.github/workflows/calibreapp-image-actions.yml32
-rw-r--r--.github/workflows/codeql.yml21
-rw-r--r--.github/workflows/cspell.yml36
-rw-r--r--.github/workflows/css.yml19
-rw-r--r--.github/workflows/docs.yml31
-rw-r--r--.github/workflows/issue-close-require.yml26
-rw-r--r--.github/workflows/issue-labeled.yml26
-rw-r--r--.github/workflows/js.yml32
-rw-r--r--.github/workflows/lint.yml16
-rw-r--r--.github/workflows/node-sass.yml29
-rw-r--r--.github/workflows/release-notes.yml10
19 files changed, 327 insertions, 72 deletions
diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index be4ad836d..1c9caae3f 100644
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -18,21 +18,26 @@ the preferred channel for [bug reports](#bug-reports), [features requests](#feat
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),
- [Slack](https://bootstrap-slack.herokuapp.com/) or [IRC](/README.md#community) are better places to get help.
+- 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
+- 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:".
+- 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/>.
+- 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 assignment
+
+The core team will be looking at the open issues, analyze them, and provide guidance on how to proceed. **Issues won't be assigned to anyone outside the core team.** However, contributors are welcome to participate in the discussion and provide their input on how to best solve the issue, and even submit a PR if they want to. Please wait that the issue is ready to be worked on before submitting a PR, we don't want to waste your time.
+
+Please keep in mind that the core team is small, has limited resources and that we are not always able to respond immediately. We will try to provide feedback as soon as possible, but please be patient. If you don't get a response immediately, it doesn't mean that we are ignoring you or that we don't care about your issue or PR. We will get back to you as soon as we can.
+
+
## 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:
@@ -69,7 +74,7 @@ Guidelines for bug reports:
3. **Isolate the problem** &mdash; ideally create a [reduced test
case](https://css-tricks.com/reduced-test-cases/) and a live example.
- [This JS Bin](https://jsbin.com/lolome/edit?html,output) is a helpful template.
+ 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
@@ -103,16 +108,16 @@ Sometimes bugs reported to us are actually caused by bugs in the browser(s) them
| 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 |
+| 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
+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.
@@ -216,7 +221,7 @@ includes code changes) and under the terms of the
[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).
+- When feasible, default color palettes should comply with [WCAG color contrast guidelines](https://www.w3.org/TR/WCAG/#distinguishable).
- 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
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 000000000..98e45c55a
--- /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
index a4739f589..26b3be42c 100644
--- a/.github/SUPPORT.md
+++ b/.github/SUPPORT.md
@@ -6,6 +6,6 @@ See the [contributing guidelines](CONTRIBUTING.md) for sharing bug reports.
For general troubleshooting or help getting started:
-- Join [the official Slack room](https://bootstrap-slack.herokuapp.com/).
+- 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/codeql/codeql-config.yml b/.github/codeql/codeql-config.yml
new file mode 100644
index 000000000..957877282
--- /dev/null
+++ b/.github/codeql/codeql-config.yml
@@ -0,0 +1,3 @@
+name: "CodeQL config"
+paths-ignore:
+ - dist
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 29135b400..f54ba8953 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -1,24 +1,23 @@
version: 2
updates:
- - package-ecosystem: npm
+ - package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: weekly
day: tuesday
time: "12:00"
timezone: Europe/Athens
- open-pull-requests-limit: 10
+ - package-ecosystem: npm
+ directory: "/"
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
+ versioning-strategy: increase
+ rebase-strategy: disabled
diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml
index 5d0f45de8..0289984be 100644
--- a/.github/release-drafter.yml
+++ b/.github/release-drafter.yml
@@ -7,6 +7,9 @@ categories:
- title: '❗ Breaking Changes'
labels:
- 'breaking-change'
+ - title: '🚀 Highlights'
+ labels:
+ - 'release-highlight'
- title: '🚀 Features'
labels:
- 'new-feature'
diff --git a/.github/workflows/browserstack.yml b/.github/workflows/browserstack.yml
index 6a84597e9..a53c233cc 100644
--- a/.github/workflows/browserstack.yml
+++ b/.github/workflows/browserstack.yml
@@ -2,23 +2,32 @@ name: BrowserStack
on:
push:
+ branches:
+ - "**"
+ - "!dependabot/**"
+ workflow_dispatch:
env:
FORCE_COLOR: 2
- NODE: 16
+ NODE: 20
+
+permissions:
+ contents: read
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]'))
+ if: github.repository == 'twbs/bootstrap'
timeout-minutes: 30
steps:
- name: Clone repository
- uses: actions/checkout@v2
+ uses: actions/checkout@v4
+ with:
+ persist-credentials: false
- name: Set up Node.js
- uses: actions/setup-node@v2
+ uses: actions/setup-node@v4
with:
node-version: "${{ env.NODE }}"
cache: npm
diff --git a/.github/workflows/bundlewatch.yml b/.github/workflows/bundlewatch.yml
index e895f126f..99ba06063 100644
--- a/.github/workflows/bundlewatch.yml
+++ b/.github/workflows/bundlewatch.yml
@@ -2,13 +2,17 @@ name: Bundlewatch
on:
push:
- branches-ignore:
- - "dependabot/**"
+ branches:
+ - main
pull_request:
+ workflow_dispatch:
env:
FORCE_COLOR: 2
- NODE: 16
+ NODE: 20
+
+permissions:
+ contents: read
jobs:
bundlewatch:
@@ -16,10 +20,12 @@ jobs:
steps:
- name: Clone repository
- uses: actions/checkout@v2
+ uses: actions/checkout@v4
+ with:
+ persist-credentials: false
- name: Set up Node.js
- uses: actions/setup-node@v2
+ uses: actions/setup-node@v4
with:
node-version: "${{ env.NODE }}"
cache: npm
diff --git a/.github/workflows/calibreapp-image-actions.yml b/.github/workflows/calibreapp-image-actions.yml
new file mode 100644
index 000000000..08987b3aa
--- /dev/null
+++ b/.github/workflows/calibreapp-image-actions.yml
@@ -0,0 +1,32 @@
+name: Compress Images
+
+on:
+ pull_request:
+ paths:
+ - '**.jpg'
+ - '**.jpeg'
+ - '**.png'
+ - '**.webp'
+
+permissions:
+ contents: read
+
+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
+ permissions:
+ # allow calibreapp/image-actions to update PRs
+ pull-requests: write
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@v4
+ with:
+ persist-credentials: false
+
+ - name: Compress Images
+ uses: calibreapp/[email protected]
+ with:
+ githubToken: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index de6626a15..dd7f6e7ef 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -7,31 +7,38 @@ on:
- 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"
+ - cron: "0 2 * * 4"
+ 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@v2
+ uses: actions/checkout@v4
+ with:
+ persist-credentials: false
- name: Initialize CodeQL
- uses: github/codeql-action/init@v1
+ uses: github/codeql-action/init@v3
with:
+ config-file: ./.github/codeql/codeql-config.yml
languages: "javascript"
+ queries: +security-and-quality
+
+ - name: Autobuild
+ uses: github/codeql-action/autobuild@v3
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@v1
+ uses: github/codeql-action/analyze@v3
+ with:
+ category: "/language:javascript"
diff --git a/.github/workflows/cspell.yml b/.github/workflows/cspell.yml
new file mode 100644
index 000000000..0b942ed25
--- /dev/null
+++ b/.github/workflows/cspell.yml
@@ -0,0 +1,36 @@
+name: cspell
+
+on:
+ push:
+ branches:
+ - main
+ pull_request:
+ workflow_dispatch:
+
+env:
+ FORCE_COLOR: 2
+
+permissions:
+ contents: read
+
+jobs:
+ cspell:
+ permissions:
+ # allow streetsidesoftware/cspell-action to fetch files for commits and PRs
+ contents: read
+ pull-requests: read
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@v4
+ with:
+ persist-credentials: false
+
+ - name: Run cspell
+ uses: streetsidesoftware/cspell-action@v6
+ with:
+ config: ".cspell.json"
+ files: "**/*.md"
+ inline: error
+ incremental_files_only: false
diff --git a/.github/workflows/css.yml b/.github/workflows/css.yml
index 71e6042b4..52e93e2b2 100644
--- a/.github/workflows/css.yml
+++ b/.github/workflows/css.yml
@@ -2,13 +2,17 @@ name: CSS
on:
push:
- branches-ignore:
- - "dependabot/**"
+ branches:
+ - main
pull_request:
+ workflow_dispatch:
env:
FORCE_COLOR: 2
- NODE: 16
+ NODE: 20
+
+permissions:
+ contents: read
jobs:
css:
@@ -16,10 +20,12 @@ jobs:
steps:
- name: Clone repository
- uses: actions/checkout@v2
+ uses: actions/checkout@v4
+ with:
+ persist-credentials: false
- name: Set up Node.js
- uses: actions/setup-node@v2
+ uses: actions/setup-node@v4
with:
node-version: "${{ env.NODE }}"
cache: npm
@@ -29,3 +35,6 @@ jobs:
- name: Build CSS
run: npm run css
+
+ - name: Run CSS tests
+ run: npm run css-test
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
index 8bdcf9671..082220563 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -2,13 +2,17 @@ name: Docs
on:
push:
- branches-ignore:
- - "dependabot/**"
+ branches:
+ - main
pull_request:
+ workflow_dispatch:
env:
FORCE_COLOR: 2
- NODE: 16
+ NODE: 20
+
+permissions:
+ contents: read
jobs:
docs:
@@ -16,10 +20,12 @@ jobs:
steps:
- name: Clone repository
- uses: actions/checkout@v2
+ uses: actions/checkout@v4
+ with:
+ persist-credentials: false
- name: Set up Node.js
- uses: actions/setup-node@v2
+ uses: actions/setup-node@v4
with:
node-version: "${{ env.NODE }}"
cache: npm
@@ -29,5 +35,16 @@ jobs:
- name: Install npm dependencies
run: npm ci
- - name: Test docs
- run: npm run docs
+ - 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 000000000..b5000d8b4
--- /dev/null
+++ b/.github/workflows/issue-close-require.yml
@@ -0,0 +1,26 @@
+name: Close Issue Awaiting Reply
+
+on:
+ schedule:
+ - cron: "0 0 * * *"
+
+permissions:
+ contents: read
+
+jobs:
+ issue-close-require:
+ permissions:
+ # allow actions-cool/issues-helper to update issues and PRs
+ issues: write
+ pull-requests: write
+ 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 000000000..584879dd8
--- /dev/null
+++ b/.github/workflows/issue-labeled.yml
@@ -0,0 +1,26 @@
+name: Issue Labeled
+
+on:
+ issues:
+ types: [labeled]
+
+permissions:
+ contents: read
+
+jobs:
+ issue-labeled:
+ permissions:
+ # allow actions-cool/issues-helper to update issues and PRs
+ issues: write
+ pull-requests: write
+ 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
index 1f03d8cc5..1b672aa30 100644
--- a/.github/workflows/js.yml
+++ b/.github/workflows/js.yml
@@ -2,31 +2,37 @@ name: JS Tests
on:
push:
- branches-ignore:
- - "dependabot/**"
+ branches:
+ - main
pull_request:
+ workflow_dispatch:
env:
FORCE_COLOR: 2
+ NODE: 20
+
+permissions:
+ contents: read
jobs:
run:
- name: Node ${{ matrix.node }}
+ permissions:
+ # allow coverallsapp/github-action to create new checks issues and fetch code
+ checks: write
+ contents: read
+ name: JS Tests
runs-on: ubuntu-latest
- strategy:
- fail-fast: false
- matrix:
- node: [12, 14, 16]
-
steps:
- name: Clone repository
- uses: actions/checkout@v2
+ uses: actions/checkout@v4
+ with:
+ persist-credentials: false
- name: Set up Node.js
- uses: actions/setup-node@v2
+ uses: actions/setup-node@v4
with:
- node-version: ${{ matrix.node }}
+ node-version: ${{ env.NODE }}
cache: npm
- name: Install npm dependencies
@@ -39,8 +45,8 @@ jobs:
run: npm run js-test
- name: Run Coveralls
- uses: coverallsapp/[email protected]
- if: matrix.node == 16
+ uses: coverallsapp/github-action@v2
+ if: ${{ !github.event.repository.fork }}
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
index aef1341ed..213f9ec65 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -2,13 +2,17 @@ name: Lint
on:
push:
- branches-ignore:
- - "dependabot/**"
+ branches:
+ - main
pull_request:
+ workflow_dispatch:
env:
FORCE_COLOR: 2
- NODE: 16
+ NODE: 20
+
+permissions:
+ contents: read
jobs:
lint:
@@ -16,10 +20,12 @@ jobs:
steps:
- name: Clone repository
- uses: actions/checkout@v2
+ uses: actions/checkout@v4
+ with:
+ persist-credentials: false
- name: Set up Node.js
- uses: actions/setup-node@v2
+ uses: actions/setup-node@v4
with:
node-version: "${{ env.NODE }}"
cache: npm
diff --git a/.github/workflows/node-sass.yml b/.github/workflows/node-sass.yml
index 36c4e1c18..493cc35fd 100644
--- a/.github/workflows/node-sass.yml
+++ b/.github/workflows/node-sass.yml
@@ -2,13 +2,17 @@ name: CSS (node-sass)
on:
push:
- branches-ignore:
- - "dependabot/**"
+ branches:
+ - main
pull_request:
+ workflow_dispatch:
env:
FORCE_COLOR: 2
- NODE: 16
+ NODE: 20
+
+permissions:
+ contents: read
jobs:
css:
@@ -16,10 +20,12 @@ jobs:
steps:
- name: Clone repository
- uses: actions/checkout@v2
+ uses: actions/checkout@v4
+ with:
+ persist-credentials: false
- name: Set up Node.js
- uses: actions/setup-node@v2
+ uses: actions/setup-node@v4
with:
node-version: "${{ env.NODE }}"
@@ -28,3 +34,16 @@ jobs:
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
+
+ - name: Check built CSS files for Sass variables
+ shell: bash
+ run: |
+ SASS_VARS_FOUND=$(find "dist-sass/css/" -type f -name "*.css" -print0 | xargs -0 --no-run-if-empty grep -F "\$" || true)
+ if [[ -z "$SASS_VARS_FOUND" ]]; then
+ echo "All good, no Sass variables found!"
+ exit 0
+ else
+ echo "Found $(echo "$SASS_VARS_FOUND" | wc -l | bc) Sass variables:"
+ echo "$SASS_VARS_FOUND"
+ exit 1
+ fi
diff --git a/.github/workflows/release-notes.yml b/.github/workflows/release-notes.yml
index ab2f37694..813956af2 100644
--- a/.github/workflows/release-notes.yml
+++ b/.github/workflows/release-notes.yml
@@ -4,12 +4,20 @@ on:
push:
branches:
- main
+ workflow_dispatch:
+
+permissions:
+ contents: read
jobs:
update_release_draft:
+ permissions:
+ # allow release-drafter/release-drafter to create GitHub releases and add labels to PRs
+ contents: write
+ pull-requests: write
runs-on: ubuntu-latest
if: github.repository == 'twbs/bootstrap'
steps:
- - uses: release-drafter/release-drafter@v5
+ - uses: release-drafter/release-drafter@v6
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}