Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
372bf6c
feat(website): publish the podling site from website/
Astro-Han Sep 3, 2026
1984661
chore(deps): refresh third-party notices for zod 4.5.4
Astro-Han Sep 3, 2026
d0f86e6
feat(website): add a remembered light/dark toggle
Astro-Han Sep 3, 2026
833a863
fix(website): drop hover transitions that smear a theme switch
Astro-Han Sep 3, 2026
3d2960b
fix(deps): lock zod to 4.4.3 to keep client capability protocol compa…
Astro-Han Sep 3, 2026
94b9af9
feat(website): polish downloads page with outline and copyable steps
Astro-Han Sep 3, 2026
cc70e1d
fix(website): keep the nav inside a 390px viewport
Astro-Han Sep 3, 2026
d5a0f72
fix(website): point the brand at the language homepage on every page
Astro-Han Sep 3, 2026
7abc2dd
refactor(website): drop the footer language switch
Astro-Han Sep 3, 2026
242b906
feat(website): put the ASF links in a nav menu and add Incubator and …
Astro-Han Sep 3, 2026
3cb6376
fix(website): centre the reading-card cover as one block
Astro-Han Sep 3, 2026
29333e8
fix(website): flow the scene caption below the pills on phones
Astro-Han Sep 3, 2026
94a1de8
fix(website): keep the copyright and trademark line in English on the…
Astro-Han Sep 3, 2026
52efb73
feat(website): show the Apache Incubator logo in the footer
Astro-Han Sep 3, 2026
7f7ce41
feat(website): append the log tile's events one by one
Astro-Han Sep 3, 2026
213cf2a
feat(website): polish the copy and drop the hero eyebrow
Astro-Han Sep 3, 2026
3669cb0
fix(website): stretch the leaderboard rows to fill the tall tile
Astro-Han Sep 3, 2026
38979b5
refactor(website): drop the coloured dots from the hero event cards
Astro-Han Sep 3, 2026
3853dbd
feat(website): name the hero's events in plain words
Astro-Han Sep 3, 2026
8514c9e
fix(website): say 运行时事件 for RuntimeEvent in Chinese prose
Astro-Han Sep 3, 2026
fd1cbd3
fix(website): call the Runtime Host 运行时宿主 in Chinese
Astro-Han Sep 3, 2026
59c1c9b
fix(website): centre the paired stat in the tile it shares a row with
Astro-Han Sep 3, 2026
ef48f28
feat(website): append the hero events one by one and name the confirm…
Astro-Han Sep 3, 2026
106f971
fix(website): fit the hero and its scene on one laptop screen
Astro-Han Sep 3, 2026
c4c8aff
fix(website): publish to asf-site only from main and ship a site-only…
Astro-Han Sep 3, 2026
26026b1
fix(website): redirect the root at once, ship the OFL texts and make …
Astro-Han Sep 3, 2026
fa4d824
fix(website): set the English headline in three balanced lines
Astro-Han Sep 3, 2026
8178e01
fix(website): fold the site links into a menu under 900px
Astro-Han Sep 3, 2026
804b856
style(website): match the hero gaps to the centered-hero template
Astro-Han Sep 3, 2026
68f8caa
build(website): keep the site toolchain out of the production depende…
Astro-Han Sep 3, 2026
6392431
fix(website): switch to the compact menu below 1025px
Astro-Han Sep 3, 2026
1afee23
fix(website): name each copy button after its step
Astro-Han Sep 3, 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
108 changes: 108 additions & 0 deletions .github/workflows/website.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

name: Website

# Builds website/ and publishes the output as an orphan commit. `.asf.yaml`
# serves `asf-site` at maka.apache.org and stages `site/<name>-staging` at
# maka-<name>.staged.apache.org. Pull requests validate the build through the
# website workspace's test:dist in ci.yml; this lane only publishes.
on:
push:
branches: [main]
tags: ['v*']
paths:
- 'website/**'
- 'apps/desktop/assets/app-icons/sky.png'
- 'package.json'
- 'package-lock.json'
- 'LICENSE'
- 'NOTICE'
- '.asf.yaml'
- '.github/workflows/website.yml'
workflow_dispatch:
inputs:
stage:
description: Stage this ref at maka-<stage>.staged.apache.org instead of publishing it
required: false
type: string

permissions:
contents: read

concurrency:
group: website-${{ github.ref }}
cancel-in-progress: false

jobs:
publish:
# Release tags publish nothing; only release candidates are staged.
if: github.event_name != 'push' || github.ref_type == 'branch' || contains(github.ref_name, '-rc')
runs-on: ubuntu-24.04
timeout-minutes: 45
permissions:
contents: write
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: '24'
cache: npm

- name: Install dependencies
run: npm ci

- name: Build and check the site
run: npm --workspace @maka/website run test:dist

- name: Choose the target branch
id: target
env:
STAGE: ${{ inputs.stage }}
run: |
if [[ -n "$STAGE" ]]; then
branch="site/$(printf '%s' "$STAGE" | tr -c 'a-z0-9' '-')-staging"
elif [[ "$GITHUB_REF_TYPE" == tag ]]; then
branch="site/$(printf '%s' "$GITHUB_REF_NAME" | tr '._' '--')-staging"
elif [[ "$GITHUB_REF" == refs/heads/main ]]; then
branch=asf-site
else
echo "::error::Only main publishes to maka.apache.org; give a stage name to stage $GITHUB_REF_NAME instead."
exit 1
fi
echo "branch=$branch" >> "$GITHUB_OUTPUT"

- name: Publish the build
env:
BRANCH: ${{ steps.target.outputs.branch }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cp LICENSE NOTICE website/dist/
cd website/dist
# Only the site settings: repository settings in .asf.yaml are read from main alone.
printf 'publish:\n whoami: asf-site\n\nstaging:\n profile: ~\n autostage: site/*\n' > .asf.yaml
git init -q -b "$BRANCH"
git config user.name 'github-actions[bot]'
git config user.email '41898282+github-actions[bot]@users.noreply.github.com'
git add -A
git commit -q -m "Publish website from ${GITHUB_SHA}"
auth="$(printf 'x-access-token:%s' "$GITHUB_TOKEN" | base64 -w0)"
git -c "http.https://github.com/.extraheader=AUTHORIZATION: basic ${auth}" \
push --force "https://github.com/${GITHUB_REPOSITORY}.git" "HEAD:refs/heads/${BRANCH}"
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -44,3 +44,6 @@ apps/desktop/release-sources/
packages/cli/release/
packages/cli/.development/
release/asf/

# Astro type generation
.astro
Loading
Loading