mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2025-07-10 14:26:41 +02:00
Some checks failed
Documentation / Build and Deploy Documentation (push) Has been skipped
Checks / Prefligit / prefligit (push) Failing after 3s
Release Docker Image / define-variables (push) Failing after 4s
Release Docker Image / build-image (linux/amd64, release, linux-amd64, base) (push) Has been skipped
Release Docker Image / build-image (linux/arm64, release, linux-arm64, base) (push) Has been skipped
Release Docker Image / merge (push) Has been skipped
Checks / Rust / Format (push) Failing after 15s
Checks / Rust / Clippy (push) Failing after 39s
Checks / Rust / Cargo Test (push) Failing after 38s
124 lines
3.8 KiB
YAML
124 lines
3.8 KiB
YAML
name: Deploy Element Web
|
|
|
|
on:
|
|
schedule:
|
|
- cron: "0 0 * * *"
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: "element-${{ github.ref }}"
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
build-and-deploy:
|
|
name: 🏗️ Build and Deploy
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: 📦 Setup Node.js
|
|
uses: https://github.com/actions/setup-node@v4
|
|
with:
|
|
node-version: "22"
|
|
|
|
- name: 🔨 Clone, setup, and build Element Web
|
|
run: |
|
|
echo "Cloning Element Web..."
|
|
git clone https://github.com/maunium/element-web
|
|
cd element-web
|
|
git checkout develop
|
|
git pull
|
|
|
|
echo "Cloning matrix-js-sdk..."
|
|
git clone https://github.com/matrix-org/matrix-js-sdk.git
|
|
|
|
echo "Installing Yarn..."
|
|
npm install -g yarn
|
|
|
|
echo "Installing dependencies..."
|
|
yarn install
|
|
|
|
echo "Preparing build environment..."
|
|
mkdir -p .home
|
|
|
|
echo "Cleaning up specific node_modules paths..."
|
|
rm -rf node_modules/@types/eslint-scope/ matrix-*-sdk/node_modules/@types/eslint-scope || echo "Cleanup paths not found, continuing."
|
|
|
|
echo "Getting matrix-js-sdk commit hash..."
|
|
cd matrix-js-sdk
|
|
jsver=$(git rev-parse HEAD)
|
|
jsver=${jsver:0:12}
|
|
cd ..
|
|
echo "matrix-js-sdk version hash: $jsver"
|
|
|
|
echo "Getting element-web commit hash..."
|
|
ver=$(git rev-parse HEAD)
|
|
ver=${ver:0:12}
|
|
echo "element-web version hash: $ver"
|
|
|
|
chmod +x ./build-sh
|
|
|
|
export VERSION="$ver-js-$jsver"
|
|
echo "Building Element Web version: $VERSION"
|
|
./build-sh
|
|
|
|
echo "Checking for build output..."
|
|
ls -la webapp/
|
|
|
|
- name: ⚙️ Create config.json
|
|
run: |
|
|
cat <<EOF > ./element-web/webapp/config.json
|
|
{
|
|
"default_server_name": "continuwuity.org",
|
|
"default_server_config": {
|
|
"m.homeserver": {
|
|
"base_url": "https://matrix.continuwuity.org"
|
|
}
|
|
},
|
|
"default_country_code": "GB",
|
|
"default_theme": "dark",
|
|
"mobile_guide_toast": false,
|
|
"show_labs_settings": true,
|
|
"room_directory": [
|
|
"continuwuity.org",
|
|
"matrixrooms.info"
|
|
],
|
|
"settings_defaults": {
|
|
"UIFeature.urlPreviews": true,
|
|
"UIFeature.feedback": false,
|
|
"UIFeature.voip": false,
|
|
"UIFeature.shareQrCode": false,
|
|
"UIFeature.shareSocial": false,
|
|
"UIFeature.locationSharing": false,
|
|
"enableSyntaxHighlightLanguageDetection": true
|
|
},
|
|
"features": {
|
|
"feature_pinning": true,
|
|
"feature_custom_themes": true
|
|
}
|
|
}
|
|
EOF
|
|
echo "Created ./element-web/webapp/config.json"
|
|
cat ./element-web/webapp/config.json
|
|
|
|
- name: 📤 Upload Artifact
|
|
uses: https://code.forgejo.org/actions/upload-artifact@v3
|
|
with:
|
|
name: element-web
|
|
path: ./element-web/webapp/
|
|
retention-days: 14
|
|
|
|
- name: 🛠️ Install Wrangler
|
|
run: npm install --save-dev wrangler@latest
|
|
|
|
- name: 🚀 Deploy to Cloudflare Pages
|
|
if: vars.CLOUDFLARE_PROJECT_NAME != ''
|
|
id: deploy
|
|
uses: https://github.com/cloudflare/wrangler-action@v3
|
|
with:
|
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
command: >-
|
|
pages deploy ./element-web/webapp
|
|
--branch="${{ github.ref == 'refs/heads/main' && 'main' || github.head_ref || github.ref_name }}"
|
|
--commit-dirty=true
|
|
--project-name="${{ vars.CLOUDFLARE_PROJECT_NAME }}-element"
|