62 lines
1.6 KiB
YAML
62 lines
1.6 KiB
YAML
# Copyright 2016-2022 the Tectonic Project
|
|
# Licensed under the MIT License.
|
|
#
|
|
# Preparatory build stage.
|
|
|
|
jobs:
|
|
- job: main
|
|
pool:
|
|
vmImage: ubuntu-latest
|
|
|
|
steps:
|
|
- checkout: self
|
|
submodules: true
|
|
|
|
- bash: |
|
|
set -ex
|
|
rustup set profile minimal
|
|
rustup component remove --toolchain=stable rust-docs || echo "already removed"
|
|
rustup update --no-self-update stable
|
|
rustup default stable
|
|
# Log versions
|
|
rustup -V
|
|
rustc -Vv
|
|
cargo -V
|
|
displayName: Set up Rust
|
|
env:
|
|
TOOLCHAIN: stable
|
|
|
|
- bash: |
|
|
d="$(mktemp -d /tmp/cranko.XXXXXX)"
|
|
cd "$d"
|
|
curl --proto '=https' --tlsv1.2 -sSf https://pkgw.github.io/cranko/fetch-latest.sh | sh
|
|
echo "##vso[task.prependpath]$d"
|
|
displayName: Install latest Cranko
|
|
|
|
- bash: cranko release-workflow apply-versions
|
|
displayName: "cranko release-workflow apply-versions"
|
|
|
|
# Do an extremely minimal build to get Cargo.lock updated.
|
|
- bash: cargo build -p tectonic_cfg_support
|
|
displayName: "Mini-build to freshen Cargo.lock"
|
|
|
|
- bash: |
|
|
set -xeuo pipefail
|
|
git add .
|
|
cranko release-workflow commit
|
|
git show
|
|
displayName: Generate release commit
|
|
|
|
- bash: |
|
|
set -xeuo pipefail
|
|
artifact_dir="$(Build.ArtifactStagingDirectory)/git-release"
|
|
mkdir -p "$artifact_dir"
|
|
git bundle create "$artifact_dir/release.bundle" origin/master..HEAD
|
|
displayName: "Bundle release commit"
|
|
|
|
- task: PublishPipelineArtifact@1
|
|
displayName: Publish git bundle artifact
|
|
inputs:
|
|
targetPath: '$(Build.ArtifactStagingDirectory)/git-release'
|
|
artifactName: git-release
|