Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
8fe692b
build: replace node-sass with Dart Sass
cwillisf Jul 14, 2026
e24995b
refactor: drop the async library from the Fastly config script
cwillisf Jul 14, 2026
cc61c35
ci: move the build off end-of-life Node 17
cwillisf Jul 14, 2026
9f32b90
build: upgrade to webpack 5 and Babel 7
cwillisf Jul 14, 2026
39c8934
build: select webpack mode via NODE_ENV so staging can ship a dev build
cwillisf Jul 14, 2026
3c1de49
Merge pull request #371 from scratchfoundation/modernize-build-deps
cwillisf Jul 16, 2026
826e716
build: fix package-lock.json
cwillisf Jul 16, 2026
cc2d435
build: migrate Fastly config script to the official fastly-js client
cwillisf Jul 16, 2026
c97f0bf
Merge pull request #372 from scratchfoundation/refactor/migrate-fastl…
cwillisf Jul 16, 2026
eedd706
build: replace Makefile with package.json scripts
cwillisf Jul 16, 2026
6fc8606
build: drop the redundant top-level sass-lint glob
cwillisf Jul 16, 2026
59d07bb
Merge pull request #373 from scratchfoundation/refactor/replace-makef…
cwillisf Jul 16, 2026
a303bea
refactor: build route VCL as snippets, not per-route Fastly objects
cwillisf Jul 16, 2026
929fb1a
refactor: stop managing Fastly origin host in code
cwillisf Jul 16, 2026
a1ce1ba
ci: configure Fastly during deploy
cwillisf Jul 16, 2026
9da7c58
feat: redirect old /learn URLs to /explore
cwillisf Jul 16, 2026
cbfa1f6
ci: order Fastly config after upload; require "true" to activate
cwillisf Jul 16, 2026
ce42205
refactor: annotate generated snippets and use default priority
cwillisf Jul 30, 2026
4d01e76
new link to donate page
devtechrg Aug 6, 2026
8e9f796
Merge pull request #374 from scratchfoundation/refactor/fastly-config…
cwillisf Aug 13, 2026
4b32f1d
Merge branch 'develop' into jessblake-west/devtechupdates
cwillisf Aug 13, 2026
9917703
chore: revert package-lock.json to match `develop`
cwillisf Aug 13, 2026
ab395db
fixed styling on donate page
devtechrg Aug 18, 2026
99cb6ae
Merge branch 'jessblake-west/devtechupdates' of https://github.com/sc…
devtechrg Aug 18, 2026
932fe94
Merge pull request #375 from scratchfoundation/jessblake-west/devtech…
devtechrg Aug 20, 2026
18700d3
Merge pull request #376 from scratchfoundation/master
cwillisf Aug 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .browserslistrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Preserves the targets that were previously passed inline to autoprefixer.
# Shared by autoprefixer (PostCSS) and @babel/preset-env.
last 3 versions
Safari >= 8
iOS >= 8
67 changes: 60 additions & 7 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,31 +11,59 @@ concurrency:
cancel-in-progress: true

jobs:
setup:
runs-on: ubuntu-latest
outputs:
environment: ${{ steps.env.outputs.environment }}
node_env: ${{ steps.env.outputs.node_env }}
steps:
- name: Resolve deploy environment and build mode
id: env
run: |
if [ "$GITHUB_REF" = "refs/heads/master" ]; then
environment=production
else
environment=staging
fi
# Staging ships a development build for easier debugging;
# production ships a production build. NODE_ENV follows the
# environment so the two can't drift.
if [ "$environment" = "production" ]; then
node_env=production
else
node_env=development
fi
echo "environment=$environment" >> "$GITHUB_OUTPUT"
echo "node_env=$node_env" >> "$GITHUB_OUTPUT"

lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use Node 17x
- name: Use Node 22x
uses: actions/setup-node@v4
with:
node-version: '17.x'
node-version: '22.x'
- name: Install Dependencies
run: npm ci --legacy-peer-deps
- name: Lint Site Code
run: make lint
run: npm run lint

build:
needs: [setup]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use Node 17x
- name: Use Node 22x
uses: actions/setup-node@v4
with:
node-version: '17.x'
node-version: '22.x'
- name: Install Dependencies
run: npm ci --legacy-peer-deps
- name: Build Site
run: npm run build
env:
NODE_ENV: ${{ needs.setup.outputs.node_env }}
- name: Upload Build Artifact
uses: actions/upload-artifact@v4
with:
Expand All @@ -44,13 +72,13 @@ jobs:
retention-days: 1

deploy:
needs: [lint, build]
needs: [setup, lint, build]
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
environment: ${{ github.ref == 'refs/heads/master' && 'production' || 'staging' }}
environment: ${{ needs.setup.outputs.environment }}
steps:
- name: Download Build Artifact
uses: actions/download-artifact@v4
Expand All @@ -66,3 +94,28 @@ jobs:
- name: Upload to S3
run: |
aws s3 sync ./build s3://${{ vars.AWS_S3_BUCKET }}/junior/

configure-fastly:
# Runs after deploy so new origin content is uploaded before new routing
# can go live; also skips if the S3 upload failed.
needs: [setup, lint, build, deploy]
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
environment: ${{ needs.setup.outputs.environment }}
steps:
- uses: actions/checkout@v4
- name: Use Node 22x
uses: actions/setup-node@v4
with:
node-version: '22.x'
- name: Install Dependencies
run: npm ci --legacy-peer-deps
- name: Configure Fastly
run: npm run sync-fastly
env:
FASTLY_API_KEY: ${{ secrets.FASTLY_API_KEY }}
FASTLY_SERVICE_ID: ${{ vars.FASTLY_SERVICE_ID }}
# Set this var to "true" in an Environment to have that environment's
# deploys activate the new version; any other value configures and
# validates only.
FASTLY_ACTIVATE_CHANGES: ${{ vars.FASTLY_ACTIVATE_CHANGES }}
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v17.3.1
22
44 changes: 0 additions & 44 deletions .travis.yml

This file was deleted.

42 changes: 0 additions & 42 deletions Makefile

This file was deleted.

5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
### To Build
```bash
npm install
make build
npm run build
```

Note: There will be a warning about a peer dependency on jquery. You can ignore it because slick-carousel is only used for stylesheets.
Expand Down Expand Up @@ -46,7 +46,6 @@ Use `^C` to stop the node process `npm start` starts.
| ------------------------ | ------- | ------------------------------------------------ |
| `FASTLY_SERVICE_ID` | `''` | Fastly service ID for `bin/configure-fastly.js` |
| `FASTLY_API_KEY` | `''` | Fastly API key for `bin/configure-fastly.js` |
| `FASTLY_ACTIVATE_CHANGES`| `false` | Activate changes and purge all after configuring |
| `FASTLY_ACTIVATE_CHANGES`| `false` | Set to `true` to activate changes and purge all after configuring |
| `AWS_ACCESS_KEY_ID` | `''` | AWS access key id for S3 |
| `AWS_SECRET_ACCESS_KEY` | `''` | AWS secret access key for S3 |
| `S3_BUCKET_NAME` | `''` | S3 bucket name to deploy into |
Loading
Loading