tectonic/dist/azure-prep.yml

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