teecity/.github/workflows/release.yml
2023-10-30 10:44:36 +01:00

58 lines
1.7 KiB
YAML

name: Release
permissions:
contents: write
on:
release:
types: [created]
jobs:
create-release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: taiki-e/create-gh-release-action@v1
with:
# (required) GitHub token for creating GitHub Releases.
token: ${{ secrets.GITHUB_TOKEN }}
upload-assets:
strategy:
matrix:
os:
- ubuntu-latest
- macos-latest
- windows-latest
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Install deps (linux)
if: ${{ matrix.os == 'ubuntu-latest' }}
run: |
sudo apt-get install lld mold
- name: Install deps (macOS)
if: ${{ matrix.os == 'macos-latest' }}
run: |
brew install llvm
- name: Install deps (windows)
if: ${{ matrix.os == 'windows-latest' }}
run: |
cargo install -f cargo-binutils
rustup component add llvm-tools-preview
- uses: taiki-e/upload-rust-binary-action@v1
with:
# (required) Comma-separated list of binary names (non-extension portion of filename) to build and upload.
# Note that glob pattern is not supported yet.
bin: teecity
# (optional) On which platform to distribute the `.tar.gz` file.
# [default value: unix]
# [possible values: all, unix, windows, none]
tar: unix
# (optional) On which platform to distribute the `.zip` file.
# [default value: windows]
# [possible values: all, unix, windows, none]
zip: windows
# (required) GitHub token for uploading assets to GitHub Releases.
token: ${{ secrets.GITHUB_TOKEN }}