Skip to content

Commit b26cca5

Browse files
authored
Merge pull request #6311 from alphagov/remove-rubysass-libsass
2 parents 222db11 + b092505 commit b26cca5

File tree

3 files changed

+13
-165
lines changed

3 files changed

+13
-165
lines changed

.github/workflows/sass.yaml

Lines changed: 0 additions & 152 deletions
Original file line numberDiff line numberDiff line change
@@ -98,155 +98,3 @@ jobs:
9898
name: Dart Sass v1 (latest) output
9999
path: .tmp/index.css
100100
if-no-files-found: ignore
101-
102-
# Node Sass v3.4.0 = LibSass v3.3.0
103-
lib-sass:
104-
name: LibSass v3.5.5 (deprecated)
105-
runs-on: ubuntu-22.04
106-
107-
steps:
108-
- name: Checkout code
109-
uses: actions/[email protected]
110-
111-
- name: Setup Node.js
112-
uses: actions/[email protected]
113-
with:
114-
cache: npm
115-
# Node.js 15 is required for the stable support of ES Module
116-
# used when installing `node-sass`
117-
node-version: 15
118-
119-
- name: Install package
120-
# Sass 5.0.0 is the first version that supports Python 3
121-
# and as such can be built on a GitHub Actions runner
122-
run: |
123-
npm install -g [email protected]
124-
node-sass --version
125-
126-
- name: Run command
127-
run: |
128-
mkdir -p .tmp
129-
time node-sass packages/govuk-frontend/src/govuk/index.scss > .tmp/index.css
130-
131-
# Check output for uncompiled Sass
132-
- name: Check output
133-
run: |
134-
! grep "\$govuk-" .tmp/index.css
135-
136-
- name: Save compiled Sass
137-
uses: actions/[email protected]
138-
if: ${{ !cancelled() }}
139-
with:
140-
name: LibSass v3.5.5 (deprecated) output
141-
path: .tmp/index.css
142-
if-no-files-found: ignore
143-
144-
# Node Sass v8.x = LibSass v3 latest
145-
lib-sass-latest:
146-
name: LibSass v3 (latest, deprecated)
147-
runs-on: ubuntu-22.04
148-
149-
steps:
150-
- name: Checkout code
151-
uses: actions/[email protected]
152-
153-
- name: Setup Node.js
154-
uses: actions/[email protected]
155-
with:
156-
cache: npm
157-
node-version-file: .nvmrc # Node.js project version must support Node Sass v8.x
158-
159-
- name: Install package
160-
run: |
161-
npm install -g node-sass@v8
162-
node-sass --version
163-
164-
- name: Run command
165-
run: |
166-
mkdir -p .tmp
167-
time node-sass packages/govuk-frontend/src/govuk/index.scss > .tmp/index.css
168-
169-
# Check output for uncompiled Sass
170-
- name: Check output
171-
run: |
172-
! grep "\$govuk-" .tmp/index.css
173-
174-
- name: Save compiled Sass
175-
uses: actions/[email protected]
176-
if: ${{ !cancelled() }}
177-
with:
178-
name: LibSass v3 (latest, deprecated) output
179-
path: .tmp/index.css
180-
if-no-files-found: ignore
181-
182-
ruby-sass:
183-
name: Ruby Sass v3.4.0 (deprecated)
184-
runs-on: ubuntu-22.04
185-
186-
steps:
187-
- name: Checkout code
188-
uses: actions/[email protected]
189-
190-
- name: Setup Ruby
191-
uses: ruby/setup-ruby@v1
192-
with:
193-
ruby-version: 2.3 # Oldest version supported by Bundler v2
194-
195-
- name: Install gem
196-
run: |
197-
gem install sass -v 3.4.0
198-
sass --version
199-
200-
- name: Run command
201-
run: |
202-
mkdir -p .tmp
203-
time sass packages/govuk-frontend/src/govuk/index.scss > .tmp/index.css
204-
205-
# Check output for uncompiled Sass
206-
- name: Check output
207-
run: |
208-
! grep "\$govuk-" .tmp/index.css
209-
210-
- name: Save compiled Sass
211-
uses: actions/[email protected]
212-
if: ${{ !cancelled() }}
213-
with:
214-
name: Ruby Sass v3.4.0 (deprecated) output
215-
path: .tmp/index.css
216-
if-no-files-found: ignore
217-
218-
ruby-sass-latest:
219-
name: Ruby Sass v3 (latest, deprecated)
220-
runs-on: ubuntu-22.04
221-
222-
steps:
223-
- name: Checkout code
224-
uses: actions/[email protected]
225-
226-
- name: Setup Ruby
227-
uses: ruby/setup-ruby@v1
228-
with:
229-
ruby-version: 3.2 # Ruby 3.2 supported by Ruby Sass v3
230-
231-
- name: Install gem
232-
run: |
233-
gem install sass -v '~> 3.0'
234-
sass --version
235-
236-
- name: Run command
237-
run: |
238-
mkdir -p .tmp
239-
time sass packages/govuk-frontend/src/govuk/index.scss > .tmp/index.css
240-
241-
# Check output for uncompiled Sass
242-
- name: Check output
243-
run: |
244-
! grep "\$govuk-" .tmp/index.css
245-
246-
- name: Save compiled Sass
247-
uses: actions/[email protected]
248-
if: ${{ !cancelled() }}
249-
with:
250-
name: Ruby Sass v3 (latest, deprecated) output
251-
path: .tmp/index.css
252-
if-no-files-found: ignore

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,19 @@ To install this version with npm, run `npm install [email protected]`.
1010

1111
### Breaking changes
1212

13+
#### We've ended support for Ruby Sass and LibSass
14+
15+
GOV.UK Frontend no longer supports Ruby Sass and LibSass. You must update your project to [Dart Sass](https://sass-lang.com/dart-sass/) to continue using GOV.UK Frontend.
16+
17+
Support for Ruby Sass ended in 2019, and LibSass was deprecated in 2020. A number of Sass implementations, including Node Sass, SassC and sass-rs, are dependent upon LibSass. GOV.UK Frontend also no longer supports these implementations.
18+
19+
The Sass developers have provided guides for:
20+
21+
- [migrating from Ruby Sass to Dart Sass](https://sass-lang.com/ruby-sass/)
22+
- [migrating from LibSass to Dart Sass](https://sass-lang.com/blog/libsass-is-deprecated/#how-do-i-migrate)
23+
24+
This change was introduced in [pull request #6311: Remove support for Ruby Sass and LibSass](https://github.com/alphagov/govuk-frontend/pull/6311).
25+
1326
#### Use GOV.UK brand colours
1427

1528
We’ve updated GOV.UK Frontend to use the web palette defined by the [GOV.UK Brand guidelines](https://www.gov.uk/government/publications/govuk-brand-guidelines), as well as the 25% and 50% shades when they exist for a given colour.

packages/govuk-frontend/src/govuk/settings/_index.scss

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,3 @@
1919
@import "typography-responsive";
2020

2121
@import "links";
22-
23-
// LibSass evaluates this as a single unquoted string, equivalent to
24-
// "true == false", whereas Dart Sass evaluates it as "true" == "false".
25-
// Because a string in Sass is truthy, LibSass will output the warning; Dart
26-
// Sass will not.
27-
@if #{true} == #{false} {
28-
@include _warning(
29-
"libsass",
30-
"It looks like you may be using LibSass to compile your Sass. LibSass is " +
31-
"deprecated and will not be supported by the next major version of " +
32-
"GOV.UK Frontend. See https://sass-lang.com/libsass/ for more information."
33-
);
34-
}

0 commit comments

Comments
 (0)