Compare commits
6 Commits
branch-dif
...
rustdoc-ac
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0ebf440247 | ||
|
|
70c05262f4 | ||
|
|
82e55e4145 | ||
|
|
fee9cf4101 | ||
|
|
143d9fc95e | ||
|
|
3d6b46cf9a |
602
.github/workflows/release_nightly.yml
vendored
602
.github/workflows/release_nightly.yml
vendored
@@ -5,8 +5,8 @@ on:
|
|||||||
# Fire every day at 7:00am UTC (Roughly before EU workday and after US workday)
|
# Fire every day at 7:00am UTC (Roughly before EU workday and after US workday)
|
||||||
- cron: "0 7 * * *"
|
- cron: "0 7 * * *"
|
||||||
push:
|
push:
|
||||||
tags:
|
branches:
|
||||||
- "nightly"
|
- rustdoc-action
|
||||||
|
|
||||||
env:
|
env:
|
||||||
CARGO_TERM_COLOR: always
|
CARGO_TERM_COLOR: always
|
||||||
@@ -18,118 +18,284 @@ env:
|
|||||||
DIGITALOCEAN_SPACES_SECRET_KEY: ${{ secrets.DIGITALOCEAN_SPACES_SECRET_KEY }}
|
DIGITALOCEAN_SPACES_SECRET_KEY: ${{ secrets.DIGITALOCEAN_SPACES_SECRET_KEY }}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
style:
|
# style:
|
||||||
|
# timeout-minutes: 60
|
||||||
|
# name: Check formatting and Clippy lints
|
||||||
|
# if: github.repository_owner == 'zed-industries'
|
||||||
|
# runs-on:
|
||||||
|
# - self-hosted
|
||||||
|
# - macOS
|
||||||
|
# steps:
|
||||||
|
# - name: Checkout repo
|
||||||
|
# uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||||
|
# with:
|
||||||
|
# clean: false
|
||||||
|
# fetch-depth: 0
|
||||||
|
|
||||||
|
# - name: Run style checks
|
||||||
|
# uses: ./.github/actions/check_style
|
||||||
|
|
||||||
|
# - name: Run clippy
|
||||||
|
# run: ./script/clippy
|
||||||
|
|
||||||
|
# tests:
|
||||||
|
# timeout-minutes: 60
|
||||||
|
# name: Run tests
|
||||||
|
# if: github.repository_owner == 'zed-industries'
|
||||||
|
# runs-on:
|
||||||
|
# - self-hosted
|
||||||
|
# - macOS
|
||||||
|
# needs: style
|
||||||
|
# steps:
|
||||||
|
# - name: Checkout repo
|
||||||
|
# uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||||
|
# with:
|
||||||
|
# clean: false
|
||||||
|
|
||||||
|
# - name: Run tests
|
||||||
|
# uses: ./.github/actions/run_tests
|
||||||
|
|
||||||
|
# windows-tests:
|
||||||
|
# timeout-minutes: 60
|
||||||
|
# name: Run tests on Windows
|
||||||
|
# if: github.repository_owner == 'zed-industries'
|
||||||
|
# runs-on: [self-32vcpu-windows-2022]
|
||||||
|
# steps:
|
||||||
|
# - name: Checkout repo
|
||||||
|
# uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||||
|
# with:
|
||||||
|
# clean: false
|
||||||
|
|
||||||
|
# - name: Configure CI
|
||||||
|
# run: |
|
||||||
|
# New-Item -ItemType Directory -Path "./../.cargo" -Force
|
||||||
|
# Copy-Item -Path "./.cargo/ci-config.toml" -Destination "./../.cargo/config.toml"
|
||||||
|
|
||||||
|
# - name: Run tests
|
||||||
|
# uses: ./.github/actions/run_tests_windows
|
||||||
|
|
||||||
|
# - name: Limit target directory size
|
||||||
|
# run: ./script/clear-target-dir-if-larger-than.ps1 1024
|
||||||
|
|
||||||
|
# - name: Clean CI config file
|
||||||
|
# if: always()
|
||||||
|
# run: Remove-Item -Recurse -Path "./../.cargo" -Force -ErrorAction SilentlyContinue
|
||||||
|
|
||||||
|
# bundle-mac:
|
||||||
|
# timeout-minutes: 60
|
||||||
|
# name: Create a macOS bundle
|
||||||
|
# if: github.repository_owner == 'zed-industries'
|
||||||
|
# runs-on:
|
||||||
|
# - self-mini-macos
|
||||||
|
# needs: tests
|
||||||
|
# env:
|
||||||
|
# MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
|
||||||
|
# MACOS_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
|
||||||
|
# APPLE_NOTARIZATION_KEY: ${{ secrets.APPLE_NOTARIZATION_KEY }}
|
||||||
|
# APPLE_NOTARIZATION_KEY_ID: ${{ secrets.APPLE_NOTARIZATION_KEY_ID }}
|
||||||
|
# APPLE_NOTARIZATION_ISSUER_ID: ${{ secrets.APPLE_NOTARIZATION_ISSUER_ID }}
|
||||||
|
# steps:
|
||||||
|
# - name: Install Node
|
||||||
|
# uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
|
||||||
|
# with:
|
||||||
|
# node-version: "18"
|
||||||
|
|
||||||
|
# - name: Checkout repo
|
||||||
|
# uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||||
|
# with:
|
||||||
|
# clean: false
|
||||||
|
|
||||||
|
# - name: Set release channel to nightly
|
||||||
|
# run: |
|
||||||
|
# set -eu
|
||||||
|
# version=$(git rev-parse --short HEAD)
|
||||||
|
# echo "Publishing version: ${version} on release channel nightly"
|
||||||
|
# echo "nightly" > crates/zed/RELEASE_CHANNEL
|
||||||
|
|
||||||
|
# - name: Setup Sentry CLI
|
||||||
|
# uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b #v2
|
||||||
|
# with:
|
||||||
|
# token: ${{ SECRETS.SENTRY_AUTH_TOKEN }}
|
||||||
|
|
||||||
|
# - name: Create macOS app bundle
|
||||||
|
# run: script/bundle-mac
|
||||||
|
|
||||||
|
# - name: Upload Zed Nightly
|
||||||
|
# run: script/upload-nightly macos
|
||||||
|
|
||||||
|
# bundle-linux-x86:
|
||||||
|
# timeout-minutes: 60
|
||||||
|
# name: Create a Linux *.tar.gz bundle for x86
|
||||||
|
# if: github.repository_owner == 'zed-industries'
|
||||||
|
# runs-on:
|
||||||
|
# - namespace-profile-16x32-ubuntu-2004 # ubuntu 20.04 for minimal glibc
|
||||||
|
# needs: tests
|
||||||
|
# steps:
|
||||||
|
# - name: Checkout repo
|
||||||
|
# uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||||
|
# with:
|
||||||
|
# clean: false
|
||||||
|
|
||||||
|
# - name: Add Rust to the PATH
|
||||||
|
# run: echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
|
||||||
|
|
||||||
|
# - name: Install Linux dependencies
|
||||||
|
# run: ./script/linux && ./script/install-mold 2.34.0
|
||||||
|
|
||||||
|
# - name: Setup Sentry CLI
|
||||||
|
# uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b #v2
|
||||||
|
# with:
|
||||||
|
# token: ${{ SECRETS.SENTRY_AUTH_TOKEN }}
|
||||||
|
|
||||||
|
# - name: Limit target directory size
|
||||||
|
# run: script/clear-target-dir-if-larger-than 100
|
||||||
|
|
||||||
|
# - name: Set release channel to nightly
|
||||||
|
# run: |
|
||||||
|
# set -euo pipefail
|
||||||
|
# version=$(git rev-parse --short HEAD)
|
||||||
|
# echo "Publishing version: ${version} on release channel nightly"
|
||||||
|
# echo "nightly" > crates/zed/RELEASE_CHANNEL
|
||||||
|
|
||||||
|
# - name: Create Linux .tar.gz bundle
|
||||||
|
# run: script/bundle-linux
|
||||||
|
|
||||||
|
# - name: Upload Zed Nightly
|
||||||
|
# run: script/upload-nightly linux-targz
|
||||||
|
|
||||||
|
# bundle-linux-arm:
|
||||||
|
# timeout-minutes: 60
|
||||||
|
# name: Create a Linux *.tar.gz bundle for ARM
|
||||||
|
# if: github.repository_owner == 'zed-industries'
|
||||||
|
# runs-on:
|
||||||
|
# - namespace-profile-8x32-ubuntu-2004-arm-m4 # ubuntu 20.04 for minimal glibc
|
||||||
|
# needs: tests
|
||||||
|
# steps:
|
||||||
|
# - name: Checkout repo
|
||||||
|
# uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||||
|
# with:
|
||||||
|
# clean: false
|
||||||
|
|
||||||
|
# - name: Install Linux dependencies
|
||||||
|
# run: ./script/linux
|
||||||
|
|
||||||
|
# - name: Setup Sentry CLI
|
||||||
|
# uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b #v2
|
||||||
|
# with:
|
||||||
|
# token: ${{ SECRETS.SENTRY_AUTH_TOKEN }}
|
||||||
|
|
||||||
|
# - name: Limit target directory size
|
||||||
|
# run: script/clear-target-dir-if-larger-than 100
|
||||||
|
|
||||||
|
# - name: Set release channel to nightly
|
||||||
|
# run: |
|
||||||
|
# set -euo pipefail
|
||||||
|
# version=$(git rev-parse --short HEAD)
|
||||||
|
# echo "Publishing version: ${version} on release channel nightly"
|
||||||
|
# echo "nightly" > crates/zed/RELEASE_CHANNEL
|
||||||
|
|
||||||
|
# - name: Create Linux .tar.gz bundle
|
||||||
|
# run: script/bundle-linux
|
||||||
|
|
||||||
|
# - name: Upload Zed Nightly
|
||||||
|
# run: script/upload-nightly linux-targz
|
||||||
|
|
||||||
|
# freebsd:
|
||||||
|
# timeout-minutes: 60
|
||||||
|
# if: false && github.repository_owner == 'zed-industries'
|
||||||
|
# runs-on: github-8vcpu-ubuntu-2404
|
||||||
|
# needs: tests
|
||||||
|
# name: Build Zed on FreeBSD
|
||||||
|
# steps:
|
||||||
|
# - uses: actions/checkout@v4
|
||||||
|
# - name: Build FreeBSD remote-server
|
||||||
|
# id: freebsd-build
|
||||||
|
# uses: vmactions/freebsd-vm@c3ae29a132c8ef1924775414107a97cac042aad5 # v1.2.0
|
||||||
|
# with:
|
||||||
|
# # envs: "MYTOKEN MYTOKEN2"
|
||||||
|
# usesh: true
|
||||||
|
# release: 13.5
|
||||||
|
# copyback: true
|
||||||
|
# prepare: |
|
||||||
|
# pkg install -y \
|
||||||
|
# bash curl jq git \
|
||||||
|
# rustup-init cmake-core llvm-devel-lite pkgconf protobuf # ibx11 alsa-lib rust-bindgen-cli
|
||||||
|
# run: |
|
||||||
|
# freebsd-version
|
||||||
|
# sysctl hw.model
|
||||||
|
# sysctl hw.ncpu
|
||||||
|
# sysctl hw.physmem
|
||||||
|
# sysctl hw.usermem
|
||||||
|
# git config --global --add safe.directory /home/runner/work/zed/zed
|
||||||
|
# rustup-init --profile minimal --default-toolchain none -y
|
||||||
|
# . "$HOME/.cargo/env"
|
||||||
|
# ./script/bundle-freebsd
|
||||||
|
# mkdir -p out/
|
||||||
|
# mv "target/zed-remote-server-freebsd-x86_64.gz" out/
|
||||||
|
# rm -rf target/
|
||||||
|
# cargo clean
|
||||||
|
|
||||||
|
# - name: Upload Zed Nightly
|
||||||
|
# run: script/upload-nightly freebsd
|
||||||
|
|
||||||
|
# bundle-nix:
|
||||||
|
# name: Build and cache Nix package
|
||||||
|
# needs: tests
|
||||||
|
# secrets: inherit
|
||||||
|
# uses: ./.github/workflows/nix.yml
|
||||||
|
|
||||||
|
# bundle-windows-x64:
|
||||||
|
# timeout-minutes: 60
|
||||||
|
# name: Create a Windows installer
|
||||||
|
# if: github.repository_owner == 'zed-industries'
|
||||||
|
# runs-on: [self-32vcpu-windows-2022]
|
||||||
|
# needs: windows-tests
|
||||||
|
# env:
|
||||||
|
# AZURE_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
|
||||||
|
# AZURE_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
|
||||||
|
# AZURE_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
|
||||||
|
# ACCOUNT_NAME: ${{ vars.AZURE_SIGNING_ACCOUNT_NAME }}
|
||||||
|
# CERT_PROFILE_NAME: ${{ vars.AZURE_SIGNING_CERT_PROFILE_NAME }}
|
||||||
|
# ENDPOINT: ${{ vars.AZURE_SIGNING_ENDPOINT }}
|
||||||
|
# FILE_DIGEST: SHA256
|
||||||
|
# TIMESTAMP_DIGEST: SHA256
|
||||||
|
# TIMESTAMP_SERVER: "http://timestamp.acs.microsoft.com"
|
||||||
|
# steps:
|
||||||
|
# - name: Checkout repo
|
||||||
|
# uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||||
|
# with:
|
||||||
|
# clean: false
|
||||||
|
|
||||||
|
# - name: Set release channel to nightly
|
||||||
|
# working-directory: ${{ env.ZED_WORKSPACE }}
|
||||||
|
# run: |
|
||||||
|
# $ErrorActionPreference = "Stop"
|
||||||
|
# $version = git rev-parse --short HEAD
|
||||||
|
# Write-Host "Publishing version: $version on release channel nightly"
|
||||||
|
# "nightly" | Set-Content -Path "crates/zed/RELEASE_CHANNEL"
|
||||||
|
|
||||||
|
# - name: Setup Sentry CLI
|
||||||
|
# uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b #v2
|
||||||
|
# with:
|
||||||
|
# token: ${{ SECRETS.SENTRY_AUTH_TOKEN }}
|
||||||
|
|
||||||
|
# - name: Build Zed installer
|
||||||
|
# working-directory: ${{ env.ZED_WORKSPACE }}
|
||||||
|
# run: script/bundle-windows.ps1
|
||||||
|
|
||||||
|
# - name: Upload Zed Nightly
|
||||||
|
# working-directory: ${{ env.ZED_WORKSPACE }}
|
||||||
|
# run: script/upload-nightly.ps1 windows
|
||||||
|
|
||||||
|
gpui-docs:
|
||||||
timeout-minutes: 60
|
timeout-minutes: 60
|
||||||
name: Check formatting and Clippy lints
|
name: Render rust docs for gpui
|
||||||
if: github.repository_owner == 'zed-industries'
|
if: github.repository_owner == 'zed-industries'
|
||||||
|
# TODO: build for multiple targets?
|
||||||
runs-on:
|
runs-on:
|
||||||
- self-hosted
|
- github-16vcpu-ubuntu-2404
|
||||||
- macOS
|
# needs: tests
|
||||||
steps:
|
continue-on-error: true
|
||||||
- name: Checkout repo
|
|
||||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
||||||
with:
|
|
||||||
clean: false
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Run style checks
|
|
||||||
uses: ./.github/actions/check_style
|
|
||||||
|
|
||||||
- name: Run clippy
|
|
||||||
run: ./script/clippy
|
|
||||||
|
|
||||||
tests:
|
|
||||||
timeout-minutes: 60
|
|
||||||
name: Run tests
|
|
||||||
if: github.repository_owner == 'zed-industries'
|
|
||||||
runs-on:
|
|
||||||
- self-hosted
|
|
||||||
- macOS
|
|
||||||
needs: style
|
|
||||||
steps:
|
|
||||||
- name: Checkout repo
|
|
||||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
||||||
with:
|
|
||||||
clean: false
|
|
||||||
|
|
||||||
- name: Run tests
|
|
||||||
uses: ./.github/actions/run_tests
|
|
||||||
|
|
||||||
windows-tests:
|
|
||||||
timeout-minutes: 60
|
|
||||||
name: Run tests on Windows
|
|
||||||
if: github.repository_owner == 'zed-industries'
|
|
||||||
runs-on: [self-32vcpu-windows-2022]
|
|
||||||
steps:
|
|
||||||
- name: Checkout repo
|
|
||||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
||||||
with:
|
|
||||||
clean: false
|
|
||||||
|
|
||||||
- name: Configure CI
|
|
||||||
run: |
|
|
||||||
New-Item -ItemType Directory -Path "./../.cargo" -Force
|
|
||||||
Copy-Item -Path "./.cargo/ci-config.toml" -Destination "./../.cargo/config.toml"
|
|
||||||
|
|
||||||
- name: Run tests
|
|
||||||
uses: ./.github/actions/run_tests_windows
|
|
||||||
|
|
||||||
- name: Limit target directory size
|
|
||||||
run: ./script/clear-target-dir-if-larger-than.ps1 1024
|
|
||||||
|
|
||||||
- name: Clean CI config file
|
|
||||||
if: always()
|
|
||||||
run: Remove-Item -Recurse -Path "./../.cargo" -Force -ErrorAction SilentlyContinue
|
|
||||||
|
|
||||||
bundle-mac:
|
|
||||||
timeout-minutes: 60
|
|
||||||
name: Create a macOS bundle
|
|
||||||
if: github.repository_owner == 'zed-industries'
|
|
||||||
runs-on:
|
|
||||||
- self-mini-macos
|
|
||||||
needs: tests
|
|
||||||
env:
|
|
||||||
MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
|
|
||||||
MACOS_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
|
|
||||||
APPLE_NOTARIZATION_KEY: ${{ secrets.APPLE_NOTARIZATION_KEY }}
|
|
||||||
APPLE_NOTARIZATION_KEY_ID: ${{ secrets.APPLE_NOTARIZATION_KEY_ID }}
|
|
||||||
APPLE_NOTARIZATION_ISSUER_ID: ${{ secrets.APPLE_NOTARIZATION_ISSUER_ID }}
|
|
||||||
steps:
|
|
||||||
- name: Install Node
|
|
||||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
|
|
||||||
with:
|
|
||||||
node-version: "18"
|
|
||||||
|
|
||||||
- name: Checkout repo
|
|
||||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
||||||
with:
|
|
||||||
clean: false
|
|
||||||
|
|
||||||
- name: Set release channel to nightly
|
|
||||||
run: |
|
|
||||||
set -eu
|
|
||||||
version=$(git rev-parse --short HEAD)
|
|
||||||
echo "Publishing version: ${version} on release channel nightly"
|
|
||||||
echo "nightly" > crates/zed/RELEASE_CHANNEL
|
|
||||||
|
|
||||||
- name: Setup Sentry CLI
|
|
||||||
uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b #v2
|
|
||||||
with:
|
|
||||||
token: ${{ SECRETS.SENTRY_AUTH_TOKEN }}
|
|
||||||
|
|
||||||
- name: Create macOS app bundle
|
|
||||||
run: script/bundle-mac
|
|
||||||
|
|
||||||
- name: Upload Zed Nightly
|
|
||||||
run: script/upload-nightly macos
|
|
||||||
|
|
||||||
bundle-linux-x86:
|
|
||||||
timeout-minutes: 60
|
|
||||||
name: Create a Linux *.tar.gz bundle for x86
|
|
||||||
if: github.repository_owner == 'zed-industries'
|
|
||||||
runs-on:
|
|
||||||
- namespace-profile-16x32-ubuntu-2004 # ubuntu 20.04 for minimal glibc
|
|
||||||
needs: tests
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repo
|
- name: Checkout repo
|
||||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||||
@@ -137,187 +303,61 @@ jobs:
|
|||||||
clean: false
|
clean: false
|
||||||
|
|
||||||
- name: Add Rust to the PATH
|
- name: Add Rust to the PATH
|
||||||
run: echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
|
run: echo "$HOME/.cargo/bin" >> $GITHUB_PATH
|
||||||
|
|
||||||
- name: Install Linux dependencies
|
- name: Install Linux dependencies
|
||||||
run: ./script/linux && ./script/install-mold 2.34.0
|
run: ./script/linux && ./script/install-mold 2.34.0
|
||||||
|
|
||||||
- name: Setup Sentry CLI
|
|
||||||
uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b #v2
|
|
||||||
with:
|
|
||||||
token: ${{ SECRETS.SENTRY_AUTH_TOKEN }}
|
|
||||||
|
|
||||||
- name: Limit target directory size
|
- name: Limit target directory size
|
||||||
run: script/clear-target-dir-if-larger-than 100
|
run: script/clear-target-dir-if-larger-than 100
|
||||||
|
|
||||||
- name: Set release channel to nightly
|
- name: Build rustdocs
|
||||||
run: |
|
run: cargo doc -p gpui --no-deps
|
||||||
set -euo pipefail
|
|
||||||
version=$(git rev-parse --short HEAD)
|
|
||||||
echo "Publishing version: ${version} on release channel nightly"
|
|
||||||
echo "nightly" > crates/zed/RELEASE_CHANNEL
|
|
||||||
|
|
||||||
- name: Create Linux .tar.gz bundle
|
- name: Check for broken links (in HTML)
|
||||||
run: script/bundle-linux
|
uses: lycheeverse/lychee-action@82202e5e9c2f4ef1a55a3d02563e1cb6041e5332 # v2.4.1
|
||||||
|
|
||||||
- name: Upload Zed Nightly
|
|
||||||
run: script/upload-nightly linux-targz
|
|
||||||
|
|
||||||
bundle-linux-arm:
|
|
||||||
timeout-minutes: 60
|
|
||||||
name: Create a Linux *.tar.gz bundle for ARM
|
|
||||||
if: github.repository_owner == 'zed-industries'
|
|
||||||
runs-on:
|
|
||||||
- namespace-profile-8x32-ubuntu-2004-arm-m4 # ubuntu 20.04 for minimal glibc
|
|
||||||
needs: tests
|
|
||||||
steps:
|
|
||||||
- name: Checkout repo
|
|
||||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
||||||
with:
|
with:
|
||||||
clean: false
|
args: --no-progress --exclude '^http' 'target/doc/'
|
||||||
|
fail: true
|
||||||
|
|
||||||
- name: Install Linux dependencies
|
- name: Deploy rustdoc
|
||||||
run: ./script/linux
|
uses: cloudflare/wrangler-action@da0e0dfe58b7a431659754fdf3f186c529afbe65 # v3
|
||||||
|
|
||||||
- name: Setup Sentry CLI
|
|
||||||
uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b #v2
|
|
||||||
with:
|
with:
|
||||||
token: ${{ SECRETS.SENTRY_AUTH_TOKEN }}
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
||||||
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
||||||
|
command: pages deploy target/doc --project-name=gpui-rustdoc
|
||||||
|
|
||||||
- name: Limit target directory size
|
# update-nightly-tag:
|
||||||
run: script/clear-target-dir-if-larger-than 100
|
# name: Update nightly tag
|
||||||
|
# if: github.repository_owner == 'zed-industries'
|
||||||
|
# runs-on: namespace-profile-2x4-ubuntu-2404
|
||||||
|
# needs:
|
||||||
|
# - bundle-mac
|
||||||
|
# - bundle-linux-x86
|
||||||
|
# - bundle-linux-arm
|
||||||
|
# - bundle-windows-x64
|
||||||
|
# steps:
|
||||||
|
# - name: Checkout repo
|
||||||
|
# uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||||
|
# with:
|
||||||
|
# fetch-depth: 0
|
||||||
|
|
||||||
- name: Set release channel to nightly
|
# - name: Update nightly tag
|
||||||
run: |
|
# run: |
|
||||||
set -euo pipefail
|
# if [ "$(git rev-parse nightly)" = "$(git rev-parse HEAD)" ]; then
|
||||||
version=$(git rev-parse --short HEAD)
|
# echo "Nightly tag already points to current commit. Skipping tagging."
|
||||||
echo "Publishing version: ${version} on release channel nightly"
|
# exit 0
|
||||||
echo "nightly" > crates/zed/RELEASE_CHANNEL
|
# fi
|
||||||
|
# git config user.name github-actions
|
||||||
|
# git config user.email github-actions@github.com
|
||||||
|
# git tag -f nightly
|
||||||
|
# git push origin nightly --force
|
||||||
|
|
||||||
- name: Create Linux .tar.gz bundle
|
# - name: Create Sentry release
|
||||||
run: script/bundle-linux
|
# uses: getsentry/action-release@526942b68292201ac6bbb99b9a0747d4abee354c # v3
|
||||||
|
# env:
|
||||||
- name: Upload Zed Nightly
|
# SENTRY_ORG: zed-dev
|
||||||
run: script/upload-nightly linux-targz
|
# SENTRY_PROJECT: zed
|
||||||
|
# SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
||||||
freebsd:
|
# with:
|
||||||
timeout-minutes: 60
|
# environment: production
|
||||||
if: false && github.repository_owner == 'zed-industries'
|
|
||||||
runs-on: github-8vcpu-ubuntu-2404
|
|
||||||
needs: tests
|
|
||||||
name: Build Zed on FreeBSD
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- name: Build FreeBSD remote-server
|
|
||||||
id: freebsd-build
|
|
||||||
uses: vmactions/freebsd-vm@c3ae29a132c8ef1924775414107a97cac042aad5 # v1.2.0
|
|
||||||
with:
|
|
||||||
# envs: "MYTOKEN MYTOKEN2"
|
|
||||||
usesh: true
|
|
||||||
release: 13.5
|
|
||||||
copyback: true
|
|
||||||
prepare: |
|
|
||||||
pkg install -y \
|
|
||||||
bash curl jq git \
|
|
||||||
rustup-init cmake-core llvm-devel-lite pkgconf protobuf # ibx11 alsa-lib rust-bindgen-cli
|
|
||||||
run: |
|
|
||||||
freebsd-version
|
|
||||||
sysctl hw.model
|
|
||||||
sysctl hw.ncpu
|
|
||||||
sysctl hw.physmem
|
|
||||||
sysctl hw.usermem
|
|
||||||
git config --global --add safe.directory /home/runner/work/zed/zed
|
|
||||||
rustup-init --profile minimal --default-toolchain none -y
|
|
||||||
. "$HOME/.cargo/env"
|
|
||||||
./script/bundle-freebsd
|
|
||||||
mkdir -p out/
|
|
||||||
mv "target/zed-remote-server-freebsd-x86_64.gz" out/
|
|
||||||
rm -rf target/
|
|
||||||
cargo clean
|
|
||||||
|
|
||||||
- name: Upload Zed Nightly
|
|
||||||
run: script/upload-nightly freebsd
|
|
||||||
|
|
||||||
bundle-nix:
|
|
||||||
name: Build and cache Nix package
|
|
||||||
needs: tests
|
|
||||||
secrets: inherit
|
|
||||||
uses: ./.github/workflows/nix.yml
|
|
||||||
|
|
||||||
bundle-windows-x64:
|
|
||||||
timeout-minutes: 60
|
|
||||||
name: Create a Windows installer
|
|
||||||
if: github.repository_owner == 'zed-industries'
|
|
||||||
runs-on: [self-32vcpu-windows-2022]
|
|
||||||
needs: windows-tests
|
|
||||||
env:
|
|
||||||
AZURE_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
|
|
||||||
AZURE_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
|
|
||||||
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
|
|
||||||
ACCOUNT_NAME: ${{ vars.AZURE_SIGNING_ACCOUNT_NAME }}
|
|
||||||
CERT_PROFILE_NAME: ${{ vars.AZURE_SIGNING_CERT_PROFILE_NAME }}
|
|
||||||
ENDPOINT: ${{ vars.AZURE_SIGNING_ENDPOINT }}
|
|
||||||
FILE_DIGEST: SHA256
|
|
||||||
TIMESTAMP_DIGEST: SHA256
|
|
||||||
TIMESTAMP_SERVER: "http://timestamp.acs.microsoft.com"
|
|
||||||
steps:
|
|
||||||
- name: Checkout repo
|
|
||||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
||||||
with:
|
|
||||||
clean: false
|
|
||||||
|
|
||||||
- name: Set release channel to nightly
|
|
||||||
working-directory: ${{ env.ZED_WORKSPACE }}
|
|
||||||
run: |
|
|
||||||
$ErrorActionPreference = "Stop"
|
|
||||||
$version = git rev-parse --short HEAD
|
|
||||||
Write-Host "Publishing version: $version on release channel nightly"
|
|
||||||
"nightly" | Set-Content -Path "crates/zed/RELEASE_CHANNEL"
|
|
||||||
|
|
||||||
- name: Setup Sentry CLI
|
|
||||||
uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b #v2
|
|
||||||
with:
|
|
||||||
token: ${{ SECRETS.SENTRY_AUTH_TOKEN }}
|
|
||||||
|
|
||||||
- name: Build Zed installer
|
|
||||||
working-directory: ${{ env.ZED_WORKSPACE }}
|
|
||||||
run: script/bundle-windows.ps1
|
|
||||||
|
|
||||||
- name: Upload Zed Nightly
|
|
||||||
working-directory: ${{ env.ZED_WORKSPACE }}
|
|
||||||
run: script/upload-nightly.ps1 windows
|
|
||||||
|
|
||||||
update-nightly-tag:
|
|
||||||
name: Update nightly tag
|
|
||||||
if: github.repository_owner == 'zed-industries'
|
|
||||||
runs-on: namespace-profile-2x4-ubuntu-2404
|
|
||||||
needs:
|
|
||||||
- bundle-mac
|
|
||||||
- bundle-linux-x86
|
|
||||||
- bundle-linux-arm
|
|
||||||
- bundle-windows-x64
|
|
||||||
steps:
|
|
||||||
- name: Checkout repo
|
|
||||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Update nightly tag
|
|
||||||
run: |
|
|
||||||
if [ "$(git rev-parse nightly)" = "$(git rev-parse HEAD)" ]; then
|
|
||||||
echo "Nightly tag already points to current commit. Skipping tagging."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
git config user.name github-actions
|
|
||||||
git config user.email github-actions@github.com
|
|
||||||
git tag -f nightly
|
|
||||||
git push origin nightly --force
|
|
||||||
|
|
||||||
- name: Create Sentry release
|
|
||||||
uses: getsentry/action-release@526942b68292201ac6bbb99b9a0747d4abee354c # v3
|
|
||||||
env:
|
|
||||||
SENTRY_ORG: zed-dev
|
|
||||||
SENTRY_PROJECT: zed
|
|
||||||
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
|
||||||
with:
|
|
||||||
environment: production
|
|
||||||
|
|||||||
Reference in New Issue
Block a user