Publish and Release #102
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: Publish and Release | |
on: | |
workflow_dispatch: | |
push: | |
paths: ".github/workflows/release.yml" | |
tags: "*" | |
jobs: | |
crates-publish: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Rust | |
uses: dtolnay/rust-toolchain@stable | |
- name: Upload to crates.io | |
run: cargo publish | |
env: | |
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} | |
gh-release: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download artifacts | |
uses: dawidd6/action-download-artifact@v3 | |
with: | |
workflow_conclusion: success | |
workflow: build.yml | |
path: ./out | |
- name: Create sha256sum for Scoop | |
run: sha256sum ./out/ferium-windows-msvc.zip | cut -d ' ' -f 1 > ./out/ferium-windows-msvc.zip.sha256 | |
# Remove the dots for the markdown header | |
- name: MD Header | |
run: echo "MD_HEADER=$(git describe --tags | sed 's/\.//g')" >> $GITHUB_ENV | |
- name: Get the latest tag | |
run: git fetch --depth=25 && echo "TAG=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV | |
- name: Create release | |
uses: softprops/action-gh-release@v1 | |
with: | |
files: ./out/* | |
name: Ferium ${{ env.TAG }} | |
tag_name: ${{ env.TAG }} | |
body: | | |
Compiled binaries for Ferium version `${{ env.TAG }}` ([changelog](${{ github.server_url }}/${{ github.repository }}/blob/main/CHANGELOG.md#${{ env.MD_HEADER }})) | |
The provided binaries are for: | |
- Linux ARM without a GUI file dialogue | |
- Linux ARM (aarch64 linux musl) | |
- Linux without a GUI file dialogue | |
- Linux (x64 linux musl) | |
- macOS Apple Silicon (aarch64 darwin) | |
- macOS Intel (x64 darwin) | |
- GNU Windows (x64 windows gnu) (i.e. Cygwin/MinGW) | |
- Windows (x64 windows msvc) | |
You can install ferium by downloading and unzipping the appropriate asset, and moving the executable to ~/bin or any other folder in your path. | |
aur-update: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download artifacts | |
uses: dawidd6/action-download-artifact@v3 | |
with: | |
workflow_conclusion: success | |
workflow: build.yml | |
path: ./out | |
- name: Get the latest tag | |
run: git fetch --depth=25 && echo "TAG=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV | |
- name: Update no-gui AUR package | |
uses: ATiltedTree/create-aur-release@v1 | |
with: | |
package_name: ferium-bin | |
package_version: ${{ env.TAG }} | |
commit_username: "Ilesh Thiada" | |
commit_email: ileshkt@gmail.com | |
ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }} | |
- name: Update gui AUR package | |
uses: ATiltedTree/create-aur-release@v1 | |
with: | |
package_name: ferium-gui-bin | |
package_version: ${{ env.TAG }} | |
commit_username: "Ilesh Thiada" | |
commit_email: ileshkt@gmail.com | |
ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }} | |
homebrew-update: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download artifacts | |
uses: dawidd6/action-download-artifact@v3 | |
with: | |
workflow_conclusion: success | |
workflow: build.yml | |
path: ./out | |
- name: Get the latest tag | |
run: git fetch --depth=25 && echo "TAG=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV | |
- name: Update Homebrew formula | |
uses: mislav/bump-homebrew-formula-action@v3 | |
with: | |
tag-name: ${{ env.TAG }} | |
env: | |
COMMITTER_TOKEN: ${{ secrets.COMMITTER_TOKEN }} |