discourse/.github/workflows/publish-assets.yml
David Taylor a6098e00dd
FEATURE: Improve pre-built asset bundles (#38502)
- Include assets for plugins (for ROLLUP_PLUGIN_COMPILER=1 only)
- Include compressed assets, with highest gz/br compression ratios
- Update core to use the new bundle format, and the new compressed files
2026-03-18 13:58:36 +00:00

69 lines
2.3 KiB
YAML
Vendored

name: Publish Assets
on:
push:
branches:
- main
- stable
- release/*
- precompile-asset-improvements
tags:
- beta
- v*
concurrency:
group: publish-assets-${{ format('{0}-{1}', github.run_number, github.job) }}
cancel-in-progress: true
jobs:
publish-assets:
if: github.repository == 'discourse/discourse'
runs-on: 'cdck-linux-8-core'
container: discourse/discourse_test:release
timeout-minutes: 30
steps:
- name: Install gh cli
run: |
# https://github.com/cli/cli/blob/trunk/docs/install_linux.md#debian-ubuntu-linux-raspberry-pi-os-apt
(type -p wget >/dev/null || (sudo apt update && sudo apt install wget -y)) \
&& sudo mkdir -p -m 755 /etc/apt/keyrings \
&& out=$(mktemp) && wget -nv -O$out https://cli.github.com/packages/githubcli-archive-keyring.gpg \
&& cat $out | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \
&& sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \
&& sudo mkdir -p -m 755 /etc/apt/sources.list.d \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
&& sudo apt update \
&& sudo apt install gh -y
- name: Set working directory owner
run: chown root:root .
- uses: actions/checkout@v6
with:
fetch-depth: 1
- name: Setup Git
run: |
git config --global user.email "ci@ci.invalid"
git config --global user.name "Discourse CI"
- name: Symlink vendor/bundle from image
run: |
ln -s /var/www/discourse/vendor/bundle vendor/bundle
- name: Setup gems
run: |
bundle config --local path vendor/bundle
bundle config --local deployment true
bundle config --local without development
bundle install --jobs $(($(nproc) - 1))
bundle clean
- name: pnpm install
run: pnpm install --frozen-lockfile
- name: build and release assets
env:
GITHUB_TOKEN: ${{ secrets.DISCOURSE_ASSETS_RELEASE_TOKEN }}
run: |
script/publish_built_assets.rb