Manual Release #90
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: Manual Release | |
# Triggers a merge from main->release, which will then trigger a release | |
# from the release branch. | |
on: | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
env: | |
CARGO_TERM_COLOR: always | |
APP_NAME: 'momento-cli' | |
MAINTAINER: 'momentohq' | |
DESC: 'Official CLI for Momento Serverless Cache' | |
jobs: | |
rustfmt: | |
name: rustfmt | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
token: ${{ secrets.MOMENTO_MACHINE_USER_GITHUB_TOKEN }} | |
- name: rustfmt | |
run: cargo fmt -- --check | |
prepare-release: | |
runs-on: ubuntu-latest | |
outputs: | |
version: ${{ steps.release.outputs.release }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
token: ${{ secrets.MOMENTO_MACHINE_USER_GITHUB_TOKEN }} | |
- name: Install protoc | |
run: ./scripts/install_protoc_linux.sh | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
components: rustfmt | |
override: true | |
- name: Setup Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: "3.x" | |
- name: Dry-run semrel release to get version number | |
id: semrel_dryrun | |
uses: go-semantic-release/action@v1 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
allow-initial-development-versions: true | |
force-bump-patch-version: true | |
dry: true | |
- name: Update Cargo Version | |
run: | | |
chmod +x set_cargo_version.sh | |
./set_cargo_version.sh ${{ steps.semrel_dryrun.outputs.version }} | |
shell: bash | |
- name: Build | |
run: | | |
rustup target list | |
cargo build --verbose | |
- uses: stefanzweifel/git-auto-commit-action@v4 | |
with: | |
commit_message: "chore: Updated Cargo version to v${{ steps.semrel_dryrun.outputs.version }}" | |
trigger-release: | |
runs-on: ubuntu-latest | |
needs: [prepare-release] | |
steps: | |
- name: Repository Dispatch to Execute Release | |
uses: peter-evans/repository-dispatch@v2 | |
with: | |
event-type: execute-release |