mirror of
https://github.com/google/brotli.git
synced 2026-04-05 21:52:51 +00:00
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 5.0.0 to 7.0.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](330a01c490...bbbca2ddaa)
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: 7.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Kliuchnikov <eustas.ru@gmail.com>
246 lines
6.5 KiB
YAML
246 lines
6.5 KiB
YAML
# Copyright 2023 Google Inc. All Rights Reserved.
|
|
#
|
|
# Distributed under MIT license.
|
|
# See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
|
|
|
|
# Workflow for building the release binaries.
|
|
|
|
name: Release build / deploy
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
- v*.*.*
|
|
release:
|
|
types: [ published ]
|
|
pull_request:
|
|
types: [opened, reopened, labeled, unlabeled, synchronize]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }}
|
|
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
|
|
|
jobs:
|
|
windows_build:
|
|
name: Windows Build (vcpkg / ${{ matrix.triplet }})
|
|
runs-on: ${{ matrix.runs_on }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- triplet: x86-windows-dynamic
|
|
arch: '-A Win32'
|
|
build_shared_libs: 'ON'
|
|
runs_on: windows-latest
|
|
- triplet: x64-windows-dynamic
|
|
arch: '-A x64'
|
|
build_shared_libs: 'ON'
|
|
runs_on: windows-latest
|
|
- triplet: arm64-windows-dynamic
|
|
arch: '-A ARM64'
|
|
build_shared_libs: 'ON'
|
|
runs_on: windows-11-arm
|
|
- triplet: x86-windows-static
|
|
arch: '-A Win32'
|
|
build_shared_libs: 'OFF'
|
|
runs_on: windows-latest
|
|
- triplet: x64-windows-static
|
|
arch: '-A x64'
|
|
build_shared_libs: 'OFF'
|
|
runs_on: windows-latest
|
|
- triplet: arm64-windows-static
|
|
arch: '-A ARM64'
|
|
build_shared_libs: 'OFF'
|
|
runs_on: windows-11-arm
|
|
|
|
env:
|
|
VCPKG_VERSION: '2022.11.14'
|
|
VCPKG_ROOT: vcpkg
|
|
VCPKG_DISABLE_METRICS: 1
|
|
|
|
steps:
|
|
|
|
- name: Harden Runner
|
|
uses: step-security/harden-runner@fa2e9d605c4eeb9fcad4c99c224cee0c6c7f3594 # v2.16.0
|
|
with:
|
|
egress-policy: audit
|
|
|
|
- name: Checkout the source
|
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
submodules: false
|
|
fetch-depth: 1
|
|
|
|
- uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
|
|
id: cache-vcpkg
|
|
with:
|
|
path: vcpkg
|
|
key: release-${{ runner.os }}-vcpkg-${{ env.VCPKG_VERSION }}-${{ matrix.triplet }}
|
|
|
|
- name: Download vcpkg
|
|
if: steps.cache-vcpkg.outputs.cache-hit != 'true'
|
|
shell: 'powershell'
|
|
run: |
|
|
Invoke-WebRequest -Uri "https://github.com/microsoft/vcpkg/archive/refs/tags/${{ env.VCPKG_VERSION }}.zip" -OutFile "vcpkg.zip"
|
|
|
|
- name: Bootstrap vcpkg
|
|
if: steps.cache-vcpkg.outputs.cache-hit != 'true'
|
|
shell: 'bash'
|
|
run: |
|
|
set -x
|
|
unzip -q vcpkg.zip
|
|
rm -rf ${VCPKG_ROOT}
|
|
mv vcpkg-${VCPKG_VERSION} ${VCPKG_ROOT}
|
|
${VCPKG_ROOT}/bootstrap-vcpkg.sh
|
|
|
|
- name: Configure
|
|
shell: 'bash'
|
|
run: |
|
|
set -x
|
|
mkdir out
|
|
cmake -Bout -H. ${{ matrix.arch }} \
|
|
-DBUILD_TESTING=OFF \
|
|
-DBUILD_SHARED_LIBS=${{ matrix.build_shared_libs }} \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_INSTALL_PREFIX=`pwd`/prefix \
|
|
-DCMAKE_TOOLCHAIN_FILE=${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake \
|
|
-DVCPKG_TARGET_TRIPLET=${{ matrix.triplet }} \
|
|
#
|
|
|
|
- name: Build
|
|
shell: 'bash'
|
|
run: |
|
|
set -x
|
|
cmake --build out --config Release
|
|
|
|
- name: Install
|
|
shell: 'bash'
|
|
run: |
|
|
set -x
|
|
cmake --build out --config Release --target install
|
|
cp LICENSE prefix/bin/LICENSE.brotli
|
|
|
|
- name: Package release zip
|
|
shell: 'powershell'
|
|
run: |
|
|
Compress-Archive -Path prefix\bin\* `
|
|
-DestinationPath brotli-${{matrix.triplet}}.zip
|
|
|
|
- name: Upload package
|
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
|
with:
|
|
name: brotli-${{matrix.triplet}}
|
|
path: brotli-${{matrix.triplet}}.zip
|
|
compression-level: 0
|
|
|
|
testdata_upload:
|
|
name: Upload testdata
|
|
runs-on: 'ubuntu-latest'
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
steps:
|
|
|
|
- name: Harden Runner
|
|
uses: step-security/harden-runner@fa2e9d605c4eeb9fcad4c99c224cee0c6c7f3594 # v2.16.0
|
|
with:
|
|
egress-policy: audit
|
|
|
|
- name: Checkout the source
|
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
submodules: false
|
|
fetch-depth: 1
|
|
|
|
- name: Compress testdata
|
|
run: |
|
|
tar cvfJ testdata.txz tests/testdata
|
|
|
|
- name: Upload archive
|
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
|
with:
|
|
name: testdata
|
|
path: testdata.txz
|
|
compression-level: 0
|
|
|
|
publish_release_assets:
|
|
name: Publish release assets
|
|
needs: [windows_build, testdata_upload]
|
|
if: github.event_name == 'release'
|
|
runs-on: [ubuntu-latest]
|
|
permissions:
|
|
contents: write
|
|
|
|
steps:
|
|
- name: Checkout the source
|
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
submodules: false
|
|
fetch-depth: 1
|
|
|
|
- name: Download all artifacts
|
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
|
with:
|
|
path: release_assets
|
|
merge-multiple: true
|
|
|
|
- name: Publish assets
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: |
|
|
gh release upload ${{ github.event.release.tag_name }} ./release_assets/*
|
|
|
|
archive_build:
|
|
needs: publish_release_assets
|
|
name: Build and test from archive
|
|
runs-on: 'ubuntu-latest'
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
steps:
|
|
|
|
- name: Harden Runner
|
|
uses: step-security/harden-runner@fa2e9d605c4eeb9fcad4c99c224cee0c6c7f3594 # v2.16.0
|
|
with:
|
|
egress-policy: audit
|
|
|
|
- name: Checkout the source
|
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
submodules: false
|
|
fetch-depth: 1
|
|
|
|
- name: Archive
|
|
run: |
|
|
git archive HEAD -o archive.tgz
|
|
|
|
- name: Pick tag
|
|
run: |
|
|
echo "BROTLI_TAG=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV
|
|
|
|
- name: Extract
|
|
run: |
|
|
mkdir archive
|
|
cd archive
|
|
tar xvzf ../archive.tgz
|
|
|
|
- name: Download testdata
|
|
run: |
|
|
cd archive
|
|
scripts/download_testdata.sh
|
|
|
|
- name: Configure and Build
|
|
run: |
|
|
cd archive
|
|
cmake -B out .
|
|
cmake --build out
|
|
|
|
- name: Test
|
|
run: |
|
|
cd archive
|
|
cd out
|
|
ctest
|