Skip to content

Commit

Permalink
Remove old staging workflow and organize remaining ones (#5445)
Browse files Browse the repository at this point in the history
I imagine we'll update the deploy to use Cloud Build eventually as well,
but I'd like to get some of this standardization in first to prevent
duplicate work (and comments).

This PR removes the old staging workflow and creates a new job to build
the site and check the links.

It separates the deploy job to a separate file as well, since it only
runs on push and will likely be replaced soon :)
  • Loading branch information
parlough authored Jan 4, 2024
1 parent 3d32cf9 commit 9720c53
Show file tree
Hide file tree
Showing 4 changed files with 122 additions and 116 deletions.
114 changes: 0 additions & 114 deletions .github/workflows/build.yml

This file was deleted.

54 changes: 54 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: deploy

on:
# Run on pushes to the default branch.
push:
branches:
- main
schedule:
- cron: "0 0 * * 0"

# Declare default permissions as read only.
permissions: read-all

env:
# Keep for Dart SDK reporting
PUB_ENVIRONMENT: bot.github
# LTS
NODE_VERSION: '20'
# Tool location
BASE_DIR: ${{ github.workspace }}
TOOL_DIR: ${{ github.workspace }}/tool

jobs:
deploy:
name: Deploy production site to Firebase hosting
permissions:
checks: write
pull-requests: write
if: ${{ github.event_name == 'push' &&
github.ref == 'refs/heads/main' &&
github.repository == 'dart-lang/site-www' }}
runs-on: ubuntu-latest
env:
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
FIREBASE_PROJECT: default
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
submodules: recursive
- run: make build
- run: make write-prod-robots
- uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8
with:
node-version: ${{ env.NODE_VERSION }}
- run: npm install -g [email protected]
- uses: dart-lang/setup-dart@b64355ae6ca0b5d484f0106a033dd1388965d06d
with:
sdk: stable
- uses: FirebaseExtended/action-hosting-deploy@120e124148ab7016bec2374e5050f15051255ba2
with: # TODO(khanhnwin/drewroen): Migrate deploy to Cloud Build
repoToken: '${{ secrets.GITHUB_TOKEN }}'
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_DART_DEV }}'
projectId: dart-dev
channelId: live
66 changes: 66 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: test

on:
# Run on PRs and pushes to the default branch.
push:
branches:
- main
pull_request:
branches:
- main
schedule:
- cron: "0 0 * * 0"

# Declare default permissions as read only.
permissions: read-all

env:
# Keep for Dart SDK reporting
PUB_ENVIRONMENT: bot.github
# LTS
NODE_VERSION: '20'
# Tool location
BASE_DIR: ${{ github.workspace }}
TOOL_DIR: ${{ github.workspace }}/tool

jobs:
test:
name: Check excerpts and run tests
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- sdk: beta
experimental: false
- sdk: stable
experimental: false
continue-on-error: ${{ matrix.experimental }}
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
submodules: recursive
- uses: dart-lang/setup-dart@b64355ae6ca0b5d484f0106a033dd1388965d06d
with:
sdk: ${{ matrix.sdk }}
- run: dart pub get
- run: tool/test.sh
env:
DART_CHANNEL: ${{ matrix.sdk }}

linkcheck:
name: Build site and check links
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
submodules: recursive
- run: make build
- uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8
with:
node-version: ${{ env.NODE_VERSION }}
- run: npm install -g [email protected]
- uses: dart-lang/setup-dart@b64355ae6ca0b5d484f0106a033dd1388965d06d
with:
sdk: stable
- run: tool/check-links.sh
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ RUN BUNDLE_WITHOUT="test production" bundle install --jobs=4 --retry=2

ENV NODE_ENV=development
COPY package.json package-lock.json ./
RUN npm install -g firebase-tools@12.8.1
RUN npm install -g firebase-tools@13.0.2
RUN npm install

COPY ./ ./
Expand Down Expand Up @@ -159,7 +159,7 @@ RUN bundle exec jekyll build --config $BUILD_CONFIGS

# ============== DEPLOY to FIREBASE ==============
FROM build as deploy
RUN npm install -g firebase-tools@12.8.1
RUN npm install -g firebase-tools@13.0.2
ARG FIREBASE_TOKEN
ENV FIREBASE_TOKEN=$FIREBASE_TOKEN
ARG FIREBASE_PROJECT=default
Expand Down

0 comments on commit 9720c53

Please sign in to comment.