Skip to content

Publish and Release #102

Publish and Release

Publish and Release #102

Workflow file for this run

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