Skip to content

Fix CI (for Linux and MacOS) #23

Fix CI (for Linux and MacOS)

Fix CI (for Linux and MacOS) #23

# NOTE: This file comes from `savi-lang/base-standard-library`
#
# This workflow is responsible for automating the creation of a new release.
# As an input, the workflow takes a version tag to apply to the latest commit.
# The version tag name will also be the release's name in GitHub.
# Release notes will auto-generated by GitHub based on Pull Requests history.
#
# With some minor modification (see comments in the job definition below),
# this workflow can also build release binaries for all supported platforms,
# and package them up as tarballs attached as assets to the release in GitHub.
# This is not relevant for all libraries, because many libraries do not have
# any executable binary that is relevant to build, so it is disabled by default,
# but for those libraries that have one or more application binaries to build,
# all you need to do is specify the binary manifest's name and enable that step.
#
# The workflow is triggered by workflow dispatch, which means to run it you
# need to press the "Run Workflow" button on the Actions page for this workflow,
# then enter the required inputs when prompted to do so.
# It can also be triggered via the GitHub API if desired.
name: library-release
on:
pull_request: # (only to verify that the release build is working in PRs)
workflow_dispatch:
inputs:
version-tag:
description: |
The name of the version to release (e.g. `v1.2.3` or `v0.20220131.0`).
required: true
jobs:
all:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: savi-lang/action-install@v1
- uses: savi-lang/action-build-release@v1
# Remove the following `if: false` line and replace all occurrences of
# `my-app` placeholder with your application's bin manifest name
# to enable building release binaries for your application.
if: false
id: my-app
with:
manifest-name: my-app
tarball-name: my-app-${{ github.event.inputs.version-tag }}
all-platforms: true
macosx-accept-license: true
windows-accept-license: true
- uses: softprops/action-gh-release@v1
if: ${{ github.event.inputs.version-tag != '' }}
with:
tag_name: ${{ github.event.inputs.version-tag }}
generate_release_notes: true
token: ${{ secrets.BOT_GITHUB_TOKEN }} # (allows triggering workflows)
# Uncomment the following lines to upload release binaries.
# fail_on_unmatched_files: true
# files: |
# ${{ steps.my-app.outputs.tarball-directory }}/*