.github: Run release style builds on all PRs

Adjust the release workflow to move the conditional check on the tag
creation into the steps that create the release/upload the assets.

This allows us to ensure we're always in a releaseable state.

Signed-off-by: Rob Bradford <robert.bradford@intel.com>
This commit is contained in:
Rob Bradford
2023-01-13 13:48:27 +00:00
parent 375e094c77
commit ef7e177df2

View File

@@ -1,52 +1,51 @@
name: Cloud Hypervisor Release name: Cloud Hypervisor Release
on: [create] on: [pull_request, create]
jobs: jobs:
release: release:
if: github.event_name == 'create' && github.event.ref_type == 'tag'
name: Release name: Release
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Code checkout - name: Code checkout
uses: actions/checkout@v2 uses: actions/checkout@v2
- name: Install musl-gcc - name: Install musl-gcc
run: sudo apt install -y musl-tools run: sudo apt install -y musl-tools
- name: Create release directory - name: Create release directory
run: rsync -rv --exclude=.git . ../cloud-hypervisor-${{ github.event.ref }} run: rsync -rv --exclude=.git . ../cloud-hypervisor-${{ github.event.ref }}
- name: Install Rust toolchain (x86_64-unknown-linux-gnu) - name: Install Rust toolchain (x86_64-unknown-linux-gnu)
uses: actions-rs/toolchain@v1 uses: actions-rs/toolchain@v1
with: with:
toolchain: "1.62" toolchain: "1.62"
target: x86_64-unknown-linux-gnu target: x86_64-unknown-linux-gnu
- name: Install Rust toolchain (x86_64-unknown-linux-musl) - name: Install Rust toolchain (x86_64-unknown-linux-musl)
uses: actions-rs/toolchain@v1 uses: actions-rs/toolchain@v1
with: with:
toolchain: "1.62" toolchain: "1.62"
target: x86_64-unknown-linux-musl target: x86_64-unknown-linux-musl
- name: Build - name: Build
uses: actions-rs/cargo@v1 uses: actions-rs/cargo@v1
with: with:
toolchain: "1.62" toolchain: "1.62"
command: build command: build
args: --all --release --no-default-features --features "kvm,mshv" --target=x86_64-unknown-linux-gnu args: --all --release --no-default-features --features "kvm,mshv" --target=x86_64-unknown-linux-gnu
- name: Static Build - name: Static Build
uses: actions-rs/cargo@v1 uses: actions-rs/cargo@v1
with: with:
toolchain: "1.62" toolchain: "1.62"
command: build command: build
args: --all --release --no-default-features --features "kvm,mshv" --target=x86_64-unknown-linux-musl args: --all --release --no-default-features --features "kvm,mshv" --target=x86_64-unknown-linux-musl
- name: Install Rust toolchain (aarch64-unknown-linux-musl) - name: Install Rust toolchain (aarch64-unknown-linux-musl)
uses: actions-rs/toolchain@v1 uses: actions-rs/toolchain@v1
with: with:
toolchain: "1.62" toolchain: "1.62"
target: aarch64-unknown-linux-musl target: aarch64-unknown-linux-musl
override: true override: true
- name: Static Build (AArch64) - name: Static Build (AArch64)
uses: actions-rs/cargo@v1 uses: actions-rs/cargo@v1
with: with:
use-cross: true use-cross: true
command: build command: build
args: --all --release --target=aarch64-unknown-linux-musl args: --all --release --target=aarch64-unknown-linux-musl
- name: Vendor - name: Vendor
working-directory: ../cloud-hypervisor-${{ github.event.ref }} working-directory: ../cloud-hypervisor-${{ github.event.ref }}
run: | run: |
@@ -55,6 +54,7 @@ jobs:
mkdir .cargo mkdir .cargo
cargo vendor > .cargo/config.toml cargo vendor > .cargo/config.toml
- name: Create Release - name: Create Release
if: github.event_name == 'create' && github.event.ref_type == 'tag'
id: create_release id: create_release
uses: actions/create-release@v1 uses: actions/create-release@v1
env: env:
@@ -66,8 +66,9 @@ jobs:
prerelease: true prerelease: true
- name: Create vendored source archive - name: Create vendored source archive
working-directory: ../ working-directory: ../
run: tar cJf cloud-hypervisor-${{ github.event.ref }}.tar.xz cloud-hypervisor-${{ github.event.ref }} run: tar cJf cloud-hypervisor-${{ github.event.ref }}.tar.xz cloud-hypervisor-${{ github.event.ref }}
- name: Upload cloud-hypervisor vendored source archive - name: Upload cloud-hypervisor vendored source archive
if: github.event_name == 'create' && github.event.ref_type == 'tag'
id: upload-release-cloud-hypervisor-vendored-sources id: upload-release-cloud-hypervisor-vendored-sources
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
@@ -78,6 +79,7 @@ jobs:
asset_name: cloud-hypervisor-${{ github.event.ref }}.tar.xz asset_name: cloud-hypervisor-${{ github.event.ref }}.tar.xz
asset_content_type: application/x-xz asset_content_type: application/x-xz
- name: Upload cloud-hypervisor - name: Upload cloud-hypervisor
if: github.event_name == 'create' && github.event.ref_type == 'tag'
id: upload-release-cloud-hypervisor id: upload-release-cloud-hypervisor
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
@@ -88,6 +90,7 @@ jobs:
asset_name: cloud-hypervisor asset_name: cloud-hypervisor
asset_content_type: application/octet-stream asset_content_type: application/octet-stream
- name: Upload static cloud-hypervisor - name: Upload static cloud-hypervisor
if: github.event_name == 'create' && github.event.ref_type == 'tag'
id: upload-release-static-cloud-hypervisor id: upload-release-static-cloud-hypervisor
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
@@ -98,6 +101,7 @@ jobs:
asset_name: cloud-hypervisor-static asset_name: cloud-hypervisor-static
asset_content_type: application/octet-stream asset_content_type: application/octet-stream
- name: Upload ch-remote - name: Upload ch-remote
if: github.event_name == 'create' && github.event.ref_type == 'tag'
id: upload-release-ch-remote id: upload-release-ch-remote
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
@@ -108,6 +112,7 @@ jobs:
asset_name: ch-remote asset_name: ch-remote
asset_content_type: application/octet-stream asset_content_type: application/octet-stream
- name: Upload static-ch-remote - name: Upload static-ch-remote
if: github.event_name == 'create' && github.event.ref_type == 'tag'
id: upload-release-static-ch-remote id: upload-release-static-ch-remote
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
@@ -118,6 +123,7 @@ jobs:
asset_name: ch-remote-static asset_name: ch-remote-static
asset_content_type: application/octet-stream asset_content_type: application/octet-stream
- name: Upload static AArch64 cloud-hypervisor - name: Upload static AArch64 cloud-hypervisor
if: github.event_name == 'create' && github.event.ref_type == 'tag'
id: upload-release-static-aarch64-cloud-hypervisor id: upload-release-static-aarch64-cloud-hypervisor
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
@@ -128,6 +134,7 @@ jobs:
asset_name: cloud-hypervisor-static-aarch64 asset_name: cloud-hypervisor-static-aarch64
asset_content_type: application/octet-stream asset_content_type: application/octet-stream
- name: Upload static AArch64 ch-remote - name: Upload static AArch64 ch-remote
if: github.event_name == 'create' && github.event.ref_type == 'tag'
id: upload-release-static-aarch64-ch-remote id: upload-release-static-aarch64-ch-remote
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env: