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 }}