chore: Bump cc to 1.0.84 #9427
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: | |
- main | |
- "v[0-9]+.[0-9]+.x" | |
tags: | |
- "v*" | |
pull_request: | |
branches: | |
- "**" | |
env: | |
CARGO_TERM_COLOR: always | |
CARGO_INCREMENTAL: 0 | |
RUST_BACKTRACE: 1 | |
jobs: | |
rustfmt: | |
name: Check formatting | |
runs-on: | |
- self-hosted | |
- test | |
steps: | |
- name: Install Rust | |
run: | | |
rustup set profile minimal | |
rustup update stable | |
- name: Checkout repo | |
uses: actions/checkout@v3 | |
with: | |
clean: false | |
submodules: "recursive" | |
- name: cargo fmt | |
run: cargo fmt --all -- --check | |
tests: | |
name: Run tests | |
runs-on: | |
- self-hosted | |
- test | |
needs: rustfmt | |
env: | |
RUSTFLAGS: -D warnings | |
steps: | |
- name: Install Rust | |
run: | | |
rustup set profile minimal | |
rustup update stable | |
rustup target add wasm32-wasi | |
cargo install cargo-nextest | |
- name: Install Node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "18" | |
- name: Checkout repo | |
uses: actions/checkout@v3 | |
with: | |
clean: false | |
submodules: "recursive" | |
- name: Limit target directory size | |
run: script/clear-target-dir-if-larger-than 70 | |
- name: Run check | |
run: cargo check --workspace | |
- name: Run tests | |
run: cargo nextest run --workspace --no-fail-fast | |
- name: Build collab | |
run: cargo build -p collab | |
- name: Build other binaries | |
run: cargo build --workspace --bins --all-features | |
bundle: | |
name: Bundle app | |
runs-on: | |
- self-hosted | |
- bundle | |
if: ${{ github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v') || contains(github.event.pull_request.labels.*.name, 'run-build-dmg') }} | |
needs: tests | |
env: | |
MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }} | |
MACOS_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }} | |
APPLE_NOTARIZATION_USERNAME: ${{ secrets.APPLE_NOTARIZATION_USERNAME }} | |
APPLE_NOTARIZATION_PASSWORD: ${{ secrets.APPLE_NOTARIZATION_PASSWORD }} | |
steps: | |
- name: Install Rust | |
run: | | |
rustup set profile minimal | |
rustup update stable | |
rustup target add aarch64-apple-darwin | |
rustup target add x86_64-apple-darwin | |
rustup target add wasm32-wasi | |
- name: Install Node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "18" | |
- name: Checkout repo | |
uses: actions/checkout@v3 | |
with: | |
clean: false | |
submodules: "recursive" | |
- name: Limit target directory size | |
run: script/clear-target-dir-if-larger-than 70 | |
- name: Determine version and release channel | |
if: ${{ startsWith(github.ref, 'refs/tags/v') }} | |
run: | | |
set -eu | |
version=$(script/get-crate-version zed) | |
channel=$(cat crates/zed/RELEASE_CHANNEL) | |
echo "Publishing version: ${version} on release channel ${channel}" | |
echo "RELEASE_CHANNEL=${channel}" >> $GITHUB_ENV | |
expected_tag_name="" | |
case ${channel} in | |
stable) | |
expected_tag_name="v${version}";; | |
preview) | |
expected_tag_name="v${version}-pre";; | |
*) | |
echo "can't publish a release on channel ${channel}" | |
exit 1;; | |
esac | |
if [[ $GITHUB_REF_NAME != $expected_tag_name ]]; then | |
echo "invalid release tag ${GITHUB_REF_NAME}. expected ${expected_tag_name}" | |
exit 1 | |
fi | |
- name: Generate license file | |
run: script/generate-licenses | |
- name: Create app bundle | |
run: script/bundle | |
- name: Upload app bundle to workflow run if main branch or specific label | |
uses: actions/upload-artifact@v3 | |
if: ${{ github.ref == 'refs/heads/main' }} || contains(github.event.pull_request.labels.*.name, 'run-build-dmg') }} | |
with: | |
name: Zed_${{ github.event.pull_request.head.sha || github.sha }}.dmg | |
path: target/release/Zed.dmg | |
- uses: softprops/action-gh-release@v1 | |
name: Upload app bundle to release | |
if: ${{ env.RELEASE_CHANNEL }} | |
with: | |
draft: true | |
prerelease: ${{ env.RELEASE_CHANNEL == 'preview' }} | |
files: target/release/Zed.dmg | |
body: "" | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |