zed/.github/workflows/ci.yml
Nathan Sobo 0faabc2177 Only upload artifacts to workflow runs on the main branch
We're running out of actions storage, and we don't really need an artifact stored for every single build.
2021-06-24 19:02:57 -06:00

80 lines
1.8 KiB
YAML

name: CI
on:
push:
branches:
- main
tags:
- "v*"
pull_request:
branches:
- "**"
env:
CARGO_TERM_COLOR: always
CARGO_INCREMENTAL: 0
RUST_BACKTRACE: 1
jobs:
tests:
name: Run tests
runs-on: self-hosted
steps:
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: x86_64-apple-darwin
profile: minimal
- name: Checkout repo
uses: actions/checkout@v2
with:
clean: false
- name: Run tests
run: cargo test --no-fail-fast
bundle:
name: Bundle app
runs-on: self-hosted
steps:
- name: Install Rust x86_64-apple-darwin target
uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: x86_64-apple-darwin
profile: minimal
- name: Install Rust aarch64-apple-darwin target
uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: aarch64-apple-darwin
profile: minimal
- name: Checkout repo
uses: actions/checkout@v2
with:
clean: false
- name: Create app bundle
run: script/bundle
- name: Upload app bundle to workflow run if main branch
uses: actions/upload-artifact@v2
if: ${{ github.ref == 'refs/heads/main' }}
with:
name: Zed.dmg
path: target/release/Zed.dmg
- uses: softprops/action-gh-release@v1
name: Upload app bundle to release if release tag
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
with:
draft: true
files: target/release/Zed.dmg
overwrite: true
body: ""
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}