mirror of https://github.com/hannobraun/Fornjot
Merge pull request #1324 from kopackiw/issue-883
Unify release flags and correctly mark dev build releases
This commit is contained in:
commit
fed6533f54
|
@ -11,17 +11,39 @@ env:
|
|||
# used to rename and upload the binaries
|
||||
PROJ_NAME: fj-app
|
||||
|
||||
# This lets our app know it's an "official" release. Otherwise we would get
|
||||
# a version number like "fj-app 0.8.0 (8cb928bb, unreleased)"
|
||||
FJ_OFFICIAL_RELEASE: 1
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
|
||||
jobs:
|
||||
calculate-release-flags:
|
||||
name: Calculate release flags
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
release-detected: ${{ steps.release.outputs.release-detected }}
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Operator | Cache
|
||||
uses: Swatinem/rust-cache@v2
|
||||
with:
|
||||
key: release-operator-01
|
||||
|
||||
- name: Operator | Deduce
|
||||
id: release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
RELEASE_LABEL: release
|
||||
RUST_LOG: info
|
||||
run: |
|
||||
# Run release operator
|
||||
cargo run -p release-operator -- detect
|
||||
|
||||
binaries:
|
||||
name: Binaries
|
||||
needs: calculate-release-flags
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
|
@ -45,6 +67,10 @@ jobs:
|
|||
|
||||
- name: Binaries | Compile
|
||||
run: cargo build --release --target ${{ matrix.target }}
|
||||
env:
|
||||
# This lets our app know it's an "official" release. Otherwise we would get
|
||||
# a version number like "fj-app 0.8.0 (8cb928bb, unreleased)"
|
||||
RELEASE_DETECTED: ${{ needs.calculate-release-flags.outputs.release-detected }}
|
||||
|
||||
- name: Binaries | Prepare upload
|
||||
run: |
|
||||
|
@ -69,7 +95,10 @@ jobs:
|
|||
|
||||
release:
|
||||
name: Release
|
||||
needs: binaries
|
||||
if: ${{ needs.calculate-release-flags.outputs.release-detected == 'true' }}
|
||||
needs:
|
||||
- calculate-release-flags
|
||||
- binaries
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
|
@ -80,22 +109,10 @@ jobs:
|
|||
with:
|
||||
key: release-operator-01
|
||||
|
||||
- name: Operator | Deduce
|
||||
id: release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
RELEASE_LABEL: release
|
||||
RUST_LOG: info
|
||||
run: |
|
||||
# Run release operator
|
||||
cargo run -p release-operator -- detect
|
||||
|
||||
- name: Binaries | Download
|
||||
if: ${{ steps.release.outputs.release-detected == 'true' }}
|
||||
uses: actions/download-artifact@v3
|
||||
|
||||
- name: Binaries | Checksums
|
||||
if: ${{ steps.release.outputs.release-detected == 'true' }}
|
||||
run: |
|
||||
# Build binary checksums
|
||||
for file in "${PROJ_NAME}"-*/"${PROJ_NAME}"-*; do
|
||||
|
@ -105,7 +122,6 @@ jobs:
|
|||
done
|
||||
|
||||
- name: Release | GitHub
|
||||
if: ${{ steps.release.outputs.release-detected == 'true' }}
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
tag_name: ${{ steps.release.outputs.tag-name }}
|
||||
|
@ -113,7 +129,6 @@ jobs:
|
|||
files: ${{ env.PROJ_NAME }}-*/${{ env.PROJ_NAME }}-*
|
||||
|
||||
- name: Release | Crates.io
|
||||
if: ${{ steps.release.outputs.release-detected == 'true' }}
|
||||
env:
|
||||
RUST_LOG: info
|
||||
run: |
|
||||
|
|
|
@ -23,8 +23,8 @@ impl Version {
|
|||
let commit = git_description();
|
||||
|
||||
let official_release =
|
||||
std::env::var("FJ_OFFICIAL_RELEASE").as_deref() == Ok("1");
|
||||
println!("cargo:rerun-if-env-changed=FJ_OFFICIAL_RELEASE");
|
||||
std::env::var("RELEASE_DETECTED").as_deref() == Ok("true");
|
||||
println!("cargo:rerun-if-env-changed=RELEASE_DETECTED");
|
||||
|
||||
let full_string = match (commit, official_release) {
|
||||
(Some(commit), true) => format!("{pkg_version} ({commit})"),
|
||||
|
|
Loading…
Reference in New Issue